A sprint is a set period of time broken out from a project’s overall timeline with associated tasks to be completed during that period of time. That list of tasks is referred to as the sprint’s Product Backlog.
The ideology behind a sprint allows a larger timeline to be easily broken into smaller, more digestible pieces in order to focus effort from all stakeholders on a few logically scheduled tasks at a time.
All deliverables from a sprint must be accepted by the key stakeholders prior to moving to the next sprint and a project will have multiple sprints until scope has been met.
In most cases, a sprint begins with a planning meeting where the person or persons requesting the work meet with the developers in order to determine what work can realistically be completed during the time period, or sprint, being discussed. The developer will generally have the final say on what work will be completed during the sprint.
In some organizations these meetings will be overseen by either a Scrum Master or a Project Manager in order to ensure the overall goal of the project has been met after all sprints have been completed.
Sprints, on average, will last as much as 30 days or as little as a 7 days depending upon both the size of the project, the number of tasks to be completed, and the number of resources available to work on the sprint’s tasks.
In addition, in some organizations developers will meet daily to discuss project progress, needs, and roadblocks. These meetings are sometimes referred to as SCRUM meeting or Daily Stand-up Meeting. The person or persons are sometimes invited to listen however they are only in attendance as observers.
The above is an example of a sprint plan which has been laid out in six 30 day sprints. You can see that there is a Sprint Dev in each of the six sprints but from Sprint 2 on there is something labeled as a Sprint # Increment.
The Sprint Dev is a representation of the development going on during this sprint while Sprint Increment is a the sum of all product backlog items that were completed in the current sprint and all previous sprints.
Properties of a Sprint
- A sprint should not be terminated prematurely if at all possible. If the stories within the sprint become obsolete, the team may decide to close them and pull new stories off of the product backlog.
- The team works to break up the User Stories, a non-technical description of what the user expects to see and/or do, to a size that can be completed within the duration of the Sprint without carrying over to the next.
- “Sprint” and “Iteration” are often used interchangeably.