LET’S GET
SCRUMMING
AGILE METHODOLOGY
2
LETS GET SCRUMMING
SCRUM
INTRO TO SCRUM
SPRINTS
SCRUM FRAMEWORK
ROLES
CEREMONIES
ARTIFACTS
SCRUM FRAMEWORK
SCRUM IN 100 WORDS
• Scrum is an agile process that allows us to focus on
delivering the highest business value in the shortest
time.
• It allows us to rapidly and repeatedly inspect actual
working software (every two weeks to one month).
• The business sets the priorities. Teams self-organize
to determine the best way to deliver the highest
priority features.
• Every two weeks to a month anyone can see real
working software and decide to release it as is or
continue to enhance it for another sprint.
3
INTRO TO SCRUM
Scrum has been used for:
• Commercial software • Video game development
• In-house development • FDA-approved, life-critical
• Contract development systems
• Fixed-price projects • Satellite-control software
• Financial applications • Websites
• ISO 9001-certified applications • Handheld software
• Embedded systems • Mobile phones
• 24x7 systems with 99.999% • Network switching applications
uptime requirements • ISV applications
• the Joint Strike Fighter
• Some of the largest applications
. in use
Characteristics
• Self-organizing teams
• Product progresses in a series
of 1-4 week “sprints”
• Requirements are captured as
items in a list of “product
backlog”
• No specific engineering
practices prescribed
• Uses generative rules to create
an agile environment for
delivering projects
• One of the “agile processes”
The Agile Manifesto–a statement of
values
Individuals and
over Process and tools
interactions
Comprehensive
Working software over
documentation
Customer Contract
over
collaboration negotiation
Responding to
over Following a plan
change
24 hours
Sprint
2-4 weeks
Sprint goal
Return
Sprint
Cancel backlog
Potentially shippable
Coupons
product increment
Gift wrap Coupons
Product
backlog
PRESENTATION TITLE
9
Sprints
PRESENTATION TITLE
Scrum projects make progress Analogous to Extreme Programming
in a series of “sprints” iterations
Typical duration is 2–4 weeks or a calendar month at most
A constant duration leads to a better rhythm
Product is designed, coded, and tested during the sprint
10
SEQUENTIAL VS. SCRUM
OV E R L A P P I N G D E V E LO P M E N T
Requirements Design Code Test
Rather than doing all of one
thing at a time...
...Scrum teams do a little
of everything all the time
11
NO CHAN GES DURING A
SPRINT SCRUM
Change
• Plan sprint durations around how long you can
commit to keeping change out of the sprint
12
Scrum framework
Roles
• Product owner
• ScrumMaster Ceremonies
• Team
• Sprint planning
• Sprint review
• Sprint retrospective
• Daily scrum meeting
Artifacts
• Product backlog
• Sprint backlog
• Burndown charts
13
Product owner
• Define the features of the
product
• Decide on release date and
content
• Be responsible for the
profitability of the product
(ROI)
• Prioritize features according to
market value
• Adjust features and priority
every iteration, as needed
• Accept or reject work results
The ScrumMaster
• Represents management to
the project
• Responsible for enacting
Scrum values and practices
• Removes impediments
• Ensure that the team is fully
functional and productive
• Enable close cooperation
across all roles and functions
• Shield the team from
external interferences
The team
• Typically 5-9 people
• Cross-functional:
• Programmers, testers, user experience
designers, etc.
• Members should be full-time
• May be exceptions (e.g., database administrator)
• Teams are self-organizing
• Ideally, no titles but rarely a possibility
• Membership should change only between
sprints
Scrum framework
Roles
• Product
owner
• ScrumMaster
• Team Ceremonies
• Sprint planning
• Sprint review
• Sprint retrospective
• Daily scrum
meeting Artifacts
• Product backlog
• Sprint backlog
• Burndown charts
Team
Sprint planning meeting
capacit
y Sprint
prioritization
Product • Analyze and evaluate Sprint
backlog product backlog goal
• Select sprint goal
Business
condition Sprint planning
s
• Decide how to achieve sprint
Current goal (design)
Sprint
product
• Create sprint backlog (tasks)
from product backlog items backlog
(user stories / features)
Technol • Estimate sprint backlog in
ogy hours
Sprint planning
• Team selects items from the product backlog
they can commit to completing
• Sprint backlog is created
• Tasks are identified and each is estimated (1-16
hours)
• Collaboratively, not done alone by the ScrumMaster
• High-level design is considered
As a vacation planner, I want to
see photos of the hotels. Code the middle tier (8
hours)
Code the user interface (4)
Write test fixtures (4)
Code the foo class (6)
Update performance tests (4)
The daily scrum
• Parameters
• Daily
• 15-minutes
• Stand-up
• Not for problem solving
• Whole world is invited
• Only team members,
ScrumMaster, product
owner, can talk
• Helps avoid other unnecessary
meetings
Everyone answers 3
questions
1
What did you do yesterday?
2
What will you do today?
3
Is anything in your way?
• These are not status for the ScrumMaster
• They are commitments in front of
peers
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
Sprint retrospective
Periodically take a look at what is and is not working
Typically 15–30 minutes
Done after every sprint
ScrumMaster
Product owner
Whole team participates Team
Possibly customers and others
23
Start / Stop / Continue
• Whole team gathers and discusses what
they’d like to:
Start doing
Stop doing
This is just
one of many
ways to do a Continue doing
sprint
retrospective.
Scrum framework
Roles
• Product
owner
• ScrumMaster
• Team Ceremonies
• Sprint planning
• Sprint review
• Sprint retrospective
• Daily scrum
meeting
Artifacts
• Product backlog
• Sprint backlog
• Burndown charts
Product backlog
• The requirements
• A list of all desired
work on the project
• Ideally expressed such
that each item has
value to the users or
customers of the
product
• Prioritized by the
product owner
This is the
• Reprioritized at the
product backlog
start of each sprint
A sample product
backlog Estimat
Backlog item e
Allow a guest to make a reservation 3
As a guest, I want to cancel a reservation. 5
As a guest, I want to change the dates of a
3
reservation.
As a hotel employee, I can run RevPAR reports
8
(revenue-per-available-room)
Improve exception handling 8
... 30
... 50
PRESENTATION TITLE 27
The sprint goal
• A short statement of what the work will be
focused on during the sprint
Life Sciences
Support features necessary for
Database Application population genetics studies.
Make the application run
on SQL Server in addition
to Oracle. Financial
services more technical
Support
indicators than company
ABC with real-time,
streaming data.
Managing the sprint backlog
Individuals sign up
for work of their own Any team member
Estimated work
choosing can add, delete or
remaining is updated
• Work is never assigned change the sprint
daily
backlog
If work is unclear,
define a sprint
Update work
Work for the sprint backlog item with a
remaining as more
emerges larger amount of
becomes known
time and break it
down later
29
A Sprint Backlog
Thu
Tasks Mon Tues Wed Fri
r
Code the user interface 8 4 8
Code the middle
16 12 10 4
tier
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
A Sprint Burndown Chart
1,000
800
600
400
200
Hours
0
5/
4/2
5/1
5/2
5/2
Tasks Mon Tues Wed Thur 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
20
Hours
10
0 Mo We
Tue Thu Fri
n d
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
33
Scaling Through The Scrum Of
Scrums
Scrum of scrums of scrums
LET’S GET SCRUMMING
H S TEAM
PRODUCT OWNER SCRUM MASTER DEVELOPER DEVELOPER
36
37
LET'S GET SCRUMMING
THANK YOU
RJ
[email protected]