Things have been moving pretty quickly and the weblog has been on the back-burner, but I thought I'd send out a brief status report of all the major changes we've been making with our Agile process at HMS:
- XP/TDD: Our R&D group has been using XP & TDD for a few months and other teams are following. The consistent feedback I get is that the initial fear of pair-programming and TDD quickly fade. In fact once you are "infected" with the bug to do TDD, you won't go back. I see now the necessity of doing pair-programming; the low-level yet persistent discipline to doing TDD the right way is reinforced when your partner is watching you ;)
Velocity for each programmer doing PP/TDD is about 60% of normal, but the code quality and stability pays for that 40% & more.
- User Stories: Our consultant (Mike Cohn) gave a class on User Stories and it was very useful. By following some of the simple templates/rules for user stories, teams and customers can greatly narrow the assumptions made in Sprint planning.
- Two week Sprints in early product development: We switched to two week Sprints based on the rule of thumb to make Sprints only as long as your customers can keep their hands off the team. I swear the velocity is almost the same as month long Sprints...so many things have changed that it's hard to know the reason for the increased velocity.
- Long term planning: this was a workshop following the User Story class. We were introduced to a great method of estimating user stories in terms of "story points" which is a relative rating of the difficulty of stories or "Epics" (larger stories that cannot fit in a Sprint. The method involves groups of pigs and chickens raising story point cards (the larger the number, the harder the story) and then discussing the assumptions to work out the differences. When your product backlog is planned out (Mike suggests in 6 month releases) then you can burn-down and measure story point velocity on a Sprint to Sprint basis. Very useful and Agile method.