“So, what is it that you do?” the taxi driver asked politely over his shoulder, as we inched our way along the endless line of stationary traffic that is the M80 ring road upgrade. How many times have we all been asked this, and practiced our 30-second elevator pitch to explain what understanding and implementing a complex ERP system for a business actually consists of.
Whenever I’m asked this, I always think back to Phillip G Armour’s article on The Business of Software. Armour made the point that developing software systems was not like traditional production activities such as building a car or a house. The end product for a customer is not software, it is the knowledge encapsulated in the software. He went on to argue that software is actually just the latest in a long line of media for storing knowledge, starting with DNA through to printed books, with the added advantage that software is ‘active’ and can be executed to change the outside world.
Thinking of software as a product in its own right, means focussing on the wrong activities – coding and technical artefacts required by development processes. What this ignores, is the learning aspect of the software business, and the fact that the software is just the best medium (so far) for encapsulating the knowledge that makes each business work. And until you acquire that knowledge, any code you write could be useless – as Phil points out, often we use the software building process as an inefficient, expensive way to discover the knowledge.
One of the insights that thinking about software as a medium for storing knowledge yields for an IT consulting firm, is that it underscores the benefits of having staff with a deep understanding of the business problems, and how to rapidly acquire knowledge about new businesses, rather than just the best technical coding skills. It will be organisations that can develop and retain staff with knowledge acquisition skills, and that have better systems for capturing and sharing that knowledge that will prosper.