Sprint (software development)
|This article does not cite any references or sources. (June 2011)|
A sprint is a get-together of people involved in a project to give a focused development on the project. Sprints are typically two to seven days long. Sprints have become popular events among some Open Source projects. For example, the PyPy project is mostly developed during regularly held sprints where most of the international developer team gathers.
The sprints are often held near conferences which most of the project team attend, but they can also be hosted by some involved party at their premises or some interesting location.
Sprints are organized around the ideas of the Extreme Programming discipline of software development. The sprint is directed by the coach, who suggests tasks, tracks their progress and makes sure that no one is stuck. Most of the development happens in pairs. A large open space is often chosen as a venue for efficient communication.
Sprints can vary in focus. During some sprints people new to the project are welcomed and get an intensive hands-on introduction pairing with an experienced project member. The first part of such sprints is usually spent getting ready, presenting the tutorials, getting the network setup and ensuring that configuration/source control software and processes are installed and followed.
A significant benefit of sprinting is that the project members meet in person, socialize, and start to communicate more effectively than when working together remotely.
In open source
The practice of using sprints for open source software development was pioneered by the Zope Corporation in the early days of the Zope 3 project. Between January 2002 and January 2006, more than 30 Zope 3 sprints had taken place.
- B. Düring, “Sprint Driven Development: Agile Methodologies in a Distributed Open Source Project (PyPy),” in Extreme Programming and Agile Processes in Software Engineering, P. Abrahamsson, M. Marchesi, and G. Succi, Eds. Springer Berlin Heidelberg, 2006, pp. 191–195.
- c2.com Python Sprint entry