Monday, August 4, 2008

More on Agile

We are winding up this project which has been run as an Agile/Scrum endeavor and I thought it might make some sense to comment given my previous post on this methodology.

So far the results seem to be better than I anticipated though the final run of testing will validate that one way or the other. The team moved in a fairly regular way through six two-week sprints, each starting with a sprint planning session and ending with a sprint review.

Each morning begins with a 10am update call and all progress and 'impediments' to progress are covered. These calls are usually twenty minutes, sometimes less. They are not about solving problems but all about keeping everyone connected and up to date. This is a very good thing.

The sprints have stories and each story has points. We have the team assign points during the planning session and this gives us a sense of the time it will take to complete the stories.

However, an incomplete story from the prior sprint will have all it's points rolled forward into the total for the next sprint so tracking a good points/sprint number or 'velocity' is a little bit of an art.

What has worked well are the calls, the constant reprioritizations and the planning/review sessions. Formalizing these as Agile does, is key to good management of a project.

However, it should be noted that Agile is really best suited to a project and team that want to get started immediately and have not done much analysis. There is probably a costs saving as the analysis more easily falls out of each sprint and as the team get up the curve the estimates get better.

I recently found this set of principles which seemed well thought out and, while somewhat obvious, needful of being written down.

In summary the methodology seemed to work pretty well and the refinement opportunities presented by the continuous reviewing and reprioritization work as a good way to keep the project lean and on target.