An Analogy For Software

A thought I had while writing a previous post - what is software?. Is it encoded mathematics? Is it art? Is it simply a process that could be carried out by a human but performed much, much faster to make it viable? The reality is it likely a mix of all three, the ratio varying depending on what you are looking at.

The latter example is what interests me the most - we could emulate browsing the web using only humans and fax machines, but it would be so many orders of magnitude slower that it would be unviable. However, the next step to this is that any analogies to deal with human process change or process management are potentially mappable to software design or managing change in software design. This is powerful message when it comes to communicating what technology can do due to it’s accessibility in our day-to-day lives - you want to demystify technology and explaining most technological changes are human processes codified and sped up helps us to manage expectations more easily and explain how technical and feature debt arises.

comments powered by Disqus