Getting Agile with Scrum We're losing the relay race

advertisement
Getting Agile with Scrum
Mike Cohn
6 June 2012
We’re losing the relay race
“The… ‘relay race’ approach to product
01B18;<91:@I9-E/;:Q5/@C5@4@413;-8?;2
9-D59A9?<110-:0Q1D5.585@E:?@1-0-
4;85?@5/;>N>A3.EO-<<>;-/4KC41>1-@1-9
tries to go the distance as a unit, passing the
.-88.-/7-:02;>@4K9-E.1@@1>?1>B1@;0-EO?
competitive requirements.”
Hirotaka Takeuchi and Ikujiro Nonaka, “The
New New Product Development Game”,
Harvard Business Review, January 1986.
®
© 2003–2012 Mountain Goat Software®
“Apple employees talk incessantly about what
they call ‘deep collaboration’ or ‘crosspollination’ or ‘concurrent engineering.’
“Essentially it means that products don’t pass
from team to team. There aren’t discrete,
sequential development stages. Instead, it’s
simultaneous and organic.
“Products get worked on in parallel by all
departments at once—design, hardware,
software—in endless rounds of interdisciplinary
design reviews.”
®
Source: “How Apple Does It,” Time Magazine,
October 24, 2005 by Lev Grossman
© 2003–2012 Mountain Goat Software®
'/>A94-?.11:A?10.E
G !5/>;?;2@
G Yahoo
G Google
G Electronic Arts
G IBM
G Lockheed Martin
G Philips
G Siemens
G Nokia
G Capital One
G BBC
G Intuit
®
G Apple
G Nielsen Media
G First American Corelogic
G Qualcomm
G Texas Instruments
G '-81?2;>/1/;9
G John Deere
G Lexis Nexis
G '-.>1
G '-81?2;>/1/;9
G Time Warner
G Turner Broadcasting
G Oce
© 2003–2009 Mountain Goat Software®
'/>A94-?.11:A?102;>
G
G
G
G
G
G
G
G
G
;991>/5-8?;2@C->1
In-house development
Contract development
Fixed-price projects
Financial applications
'#
/1>@5P10
applications
9.10010?E?@19?
24x7 systems with 99.999%
uptime requirements
the Joint Strike Fighter
G
G
G
G
G
G
G
G
G
Video game development
-<<>;B108521/>5@5/-8
systems
'-@1885@1/;:@>;8?;2@C->1
+1.?5@1?
-:04180?;2@C->1
!;.581<4;:1?
Network switching
applications
ISV applications
';91;2@418->31?@
applications in use
© 2003–2009 Mountain Goat Software®
®
Characteristics
G
G
G
G
G
G
®
'182;>3-:5F5:3@1-9?
$>;0A/@<>;3>1??1?5:-?1>51?;29;:@48;:3
“sprints”
&1=A5>191:@?->1/-<@A>10-?5@19?5:-85?@;2
L<>;0A/@.-/78;3M
";?<1/5P/1:35:11>5:3<>-/@5/1?<>1?/>5.10
Uses generative rules to create an agile
1:B5>;:91:@2;>0185B1>5:3<>;61/@?
#:1;2@41L-3581<>;/1??1?M
© 2003–2009 Mountain Goat Software®
Project noise level
Complex
Co
m
pli
ca
';A>/1Strategic Management and
Organizational Dynamics.E&-8<4'@-/1E5:
Agile Software Development with Scrum.E
1:'/4C-.1>-:0!57111081
te
d
Simple
Close to
Certainty
Close to
Agreement
Anarchy
Technology
->2>;9
Certainty
Requirements
->2>;9
Agreement
© 2003–2009
2003–2012 Mountain Goat Software®
®
Scrum
24 hours
Sprint
1-4 weeks
Sprint goal
Return
Return
Cancel
52@C>-<
Vouchers
52@C>-<
Cancel
Product
.-/78;3
®
Sprint
.-/78;3
$;@1:@5-88E?45<<-.81
product increment
Vouchers
© 2003–2012 Mountain Goat Software®
Sprints
G '/>A9<>;61/@?9-71<>;3>1??5:-?1>51?;2
“sprints”
G Typical duration is 2–4 weeks or a calendar
month at most
G /;:?@-:@0A>-@5;:81-0?@;-.1@@1>>4E@49
G Product is designed, coded, and tested during
the sprint
© 2003–2009 Mountain Goat Software®
®
Sequential vs. overlapping
development
Requirements
Design
Code
Test
&-@41>@4-:0;5:3-88;2
one thing at a time...
...Scrum teams do a little
;21B1>E@45:3-88@41@591
';A>/1L(41"1C"1C$>;0A/@1B18;<91:@-91M.E(-71A/45
and Nonaka. Harvard Business Review, January 1986.
®
© 2003–2009 Mountain Goat Software®
No changes during a sprint
Change
G Plan sprint durations around how long you can
/;995@@;711<5:3/4-:31;A@;2@41?<>5:@
© 2003–2009 Mountain Goat Software®
®
'/>A92>-91C;>7
Roles
G Product owner
G ScrumMaster
G Team
Ceremonies
G Sprint planning
G Sprint review
G Sprint retrospective
G Daily scrum meeting
>@52-/@?
G $>;0A/@.-/78;3
G '<>5:@.-/78;3
G Burndown charts
®
© 2003–2012 Mountain Goat Software®
'/>A92>-91C;>7
Roles
G Product owner
G ScrumMaster
G Team
Ceremonies
G Sprint planning
G Sprint review
G Sprint retrospective
G Daily scrum meeting
>@52-/@?
G $>;0A/@.-/78;3
G '<>5:@.-/78;3
G Burndown charts
© 2003–2012 Mountain Goat Software®
®
Product owner
G 1P:1@4121-@A>1?;2@41<>;0A/@
G Makes scope vs. schedule decisions
G &1?<;:?5.812;>-/451B5:3P:-:/5-83;-8?;2@41
project
$>5;>5@5F1@41<>;0A/@.-/78;3
G
G Adjust 21-@A>1?-:0<>5;>5@E1B1>E?<>5:@-?
G
®
needed Accept or reject work results
© 2003–2009 Mountain Goat Software®
The ScrumMaster
G
G
G
G
G
&1?<;:?5.812;>1:-/@5:3'/>A9B-8A1?
and practices
Removes impediments
;-/41?@41@1-9@;@415>.1?@<;??5.81
<1>2;>9-:/1
G
18<?59<>;B1@1-9<>;0A/@5B5@E5:-:EC-E<;??5.81
:-.81/8;?1/;;<1>-@5;:-/>;??-88>;81?-:0
2A:/@5;:?
'45180@41@1-92>;91D@1>:-85:@1>21>1:/1
© 2003–2009 Mountain Goat Software®
®
The team
G
G
G
G
G
®
Typically 5-9 people
>;??2A:/@5;:-8
G
Programmers, testers, user experience designers, etc.
M19.1>??4;A80.12A88@591
G !-E.11D/1<@5;:?130-@-.-?1-095:5?@>-@;>
(1-9?->1?182;>3-:5F5:3
G
01-88E:;@5@81?.A@>->18E-<;??5.585@E
!19.1>?45<?4;A80/4-:31;:8E.1@C11:?<>5:@?
© 2003–2009 Mountain Goat Software®
'/>A92>-91C;>7
Roles
G Product owner
G ScrumMaster
G Team
Ceremonies
G Sprint planning
G Sprint review
G Sprint retrospective
G Daily scrum meeting
>@52-/@?
G $>;0A/@.-/78;3
G '<>5:@.-/78;3
G Burndown charts
© 2003–2012 Mountain Goat Software®
®
Sprint planning meeting
Who
• Team, ScrumMaster, & Product
Owner
Agenda
• Discuss top priority product
•
backlog items
Team selects which to do
Why
®
• Know what will be worked on
• Understand it enough to do it
Sprint
goal
Sprint
backlog
© 2003–2012 Mountain Goat Software®
Sprint planning
G
G
G
(1-9?181/@?5@19?2>;9@41<>;0A/@.-/78;3@41E/-:
commit to completing
'<>5:@.-/78;35?/>1-@10
G
G
(-?7?->1501:@5P10-:01-/45?1?@59-@104;A>?
;88-.;>-@5B18E:;@0;:1-8;:1.E@41'/>A9!-?@1>
High-level design is considered
As a vacation
planner, I want to
see photos of the
hotels.
;01@41950081@51>4;A>?
;01@41A?1>5:@1>2-/1
+>5@1@1?@PD@A>1?
;01@412;;/8-??
)<0-@1<1>2;>9-:/1@1?@?
© 2003–2009 Mountain Goat Software®
®
The daily scrum
G Parameters
G
G
G
Daily
15-minutes
Stand-up
G
G
Whole world is invited
#:8E@1-9919.1>?'/>A9!-?@1><>;0A/@
owner, can talk
G ";@2;><>;.819?;8B5:3
G Helps avoid other unnecessary meetings
®
© 2003–2009 Mountain Goat Software®
Everyone answers 3 questions
What did you do yesterday?
What will you do today?
Is anything in your way?
1
2
3
G These are not?@-@A?2;>@41'/>A9!-?@1>
G
(41E->1/;995@91:@?5:2>;:@;2<11>?
© 2003–2009 Mountain Goat Software®
®
The sprint review
presents what it accomplished during
G Team
the sprint
G (E<5/-88E@-71?@412;>9;2-019;;2:1C
21-@A>1?;>A:01>8E5:3->/45@1/@A>1
G :2;>9-8
G
G
2-hour prep time rule
No slides
G Whole team participates
G Invite the world
®
© 2003–2009 Mountain Goat Software®
Sprint retrospective
G Periodically take a look at what is and is not
G
G
G
working
Typically around 30 minutes
;:1-2@1>1B1>E?<>5:@
Whole team participates
G
G
G
G
ScrumMaster
Product owner
Team
$;??5.8E/A?@;91>?-:0;@41>?
© 2003–2009 Mountain Goat Software®
®
Start / Stop / Continue
G Whole team gathers and discusses what they’d
8571@;
Start doing
Stop doing
This is just one
of many ways
to do a sprint
retrospective.
®
Continue doing
© 2003–2009 Mountain Goat Software®
'/>A92>-91C;>7
Roles
G Product owner
G ScrumMaster
G Team
Ceremonies
G Sprint planning
G Sprint review
G Sprint retrospective
G Daily scrum meeting
>@52-/@?
G $>;0A/@.-/78;3
G '<>5:@.-/78;3
G Burndown charts
© 2003–2012 Mountain Goat Software®
®
$>;0A/@.-/78;3
G The requirements
G 85?@;2-8801?5>10C;>7;:
This is the
<>;0A/@.-/78;3
®
the project
G Ideally expressed such that
each item has value to the
A?1>?;>/A?@;91>?;2@41
product
G $>5;>5@5F10.E@41<>;0A/@
owner
G &1<>5;>5@5F10-@@41?@->@;2
each sprint
© 2003–2009 Mountain Goat Software®
?-9<81<>;0A/@.-/78;3
Backlog item
Estimate
Allow a guest to make a reservation
3
As a guest, I want to cancel a reservation.
5
?-3A1?@C-:@@;/4-:31@410-@1?;2-
reservation.
3
As a hotel employee, I can run RevPAR
>1<;>@?>1B1:A1<1>-B-58-.81>;;9
8
Improve exception handling
8
...
...
30
50
© 2003–2012 Mountain Goat Software®
®
Sprint goal
A short statement
of what the work
will be focused on
during the sprint
Sprint 7
Implement basic shopping
cart functionality including
add, remove, and update.
Sprint 8
The checkout process—pay
for an order, pick shipping,
order gift wrapping, etc.
®
© 2003–2009 Mountain Goat Software®
!-:-35:3@41?<>5:@.-/78;3
G
G
G
:05B50A-8??53:A<2;>C;>7;2@415>;C:/4;;?5:3
G
Work is never assigned
Estimated work remaining is updated daily
:E@1-9919.1>/-:-000181@1;>/4-:31@41
?<>5:@.-/78;3
G
G
+;>72;>@41?<>5:@191>31?
G
)<0-@1C;>7>19-5:5:3-?9;>1.1/;91?7:;C:
2C;>75?A:/81->01P:1-?<>5:@.-/78;35@19C5@4-
8->31>-9;A:@;2@591-:0.>1-75@0;C:8-@1>
© 2003–2009 Mountain Goat Software®
®
?<>5:@.-/78;3
Tasks
;01@41A?1>5:@1>2-/1
Mon Tues Wed Thur Fri
8
4
8
Code the middle tier
16
12
10
4
Test the middle tier
8
16
16
11
8
8
8
8
8
8
4
Write online help
+>5@1@412;;/8-??
Add error logging
®
12
8
© 2003–2012 Mountain Goat Software®
?<>5:@.A>:0;C:/4->@
1,000
Hours
800
600
400
5/24/02
5/20/02
5/13/02
5/6/02
0
4/29/02
200
© 2003–2012 Mountain Goat Software®
®
Tasks
Mon Tues Wed Thur
;01@41A?1>5:@1>2-/1
8
4
8
Code the middle tier
Test the middle tier
16
8
12
16
10
16
Write online help
12
7
11
Fri
8
50
Hours
40
30
20
10
0
®
Mon
Tue
Wed
Thu
Fri
© 2003–2012 Mountain Goat Software®
'/-8-.585@E
G
G
G
®
Typical individual team is 7 ± 2 people
G
'/-8-.585@E/;91?2>;9@1-9?;2@1-9?
Factors in scaling
G
G
G
G
(E<1;2-<<85/-@5;:
(1-9?5F1
Team dispersion
Project duration
'/>A94-?.11:A?10;:<>;61/@?;2;B1>
people
© 2003–2009 Mountain Goat Software®
Scaling through the Scrum
;2?/>A9?
®
© 2003–2012 Mountain Goat Software®
Communities of
Practice help scale
and cut across
rum teams
Sc
Programmers
Testers
DBAs
UI Designers
ScrumMasters
®
© 2003–2012 Mountain Goat Software®
A Scrum reading list
G
G
G
G
G
G
G
G
G
®
Agile Estimating and Planning.E!571;4:
Agile Game Development with Scrum .E85:@;:15@4
Agile Product Ownership.E&;9-:$5/481>
Agile Retrospectives.E?@41>1>.E-:05-:- ->?1:
Agile Testing: A Practical Guide for Testers and Agile Teams.E 5?-
Crispin and Janet Gregory
Coaching Agile Teams.E E??-075:?
Essential Scrum.E1::1@4&A.5:
Succeeding with Agile: Software Development using Scrum.E!571
Cohn
User Stories Applied for Agile Software Development.E!571;4:
© 2003–2009 Mountain Goat Software®
.;A@@45?<>1?1:@-@5;:
G >1-@5B1;99;:?B1>?5;:;2@45?
<>1?1:@-@5;:5?-B-58-.81-@
CCC9;A:@-5:3;-@?;2@C->1/;9?/>A9-<>1?1:@-@5;:
G B-58-.815:1E:;@1-:0$;C1>$;5:@2;>9-@
G (>-:?8-@105:@;8-:3A-31??;2->
© 2003–2009 Mountain Goat Software®
®
Upcoming courses in Oslo
Date
Course
3–4 September
5–6 September
Certified ScrumMaster
Certified Scrum Product Owner
3–4 December
5–6 December
Certified ScrumMaster
Certified Scrum Product Owner
®
Information and
registration at
ling .no
ik
v
t
u
m
a
r
g
o
r
.p
w
ww
© 2003–2009 Mountain Goat Software®
Mike Cohn
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
twitter: mikewcohn
®
© 2003–2012 Mountain Goat Software®
Download