2 ms·
On the author’s circular specification problem, there’s an aspect of this that happens in physical disciplines also. We build houses and conduct surgeries, and
by halfcat 2y ago
On the author’s circular specification problem, there’s an aspect of this that happens in physical disciplines also.
We build houses and conduct surgeries, and planning helps the doing, but doing also helps the planning. One difference is those things are not freely replicable and there are physical costs to building copies or building exponentially improved versions of physical things. So we tend to build roughly the same thing over and over. That iterative feedback loop has been running for decades or centuries, informing the process to the point we can now estimate pretty accurately what it will cost to build a house and estimate how long it will take.
But software is freely copyable. One person can build something and share it with everyone. If it’s widely useful, it gets made into an app, library, framework, or language. We are never spending decades in the plan/build loop honing the process of building the same app over and over. We are, in a sense, perpetually on the forefront building something that hasn’t been built in exactly this way before, and the only way to build the new thing is to plan a little, and build a little, and iterate on it. And it often goes about as well as the first time someone tried to do surgery.