Tuesday, November 20, 2007

So what is the difference between Agile and Waterfall anyway?

Could you tell us what the difference between Agile and Waterfall?

Sure, Agile guys are super laid back, and waterfall folks are really uptight :) No, that's not true, I know lot's of uptight agile guys too!

There are many differences between Agile methods (XP, SCRUM, Crystal, etc) and traditional "waterfall" methods, and a whole book could (and should) be written about it, but there are a few things that stand out for me (these are not all inclusive by the way).

- In an Agile environment, budget and time are fixed around Releases and Iterations, and scope (within each Release) is negotiable.

- In a waterfall environment, scope is fixed and both budget and schedule are negotiable (no one wants to negotiate these, but they do).

- In an Agile environment, a complete lifecycle is executed incrementally and iteratively against a subset of requirements during each iteration, enabling both the business customer and the development staff to learn along the way. These small sets are delivered to customer in useable chunks.

- In a waterfall environment, the requirements are fixed at the beginning, extensive planning is done, and all changes are managed through a formal change control process. The entire set of requirements is completed, the code is designed, built, and tested, and then delivered.

Finally . . .

- In an Agile environment, they pride themselves on focusing more on development and less on documentation (for better or worse)

- In a waterfall environment, most everything is written down, many times (for better or worse)

Both of the last items are problematic, but that seems to be the behavior.


No comments: