Although the “building software is like building a house” analogy is tired and limited, I’ve just experienced first hand some valid parallels.
Many years ago I worked in an office where someone posted an article in the kitchen area about the importance of planning technology projects. It used the “building software is like building a house” analogy to poke fun at people who demanded the impossible from tech teams (time, money, features) and yet who wouldn’t ask the same on a building project. I was never really comfortable with that analogy, and it seems that many others aren’t, either. [1, 2, 3, 4]
But living through a building project right now has shown a number of areas where there are fair parallels. These include
- the value of teamwork;
- the value of highly skilled, flexible professionals;
- some of your plans being over-cautious, and some new issues arising unexpectedly;
- “an informed client is a better client”, as one of the team said;
- you only really know what you want after you’ve lived with it for a bit.
This last one has become apparent only over the last couple of days, as we’ve been living in the house and finding we need a few extra light switches. Since we’ve moved in before it’s complete there is scope for change—it will cost money, but not as much as if we’d moved in and discovered it after all the plastering and painting had been done.
In this sense some building projects could learn a bit from software development: too many parents and teachers in the UK are familiar with schools being built and used, but which are actually poor learning environments.
So next time you encounter the house building analogy, while you should be aware of its limitations, it’s good to recognise the parallels that are there.