Wednesday, May 7, 2008

Sprint Length vs. Team agility

A practical measure of agility: What is the minimum time that a team (or a company) needs in order to deliver an increment of business value to its customers? This is more formally known as "minimum cycle time."

Example: Your sprint duration is 4 weeks. So how long does it take to deliver an increment of business value (where that increment is doable in the course of a single sprint)?
  • Best Case: 4 Weeks (request arrived just in time to be included in the next sprint)
  • Worst Case: 8 Weeks (request has to wait out a full sprint before being prioritized)
  • Average Case: 6 Weeks (1 1/2 * sprint length).
Why? It's clear the team needs the duration of one sprint to realize the functionality, but under normal circumstances, the team can only start processing a request when that requested is included in the planning meeting at the beginning of the sprint. So it has to wait until the start of the next Sprint. That duration depends on where you are in the current sprint: beginning, middle or end.

By mainting a constant 4 week sprint duration, you can guarantee to management or to customers an average response time of 6 weeks, and a worst case of 8 weeks. If the sprint duration is variable or not defined, it is very difficult to measure or calculate how agile the team is, which is probably a synonym for "not very".

BTW - there are a variety of strategies for improving this measure of agility: shorter sprints, multiple teams with overlappying start dates (you're never more than 2 weeks away from a sprint planning, so you average response time is reducted from 6 weeks to 5 weeks, and the worst case from 8 to 6 weeks).

2 comments:

MrsCross said...

Hello,

I'm new to scrum and agile development and we are working towards implementing this where I work.

Would you please explain this with a little more detail?

Thank you,

Jackie

Peter said...

Hi Jackie,

Thanks for the suggestion! As a first step, I put up a poll to see what scrum teams are actually doing.

Did you see my post How long to Sprint? It deals with many of these issues.

Or do you have a specific question?

Cheers,

Peter