Project Management
SCRUM
SCRUM
Scrum is an Agile Project Management methodology
involving a small team led by a Scrum Master, whose
main job is to clear away all obstacles to the team
completing work.
In Scrum, work is done in short cycles called sprints,
and the team meets daily to discuss current tasks and
roadblocks that need clearing.
Simply put, Scrum is a method for managing projects
that allows for quick development and testing,
especially within a small team.
2
SCRUM
The Scrum approach to project management enables
software development organizations to prioritize the
work that matters most and break it down into
manageable chunks.
Scrum is about collaborating and communicating both
with the people who are doing the work and the people
who need the work done. It’s about delivering often
and responding to feedback, increasing business value
by ensuring that customers get what they actually want.
3
What is Scrum?
Scrum: It’s about common sense
Is an agile, lightweight process
Can manage and control software and product development
Uses iterative, incremental practices
Has a simple implementation
Increases productivity
Reduces time to benefits
Embraces adaptive, empirical systems development
Is not restricted to software development projects
Embraces the opposite of the waterfall approach…
4
5
Scrum at a Glance
24 hours
Daily Scrum
Meeting
Backlog tasks 30 days
expanded
Sprint Backlog by team
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
7
Sequential vs. Overlap
Requirements Design Code Test
Rather than doing all of
one thing at a time...
...Scrum teams do a little
of everything all the time
8
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
9
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
10
Sprint Planning Mtg.
Team
Sprint planning meeting
Team
capacity
capacity
Sprint prioritization
Product
Product
• Analyze/evaluate product Sprint
Sprint
backlog
backlog backlog goal
goal
• Select sprint goal
Business
Business
conditions
conditions Sprint planning
• Decide how to achieve sprint
goal (design) Sprint
Current
Current
• Create sprint backlog (tasks)
Sprint
product
product
from product backlog items backlog
backlog
(user 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
Not for problem solving
Whole world is invited
Only team members, Scrum Master, product owner, can
talk
Helps avoid other unnecessary meetings
Three questions answered by each team member:
1. What did you do yesterday?
2. What will you do today?
12
3 What obstacles are in your way?
Scrum's Artifacts
Scrum has remarkably few artifacts
Product Backlog
Sprint Backlog
Burndown Charts
Can be managed using just an Excel spreadsheet
More advanced / complicated tools exist:
Expensive
Web-based – no good for Scrum Master/project manager
who travels
Still under development
13
Product Backlog
The requirements
A list of all desired work on project
Ideally expressed as a list of user
stories along with "story points",
such that each item has value to
users or customers of the product
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?
As a [user role], I want to [goal], so I can [reason].
Example:
"As a user, I want to log in, so I can access subscriber
content."
story points: Rating of effort needed to implement this story 15
l 1 10 hi i (XS S M L XL)
Sample Product Backlog
Backlog item Estimate
Allow a guest to make a reservation 3 (story points)
As a guest, I want to cancel a reservation. 5
As a guest, I want to change the dates of a reservation. 3
As a hotel employee, I can run RevPAR reports (revenue-per-
8
available-room)
Improve exception handling 8
... 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
Any team member can add, delete change sprint backlog
Work for the sprint emerges
If work is unclear, define a sprint backlog item with a larger
amount of time and break it down later
Update work remaining as more becomes known
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)
variation: Release burndown chart
shows overall progress
updated at end of each sprint
21
Sample Burndown Chart
Hours
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
Scrum has been used on multiple 500+ person projects
28
Scaling: Scrum of Scrums
29
Scrum vs. Other Models
30