10 February 2010
Emerge ground up or build to plan?
Arguments for how to manage software requirements tend to be polemic, because it's easier to argue against something than for something.
Waterfall development manages requirements from an up front plan that is fixed in scope, schedule and budget. Planned up front requirements (and projects) doesn't work because the plan doesn't accommodate the unknown.
This statement made on the foundation ideas that change is natural, and the best way to understand business requirements is in response to a system as it emerges. Both of these positive statements are true enough.
The headline statement that planned requirements don't work is polemic.
Polemic is an argument technique where you define something and then demonstrate how it is wrong. Polemic doesn't tell you what is real, it simply tells you how a position, often a hypothetical or imaginary one, is wrong. Polemics have a place in debates, but should be used by people who understand them.
The underlying premises are true (at least in my experience and in the literature.) It is true that people's understanding of what they want from a system will evolve and mature as they see it emerge. And it is true that change to requirements is natural and almost unavoidable for any project of substantial size.
The answer is not to 'not plan', but to plan with a view to accommodating change.
And just so you are clear on this; Popular writers and bloggers are polemicists. Controversy drives traffic. Don't just believe what you read on the web. We are probably trying to sell you something.