I have just read chapter 2 and, while I agree with it in general terms, I find a piece missing. If you rebuild a wall, you need to order more bricks and you need to allocate more time. If you rewrite a piece of software your keystrokes may be free, but your time is not. Software is clearly more flexible, but not infinitely so.
Thanks for your feedback! Let me give you a few thoughts to chew on…
In this chapter, I argue that planning extensively in the beginning has a limiting effectiveness – at a certain point, the further you plan for down-the-road details, the return on that time isn’t nearly as good as simply investing that time into building the software itself. Functionality and priorities change as you get the software out into the world and see how users react to it. A lot of what you planned for doesn’t manifest; A lot of things you never planned for actually become the reality.
My argument here is that the metaphor is taken too far - the reason you must plan in those other industries is that there really is very little room for any kind of flexibility. There’s not much other option than to get it right the first time. Users know that. If you are a tenant in a building with very thin walls, you know that this isn’t going to be an easy fix - it’s a problem you probably just have to live with. The expectation from users is different with software.
Another way to think of it - time isn’t free in software, but it’s better spent building rather than planning because it’s easier/faster to test-and-fix outcomes in development compared to planning-and-hypothesizing outcomes.
On the subject of time, I’d be very curious to know what you think about Essay 43: Value is Much More than Time.
Thanks for reading!