As discussed earlier, everything is time boxed in agile. So, is the sprint. A sprint is a cycle of maximum 30 days, during which an increment of the product is really built. I have worked with weekly, fortnightly and monthly sprints. The duration of the sprint is determined by several factors such as;
- Theme of the sprint
- Current version of the product
- Size of the features
- Amount of functional risk involved
- Amount of technical risk involved
- Degree of teaming
- Trust level between the product owner and the development team
If the product is in the earlier phases of development I recommend shorter sprints, and once the technical, functional and teaming related risks are addressed, the teams can switch to longer sprints, still not exceeding thirty days.
Every sprint starts with a sprint planning meeting, which is time boxed to 8 hours for a thirty day sprint. If the sprint duration is lesser, there could be a small decrease in the sprint planning meeting time. However it is very difficult to conduct any meaningful sprint planning meeting within 5 hours time. The sprint planning meeting is attended by the product owner, scrum master, development team and other special invitees.
During the sprint planning meeting, the following happens;
- The product owner explains the prioritized list of features to be developed during the sprint
- Product owner clarifies all the queries regarding the functionality
- The team estimates the story points for the stories associated with the prioritized features
- Matches the story points to the story points achieved during the previous sprint (velocity)
- Once there is a lock in (agreement) on the features that can be developed during the sprint, the team breaks the stories to tasks and estimates the effort required. Unlike traditional models, there is no need to strive for lot of accuracy for the task level estimates, as the engineers are allowed to revise task level estimates every day of the sprint, based on their hands on experience with the task.
- Before the completion of the sprint planning meeting, based on the task level estimates, it will be useful if the team can compare across the stories. The cumulative effort of the stories with higher story points must be more than the ones with lower story points. It will be useful, if we just look for patterns.
- The output of the sprint planning meeting are the agreed upon features, associated stories, their story points, associated tasks and the task level estimates.
This data is used to plot the tracking board and the sprint burn down chart.