|
Many software projects seem fail or go over-budget from poorly defined or changing specifications. It seems we have excellent tools to manage the delivery of software, but less so at the design/scoping phase.
What are your thoughts of using better tools that leverage, say, Domain Driven Design or BDD (Behaviour Driven Development) that would engage end-users early on? |
If that is the case, surely we can find better ways to uncover the requirements, and better tooling will help solve the problem.
Experience tells me that people don’t know everything beforehand. Thus the key assumption is not valid.
Then the question we should be asking is: how do we most efficiently bring people to where they discover and understand the requirements?
Experience tells me people are much better at giving concrete, specific feedback to a running system than to an abstract requirements document.
Hence iterative development.
In essence requirements are not a document by a process.