Waterfall to Agile

Note: This article is updated at Waterfall to Agile.

As I help more people go Agile, I try to simplify the most important concepts.

For me, one of the most important changes in Agile is what it means to the product development cycle.

I think a picture is worth a 1,000 words.  I’ve put together a couple of simple visuals to show what it means to go from a Waterfall development approach to an Agile development approach.

image

Contrast the Waterfall Model with the Agile Model:

image

With these visuals, I attempted to show a couple of key ideas:

  1. Waterfall uses serialized phases, where one activity doesn’t start until the previous activity completes.  Agile shifts to a focus on iterations, where each iteration performs activities in parallel (such as requirements, design, development, and test).
  2. Each iteration produces a build.  Rather than wait until the end, throw something over the wall, and hope it meets expectations, the output of each iteration can be used to validate with users, as well as deliver incremental value.
  3. By moving away from Big Design Up Front (BDUF) and way from Big Bang at the end, Agile helps to de-risk the project, respond to changing requirements, and flow value along the way.

If you need to keep up with the pace of change, deal with changing requirements, keep up with user demands, while shipping value faster, Agile might be what you’re looking for.