Training courses may be an unlikely source of inspiration but I was on one last week and I found some quite out of the blue. We were practicising presenting arguments and the chosen topic was when Agile development is right and when waterfall is right. Actually - except where all that matters is writing a contract - I don't think waterfall ever does win but that's a debate for another time.
James came out with the line that waterfall is a "fail late" methodology.
What a great line that is.
For those of you who've not be dosing up on the books, a brief explanation. Waterfall is in many ways the "classic" project management approach. You spend ages upfront cooking up a plan, making sure you've thought through every detail and potential contingency. You then tuck in and do whatever it is your doing (software development for the sake of this argument). Finally you review you work and make sure you ticked all the boxes. It sounds great. But the reality is that - especially in complex project like software, it often fails to deliver on what was wanted at the start of the process, and almost certainly fails on what is wanted and needed by the end of the process.
The argument goes that it was simply asking too much up front. If such a flawless plan is possible at all, it's going to be a Hurculean task, and - as we all know - things change rapidly, especially when you've got the real feedback of a great development team on what can be done and what should be done.
A feature of waterfall methodology is that whilst the mistakes will be made throughout, the crunch point where we all have to admit we're up to our knees in doodoo happens at the end (sometimes many months or years after the project started).
Increasingly, companies are recognising the need to fail fast and move on. It has even become a bit of a mantra in the VC and marketing worlds.
Of course, that doesn't mean you have to mean failing completely and utterly, having some sort of monumental car crash disaster. It might mean picking up a potential customer need and trying to solve it, and seeing how it goes down. It might mean looking at a feature to improve shopping conversion, or an extension to Facebook.
Do we aim for failure. Of course not. Is there disgrace in failing? No, to err is human. But if you're going to do it, you should at least get it over and done with as quickly as possible.