Recently I attended a talk by Clarke Ching, of Agile Scotland, at which he showed many places where Agile was better than Waterfall. One of the themes was that Agile will surface architectural failures earlier and cheaper, as an architectural failure will surface on the first end to end test on the first iteration.
In general, I agree with everything Clarke said at the meeting, and I do believe that Agile is better than Waterfall in almost every regard. However, I did come across a situation recently where the problem would have surfaced earlier and cheaper using Waterfall than it did using Agile. The situation is one in which the Subject Matter Expert (SME) turns out not to be an expert in the subject under consideration in the iteration!
We start our iterations with a one day workshop where the functionality, business rules, design decisions and acceptance criteria for the iteration are agreed. In this particular case, this was iteration 7 and we were, something like, 105 days into a 180 day project. We started the meeting and were told by the SME that they didn’t really know how this particular business function worked. So that’s that iteration gone. The SME then had to take advise from industry, off-line, and get back to us with a set of requirements, which extended the iteration past its budgeted number of days.
Now, in Waterfall, this lack of knowledge would have surfaced during the preparation of the documentation, right at the start, before coding began and could have been rectified more cheaply. So, you see, Agile is not a magic bullet, you still have to manage it carefully.
Tags: Agile, Scrum