Friday, October 31, 2008

Sprint is a bad metaphor...

Some people hear the scrum term "sprint" and get confused. They ask, how in the world do we run at full speed all the time and not get burned out? Well, you have to keep some history in mind. It's a term from Scrum, other agile flavors call it an iteration (thus it's not a blanket term). Also, when people do 30 day sprints, there's a tendency to hear that you should sprint for 28 days, do a review/planning/retrospective cycle for one day, and possibly have one day down time to work on "other" stuff (recognizing that it is hard to keep a heightened pace all the time).

The sprint metaphor is simply supposed to convey that your goal is so close and visible, that you are motivated to put extra energy into trying to reach it. It means that you don't come to work every day for 6 months and chip away at the goal. Instead, it conveys a heightened sense of awareness and focus allowing you to try and grasp at the goal right away.

It doesn't mean you are supposed to go as fast a possible... which is where the name fails. For most people, that is the definition of sprinting.

So, lets talk about the iteration a little bit. Imagine you are a distance runner working through a marathon. You can run the entire marathon without looking at your watch very often and just focus on getting there. If completion is your only goal, this might work for you.

But if you want to finish the race in a certain time, then you need to constantly check your pace. If you aren’t running a 5 min mile on the first mile, then you almost surely won’t have a 5 min mile avg over 20 miles. It’s very hard to make up lost ground.

Software works the same way.

Actually, many runners these days are buying heart rate monitors and other pace measurements so that they know by the second whether they are ahead or behind making their goal.

The real point of the sprint is to have a measurement cycle. If you don’t measure progress frequently, you can’t validate that your predictions are working out. By declaring you will take a measurement on a predefined cycle, you can't allow yourself to fall into a deep hole of trouble before realizing you need to dig yourself out of it.

That, in my opinion, is what the sprint concept is about.

2 comments:

  1. Totally agree that "sprint" is a terrible metaphor. I've rarely run into a Scrum group that wasn't suffering to some degree from this (either on there own accord or via that of their management pressure). Combine this "run extra hard all month" misperception with often neglected idea to run consistently, smoothly, and *sustainably* - then add in a dose of neglected "down time" between "sprints"...and you've got a never-ending literal sprint. And you've got tired, bitter, useless teams. Glad you wrote this up, thanks!

    ReplyDelete
  2. Thanks for the feedback, and thanks for picking this up on InfoQ!

    For those following along, check out the article published today on this topic!

    ReplyDelete