Saturday, December 15, 2007

tales from the scrum

Andrew Hedges, UI developer from Vianet.travel, ran a session about a project management method for agile software development called Scrum.

Scrum features:

  • self-organising, cross-functional teams and team members
  • product backlog of prioritised work
  • sprints of approx 2 week long phases/iterations
  • features are called “user stories” (I like this terminology)
  • daily check-ins and catch-up: what I did yesterday, what happened, why I’m stuck, milestones reached
  • pig and chicken metaphor: pigs are committed, chickens are just interested parties
  • a lot of releases means directed, regular feedback

There was some disagreement about whether agile or Big Design Up Front (BDUF) processes are more about achieving client expectations. I think agile as compared to BDUF does require a lot more buy-in from the outset - and trust that you’re not going to end up half way through and find out that there is a different system/website being built than what you expected. A counter point was that no matter where a budget cuts off or timing is rigid, the approach means that features are prioritised so there is always a complete system…there aren’t a lot of loose ends to tie up.

The website Travelbug was built in partnership between Vianet.Travel and Trademe. The first version is now live and the post-launch iterations are underway.

Andrew feels that usability was dealt with by the short iterations and feedback from the client being added in during sprints. Retrospective and planning sessions would be the place to add the stories in.

Scrum is lightweight on documentation - Andrew feels they could have done more business analysis potentially, but a lot of the user stories and commits to the repository were tracked through Mantis.

Design and analysis teams need to be in scrums as well working through issues one iteration ahead of the development to smooth the process. It needs to be very iterative and chunked in small enough cycles - but then also keeping an eye on the overarching vision.