Sunday, January 7, 2007

6 x 2 + 1

Our team just started on a +1 sprint and it is going very well. I should explain what a 6 x 2 + 1 is. We normally work in 2 week sprints and deliver production level code at the end of every sprint. We’ve been working in this cycle for close to 2 years and haven’t had a chance to “fix” any past decisions and have accumulated some technical debt.

So the new formula is to work for six sprints (two weeks each) on stories determined by the customer team, but then taking one week to work on technical stories created by development team. Thus 6 iterations x 2 weeks + 1 week. The team is very excited about being able to pay down some of our technical debt. Most of stories we’ve known about and wanted to work on for a long time, but couldn’t squeeze them into the normal two week sprints. This gives a little time cleaning up after ourselves.

I don’t think we’ll be doing the plus one sprints forever, but for a new project it makes sense to plan for it until the team hits its rhythm.

How does your team take care of cleaning up your technical debt? Is it planned for? Is it ever cleaned up? Or do you never make a mistake on the design or the architecture? J