Scrum
Steven J Zeil:
Last modified: Dec 21, 2019
Abstract
An agile approach characterized by
- small teams with a few distinct but clearly defined roles
- Development cycles through sprints of 7-30 days
- Planning meeting at beginning
- Daily scrum meeting (< 15 min.)
- Sprint Review meeting at end to review work completed (or not)
- Sprint Retrospective meeting at end to discuss process
In this lesson we will look at the component activities and strategies of Scrum We will pay particular attention to the ways in which Scrum differs (in practice or in emphasis) from Extreme Programming.
Scrum in Context
As the name suggests, Scrum
- focuses a bit more on the team than on the tools
- envisions a kind of controlled chaos
1 Values
-
Transparency
- Process must be visible to those responsible for the outcome
- Common standards contribute to understandability
Examples:
- ubiquitous language
- definition of “Done”
-
Inspection
- Scrum participants inspect one anothers’ work
Contrast with XP’s pair programming
- Scrum participants inspect one anothers’ work
-
Adaptation
- Inspections lead to adjustment of process (not products)
2 Practices
2.1 Scrum Teams
-
Product owner
- representative or agent of stakeholders
- manages the project backlog (list of unimplemented work)
-
Scrum master
- interface between project owner and development team
- aids project owner in arranging backlog
- ensures that development team adheres to Scrum practices
- removes impediments to team’s progress
- “facilitates” Scrum events
-
Development team
- 3–9 members
- must span required skill set
- any internal roles are self-organized
2.2 Scrum Events
2.2.1 Sprints
- 7–30 day, time-boxed iterations
- produces a new product increment
- focused on a Sprint Goal
2.2.2 Sprint Planning
Held at beginning of sprint:
- What will be delivered in the next increment?
- Stories selected from project backlog
- defines the Sprint Goal
- How will the work be done?
- Work planned for first few days of spring
- Decomposed into tasks.
2.2.3 Daily Scrum
-
15-minute daily meeting
-
Each development team member explains
- What did I do yesterday?
- What will I do today?
- Are there any impediments that will prevent us from reaching the Spring Goal?
2.2.4 Sprint Review
- Held at end of sprint
- 4-hour time-boxed meeting (for 1-month sprints)
-
Product owner
- explains what items are Done and not Done
- Reviews the new state of the project backlog
-
Development Team
- explains what went well and poorly
- demonstrates the increment and answers questions
-
Entire team
- discuss what to do next
- discusses external changes
2.2.5 Sprint Retrospective
- After sprint review, before next sprint planning
- 3-hour time-boxed meeting
-
Team inspects its own performance
- people, relationships, process, tools
- Identifies potential improvements
- Sets quality goals
- adjusting definition of “Done”
2.3 Backlogs
2.3.1 Project Backlog
- Unimplemented requirements
- often, but not always stories
2.3.2 Sprint Backlog
- Unimplemented tasks that are part of the Sprint Goal
- Managed on task board
2.3.3 Burndown Charts
A burndown chart shows amount of work remaining in the sprint backlog
- updated daily
- displayed in team work area
- provides visual indicator of progress
3 Scaling Up
An extension to Scrum for larger projects:
-
Scrum of Scrums
- Each Daily Scrum appoints one team member to serve as the day’s “ambassador” to a daily Scrum of Scrums meeting
- Same basic questions as Daily Scrum, adjusted for team level
- What has your team done since we last met?
- What will your team do before we meet again?
- What impediments (especially those that will affect other teams) does your team foresee?