An Introduction to Sprinting

What is a sprint?

A sprint is a focused development session, in which developers assemble in small groups in the same physical location and focus on a particular task. A sprint is organized with a coach leading the session. The coach sets the agenda, tracks activities, and keeps the development moving. The developers often work in pairs using XP's pair programming approach.

The sprint approach works best when the first few hours are spent getting oriented -- presenting a tutorial for the development material, laying out the stories to tackle for the day, getting everyone a CVS or SVN checkout to work with.

ZopeMag's miniGuide to Zope Sprinting is a good introductory article; just mentally remove every "Zope" from the article to make it generic.

Steve Holden has a good article in O'Reilly's OnLamp Python Python DevCenter on how to run a sprint. This installment of a monthly column gives more background.

Why sprint?

Sprints are intended to benefit a projects by getting people working in the same room and making decisions quickly. They're also a good opportunity to spend 4 or 8 hours concentrating on a task, and to encourage more people to take part in development. They will also be a good place to see ExtremeProgramming or other AgileMethods in action, and to work closely with experienced project developers.

If you wish to participate in a sprint, please contact the sprint organizers in advance, or add your name to the list of participants for a given sprint. It's important for organizers to have an idea of how many people will be participating.

What equipment and supplies do sprints need?

The minimum requirements are:

Commonly available:

Optional:

Sprints

Here is a list of some recent sprints organized by corporations and user groups around the world:

SprintIntroduction (last edited 2008-11-15 14:00:30 by localhost)