The 5th Iteration
The 5th iteration was fatal.
I’ve spent the last 2 months in a very interesting project. On one side a traditional customer used to big architectures up-front and fixed bid projects and on the other a first time agile team. Of course one problem was to sell the small increments of the application to a customer expecting just a long-term release cycle. Even if the customer was happy to see the showcase at the end of the iteration and increments of the application day-by-day we suffered from the unavoidable paradigm impedance mismatch.
Symptoms are “process smells” appearing here and there. For example “user stories” introduced to enforce an architecture that the customer perceive as important. Or the need to cut off some pairing time to develop in parallel. Or situations where the team is informed that they won’t reach the deadline and they are asked how to improve velocity. More in general I’m talking about discussions to abandon an agile practices because “they are slowing us down”. These process smells are the management failure of predicting requirements that are in fact changing over time.
This is also the situation where the role of agile coach loses its meaning because the fact of getting things done is way more important than the way the goal is achieved. I also think it’s the failure of the idea that it’s possible to sell a fixed bid project as agile when it’s also fixed scope at the same time. So I’m no more involved in the project, not because I decided, but because my frustration has been perceived as negative for the good health of the team. My plan was not really different, but I was curious to see the end of the release. Damn, I missed that and I don’t want to make the same error again.
I know James Coplien believes that “TDD done strictly from the YAGNI principle leads to an architectural meltdown around iteration three”. I don’t believe that, but I can re-phrase the same sentence to say: a fixed-bid, fixed-scope agile-project leads to the typical process smells around iteration five. Can I push this a little further? A fixed-bid, fixed-scope agile project will gradually move to a non-agile project starting from iteration five and finishing the metamorphosis around release one. Of course it will be always sold as agile.
The good news? I’m back to Rails :)