Yesterday’s post got me thinking. (See Estimating Is Hard But The Business Needs to Know.) Can you be 100% correct and yet be completely wrong? Regrettably, yes you can.
Let’s say you and your team are waterfall experts. You are the best of the best. During project initiation, your team can precisely estimate:
- How long the project will take
- How much it will cost
- What the screen flow will be
- How many pages of documentation will be written
- How many lines of code will be needed
You get the idea. This team walks on water. How can they possibly fail?
Failing is easy.
End users have a notoriously difficult time envisioning what the software will look like and how it will operate. They may perfectly describe what they want. They may even offer examples of software that they like.
Yet when the final software is delivered, they will often react with surprise or confusion. This is particularly true if the software development cycle is longer than a few months. We all forget, change our minds, find something we like better, improve our processes, etc. Whatever you were told months ago, may no longer be valid.
[Side note: This is where the arguments start. Development pulls out documents and approvals to show that they delivered as requested and promised. The users pour over communications archives looking for the smallest discrepancy. The battle lines are drawn.]
Agile development is the solution.
How do you avoid this confrontation? Be agile. Get into the fast lane. Deliver early. Deliver often. Keep the users involved and engaged.
Waterfall has its place but the fast lane is not it. Please keep right (or left of you’re in Great Britain).
[PS. To be fair, the above scenario wouldn’t happen if the development team was enhancing an existing application within a relatively static environment. Waterfall development really does work in the right situation.]