I got a great question from someone taking my Udemy Agile Samurai Course about they merits of Waterfall and whether it could ever really work.

Here is the answer I wrote back.

Hi XXX – great questions.

Waterfall served us very well for over 40 years, and still continues to serve people well today. I travel and teach a lot all over the world. And I can tell you Waterfall is alive and well in places like Japan and India. But even in North America and Europe it is still used by many.

First let’s make one thing clear. Agile is no silver bullet. You can fail on an Agile project just like you can on any waterfall. The only difference is you will fail sooner (which for some is a good thing).

What’s made Agile rise in popularity over the last twenty years or so are several things:

1. Computers got faster.

We used to have to spend a lot of time getting everything right upfront, because the punch cards containing the code used to program early computers needed to be pretty much perfect. One wrong card and your program would fail. So we put in a lot more effort to get things right.

2. The cost of change dropped.

Related to this was the fact that day, we have ways of developing software that we could have only dreamed of 30 or 40 years ago. Just-in-time compilers. Databases on everyones desktop. Mobile phones. All of this would have been fantasy not so long ago.

But now the cost of change in re-programming these devices has radically dropped. We can deploy websites in mins and seconds. As opposed to the weeks and months it used to take. So we no longer need to get everything right up front. Now we can deploy and learn.

3. The speed of business has changed.

Business needs have forced us to come up with ways of adapting faster that Waterfall could handle. That and the fact that…

4. Our customers don’t always know what they want.

Means we need a way to allow our customers to change their mind as they develop the system. This is the radical departure from the past and the biggest difference between Agile and Waterfall. Waterfall pressures you do get everything right up front because it assumes the cost of change is hight. Today that is no longer true. The cost of change is low. Which means business can learn and discover what they true requirements really are as they develop the software.

This is scary. Especially for Waterfall folks who are so used to having to get everything right upfront.

If you are just beginning your Agile journey, my advice is to try Agile out on a small project, see how it goes, and start there. This is a cultural thing as much as a personal thing. Not all companies like or are ready for Agile because it really changes the way you and your teams need to work.

But it’s becoming more popular because business and realizing they now have less choice. And that if they can manage expectations in such a way that defines the success of a project as being more than on time and on budget, they get better results from their software efforts.

Great question. Good luck with your journey.

Jonathan

Advertisements