So there has been some critique on the builder analogy.
And a lot of it is deserved.
But one place where it is right; and not often referenced is how the builder comparison applies to current builders.
Current builders are not really what software likes to compare itself to; the software profession prefers to have a more romanticized view of builders. The comparison tends to be done with the builders tends to be done with builders from the middle ages. Where there were craftsmen, guilds, architects and cathedrals were being build. Not with the current builders where apartment buildings are being put up in under 6 months by the cheapest labor around and a result that looks very similar to a building 3 blocks over.
So lets looks at current builders
- Chances are that everything is subcontracted from the HVAC, to architecture to cabinets & floors
- Chances are that the builder, and almost everyone that is involved in the project is not an employee of the final occupant
- Chances are that the building is constructed from many prefabricated components
- Chances are that the building is created from a relatively standard architecture
So lets compare that to current software construction
- Chances are that everything is done in house
- Chances are that the developers are an employees of the builder
- Chances are that the project is constructed from many custom made components
- Chances are that the projects is created from a custom home made architecture
Why did builders switch from this craftsmen mentality to a subcontracting mentality? Not only that, why did builders make this change while it is much harder for construction to make this switch than for software. First of all buying sub components still requires raw resources for each unit bought; no matter how many cabinet doors you buy, the cost can never fall below the cost of the wood it takes to make the door. Whereas for developers the cost of replicating sub components can approach 0 when volume is high enough. The cost of replicating an architecture is already near 0 as most can be found on the internet at no cost.
An interesting side note is that one part of the industry does seem to follow the concept of current builders. And surprisingly it is the game industry, the game industry. Just read a current project and see all the different studios that do small pieces of a big project on behalf of a publisher. Some studios do level design, another renders hair and a following one provides a physics engine. And the funny thing is; we think it’s normal.