The Cost of Modularity
Lego is such a great thing because it is made of simple components. When you build something out of it you can take it apart and build something different out of it. It is fun. If a piece breaks you can take the model apart, replace the broken piece and reassemble the whole thing. Great.
Of course this modularity comes at a price. Building the model of a fighter jet from Lego is much more difficult then building it from a plastic construction kit. Also the result of any Lego based attempt will look a little ‘bricky’. On the other hand, try to build a ship out of your fighter jet construction kit.
So there are benefits to modularity and there are benefits to sacrificing this modularity.
This is pretty obvious, isn’t it?
Yet in software development modularity is required almost every time, without considering the cost of modularity.
Also in software development modularity is sacrificed to budget and time pressure immediately, often before testing and documentation, also without considering modularity.






Nice analogy. However, there’s a massive difference between the physical and virtual world. Modularity is essential because of the absence of constraints in the virtual world. Removing those constraints of course makes development quicker, however the sacrifice is of course a loss in flexibility.
Absolutely. It is a trade of. But in most projects I have seen there is a requirement of 100% modularity, a delivery of 0% and an actually need of x where 100% > x > 0%.
low cost, very high price.