Agile or Waterfall
I love numbers. Numbers are hard to argue with. When you have statistic in your hands you have a very powerful tool to work with.
In 2017, after 16 years of official “Agile Implementation” people are still asking the questions like “we have new project, should we use Scrum?” or “we have a negative experience with Kanban so we have to switch back to Waterfall”.
I have made a bit of home work and investigated Standish Group’s Chaos Reports. As you may know these guys are making the deep analysis of the key success/fail factors in IT industry since 1994. Each of their report contains % of all analysed projects in 3 categories: failed, challenged and success. I’ve investigated all reports from 1994 available as a public information in the internet. Here are the results.
Overall Success Influence of Agile in IT Industry
Agile came at 2001. First report came at 1994. Lets take a look to success rate starting from 1994.
Did Agile bring some new tools that made us more successful overall in industry? No.
Overall Success Influence of Agile by Project Size
Lets take a look more closer. If globally nothing has been changed, why people are so curios about Agile? The answer is in project size.
Now we can see the dependency — if project size is bigger Agile has more value than Waterfall. Success rate of Waterfall is going down dramatically if project size increased. The more complex solution you are trying to build the more Agile is relevant for your needs.
There is almost no difference between Agile and Waterfall for Small Projects just due to the fact that in most of times these projects are well-known. This happens due to two major facts:
- Bigger project complexity means more clarifications (and communications) we have to make
- Long time to market in Waterfall means critical postponement of end user feedback and high probability of failing business requirements. Long feedback loop is killing.
Dave’s Snowden Theory of Complexity
Dave documented his theory (known as Cynefin framework) at 2000.
This Theory explains where you can use Agile and where you can skip it.
For Known use Waterfall. If you know how to do it, if you did it successful before use Waterfall.
For Knowable & Complex use Agile. Agility is a killer feature in this case. Flexibility is key success factor of your project overall success.
For Chaotic use wherever you can. This is the place of new Frameworks definition. This is the place where Agile was born, Less was born, SAFe was born. This is the place where you can invent something new.