Hacker News new | ask | show | jobs
by jinglebells 2316 days ago
I'm not sure it answers your question but in software, the requirements are almost never codified up front because extracting the rules is part of the project.

In terms of the dog-house, there's that rule "Build one to throw away". Since no two software projects are similar, the only way to truly know what you're building is to build it, see what works, throw it away, then build it properly.

Part of what makes software so good is that you _can_ upgrade the skyscraper while people are in it, metaphorically hardening floors or adding new levels.