CS 415 - Agile Game Development

Sprints

Reference: Clinton Keith, Agile Game Development with Scrum, Chapter 4.

The Big Picture

Basic rules of sprints:

Sprint Planning

At the start of a sprint, teams meet with the stakeholders of the project to plan the next sprint. Planning a sprint requires two meetings: the sprint prioritization meeting and the sprint planning meeting.

The goal of the sprint prioritization meeting is to review the high-priority items on the product backlog and to select a potential sprint goal. The team needs to understand each PBI. This is the team's opportunity to raise any design questions. The team selects the top PBIs from the product backlog they think they might accomplish given the current composition of the team. Reasons for skipping PBI's: lack of qualified personnel in the team and dependencies on implementation of PBI's by other teams.

During the sprint planning meeting, after identifying potential product backlog items for the sprint, the team breaks down the tasks from each PBI, one at a time, to build the sprint backlog. The participants in this meeting include the entire team (including the ScrumMaster and product owner) and any domain expert who may be needed to answer questions or help the team estimate their work better. The ScrumMaster helps the team identify constraints that might impact the team's ability to commit to the sprint goal. The team then discusses design and implementation details for every PBI that is potentially part of the sprint goal. The team starts creating a sprint backlog by taking the highest-priority PBI from the product backlog and breaking it into tasks.

Teams Working on Sprints

Sprints typically last two to four weeks, but many factors need to be taken into account:

Teams new to game development, agile, or working together should start with shorter sprints. This enables them to iterate on the practices and learn how to develop more iteratively and incrementally. Teams new to Scrum should be discouraged from practicing longer sprints because they tend to approach a sprint like a mini-waterfall project. Experienced teams will design, code, create assets, test, and debug every day. Working this way creates better results and enables the team to iterate more during the sprint and increase the value of their work.

Tracking Sprint Progress

During a sprint, the team needs to share information about their progress and identify any impediments to their sprint goal. The team needs to have the proper information to make the best decisions. They need easy access to the sprint backlog of tasks. They need to understand where they stand in terms of achieving their goals. They need to recognize as early as possible when they won't achieve their goal.

Daily Scrum Meetings

Each day, teams gather for the 15-minute timeboxed meeting to:

Sprint Reviews

The sprint review occurs on the last day of the sprint.The review brings the team and stakeholders together to play the game and discuss the work accomplished. During the review, the product owner accepts or declines the results of the sprint. If the results for a particular feature are declined, then the product owner decides whether it returns to the product backlog or is deleted.

Sprint Retrospectives

The retrospective meeting occurs after the sprint review to apply the "inspect and adapt" principle to the way how team members work together and apply Scrum. The goal of the meeting is to continually improve how the team creates value for the game. This is accomplished in the retrospective by identifying beneficial practices, stopping detrimental practices, and identifying new practices to be tried in the next sprint. The following three questions are raised at the meeting:

Sprint Failures

A sprint reset allows the team or the stakeholders to declare that the sprint goal needs to change or that the team is unable to complete that goal by the end of the sprint. When a sprint is reset, all of the incomplete PBIs are returned to the product backlog. Code and assets in development are regressed, and the team and stakeholders return to sprint planning. This is very costly and should not happen often.

Teams may fail for two main reasons:

Hitler at a sprint review video