Scrum and Agile Software Development Reading::, by Deemer/Benefield/Larman/Vodde
Scrum and Agile Software Development Reading::, by Deemer/Benefield/Larman/Vodde
Scrum and Agile Software Development Reading::, by Deemer/Benefield/Larman/Vodde
Lecture 24
Scrum and Agile Software Development
Reading:
Scrum Primer,
by Deemer/Benefield/Larman/Vodde
2
Scrum Origins
• Jeff Sutherland
– Initial scrums at Easel Corp in 1993
– IDX and 500+ people doing Scrum
• Ken Schwaber
– ADM
– Scrum presented at OOPSLA 96 with Sutherland
– Author of three books on Scrum
• Mike Beedle
– Scrum patterns in PLOPD4
Customer
Customer collaboration
collaboration over Contract
Contract negotiation
negotiation
Responding
Responding to
to change
change over Following
Following aa plan
plan
Source: www.agilemanifesto.org 4
Project Noise Level
Far from
Agreement
Anarchy
Requirements
Complex
Co
m
pl
ic ate Source: Strategic Management and
d Organizational Dynamics by Ralph Stacey
in Agile Software Development with Scrum
Agreement
Close to
Certainty
Certainty
Technology
Far from
5
Scrum at a Glance
24 hours
Daily Scrum
Meeting
Potentially Shippable
Product Backlog Product Increment
As prioritized by Product Owner
Source: Adapted from Agile Software
Development with Scrum by Ken
Schwaber and Mike Beedle.
6
Sequential vs. Overlap
Requirements Design Code Test
7
Scrum Framework
Roles
•Product owner
•Scrum Master
•Team Ceremonies
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Artifacts
•Product backlog
•Sprint backlog
•Burndown charts
8
Scrum Roles
– Product Owner
• Possibly a Product Manager or Project Sponsor
• Decides features, release date, prioritization, $$$
– Scrum Master
• Typically a Project Manager or Team Leader
• Responsible for enacting Scrum values and practices
• Remove impediments / politics, keeps everyone productive
– Project Team
• 5-10 members; Teams are self-organizing
• Cross-functional: QA, Programmers, UI Designers, etc.
• Membership should change only between sprints
9
"Pigs" and "Chickens"
• Pig: Team member committed to success of project
• Chicken: Not a pig; interested but not committed
A pig and a chicken are walking down a road. The chicken looks at the pig
and says, "Hey, why don't we open a restaurant?" The pig looks back at the
chicken and says, "Good idea, what do you want to call it?" The chicken
thinks about it and says, "Why don't we call it 'Ham and Eggs'?" "I don't
think so," says the pig, "I'd be committed but you'd only be involved."
10
Sprint Planning Mtg.
Team
Sprint planning meeting
Team
capacity
capacity
Sprint prioritization
Product
Product
• Analyze/evaluate product Sprint
Sprint
backlog goal
backlog
backlog
• Select sprint goal
goal
Business
Business
conditions
conditions
Sprint planning
• Decide how to achieve sprint goal
(design) Sprint
Current
Current
• Create sprint backlog (tasks) from
Sprint
product
product
product backlog items (user backlog
backlog
stories / features)
Technology
Technology • Estimate sprint backlog in hours
11
Daily Scrum Meeting
• Parameters
– Daily, ~15 minutes, Stand-up
– Anyone late pays a $1 fee
13
Product Backlog
• The requirements
This
This is
is the
the • Prioritized by the product owner
product
product backlog
backlog
• Reprioritized at start of each sprint
14
User Stories
• Instead of Use Cases, Agile project owners do "user stories"
– Who (user role) – Is this a customer, employee, admin, etc.?
– What (goal) – What functionality must be achieved/developed?
– Why (reason) – Why does user want to accomplish this goal?
• Example:
– "As a user, I want to log in, so I can access subscriber content."
15
Sample Product Backlog
Backlog item Estimate
... 30
... 50
16
Sample Product Backlog 2
17
Sprint Backlog
• Individuals sign up for work of their own choosing
– Work is never assigned
• Estimated work remaining is updated daily
18
Sample Sprint backlog
Tasks
Tasks Mon
Mon Tue
Tue Wed
Wed Thu
Thu Fri
Fri
Code the user interface 8 4 8
Code the middle tier 16 12 10 4
Test the middle tier 8 16 16 11 8
Write online help 12
Write the Foo class 8 8 8 8 8
Add error logging 8 4
19
Sample Sprint Backlog
20
Sprint Burndown Chart
• A display of what work has been completed
and what is left to complete
– one for each developer or work item
– updated every day
– (make best guess about hours/points completed each day)
21
Hours Sample Burndown Chart
22
Tasks
Tasks Mon
Mon Tue
Tue Wed
Wed Thu
Thu Fri
Fri
Code the user interface 8 4 8
Code the middle tier 16 12 10 7
Test the middle tier 8 16 16 11 8
Write online help 12
50
40
30
Hours
20
10
0
Mon Tue Wed Thu Fri
23
Burndown Example 1
No work being performed
Sprint 1 Burndown
60
50
40
Hours remaining
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Days in Sprint
24
Burndown Example 2
Work being performed, but not fast enough
Sprint 1 Burndown
49
48
47
46
Hours remaining
45
44
43
42
41
40
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Days in Sprint
25
Burndown Example 3
Work being performed, but too fast!
Sprint 1 Burndown
60
50
40
Hours remaining
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Days in Sprint
26
The Sprint Review
• Team presents what it accomplished during the sprint
• Typically takes the form of a demo of new features or
underlying architecture
• Informal
– 2-hour prep time rule
– No slides
• Whole team participates
• Invite the world
27
Scalability
• Typical individual team is 7 ± 2 people
– Scalability comes from teams of teams
• Factors in scaling
– Type of application
– Team size
– Team dispersion
– Project duration
28
Scaling: Scrum of Scrums
29
Scrum vs. Other Models
30
Credits, References
– Mike Cohn, Mountain Goat Software
www.mountaingoatsoftware.com
– Scrum and The Enterprise by Ken Schwaber
– Succeeding with Agile by Mike Cohn
– Agile Software Development Ecosystems by Jim Highsmith
– Agile Software Development with Scrum by K. Schwaber and M. Beedle
– User Stories Applied for Agile Software Development by Mike Cohn
– www.agilescrum.com/
– www.objectmentor.com
– jeffsutherland.com/
– www.controlchaos.com/scrumwp.htm
– agilealliance.com/articles/articles/InventingScrum.pdf
31