38
Getting Agile with Scrum 6 June 2012 Mike Cohn 1

Getting Agile with Scrum

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Getting Agile with Scrum

Getting Agile with Scrum

6 June 2012

Mike Cohn

1

Page 2: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

We’re losing the relay race

Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, January 1986.

“The… ‘relay race’ approach to product

tries to go the distance as a unit, passing the

competitive requirements.”

2

Page 3: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Source: “How Apple Does It,” Time Magazine, October 24, 2005 by Lev Grossman

“Apple employees talk incessantly about what they call ‘deep collaboration’ or ‘cross-pollination’ 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.”

3

Page 4: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

YahooGoogleElectronic ArtsIBMLockheed MartinPhilipsSiemensNokiaCapital OneBBCIntuit

AppleNielsen MediaFirst American CorelogicQualcommTexas Instruments

John DeereLexis Nexis

Time WarnerTurner BroadcastingOce

4

Page 5: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

In-house developmentContract developmentFixed-price projectsFinancial applications

applications

24x7 systems with 99.999% uptime requirementsthe Joint Strike Fighter

Video game development

systems

Network switching applicationsISV applications

applications in use

5

Page 6: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Characteristics

“sprints”

Uses generative rules to create an agile

6

Page 7: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Project noise level

Simple

ComplexAnarchy

Complicated

Technology

Req

uire

men

tsAgreement

Close toAgreement

Clo

se t

oC

erta

inty

Cer

tain

ty

Strategic Management and Organizational DynamicsAgile Software Development with Scrum

® © 2003–2009 Mountain Goat Software®

7

Page 8: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Scrum

Cancel

Return

Sprint1-4 weeks

Return

Sprint goal

Sprint

product increment

ProductVouchers

Vouchers

Cancel

24 hours

8

Page 9: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Sprints

“sprints”

Typical duration is 2–4 weeks or a calendar month at most

Product is designed, coded, and tested during the sprint

9

Page 10: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Sequential vs. overlapping development

and Nonaka. Harvard Business Review, January 1986.

one thing at a time......Scrum teams do a little

Requirements Design Code Test

10

Page 11: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

No changes during a sprint

Plan sprint durations around how long you can

Change

11

Page 12: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Product ownerScrumMasterTeam

Roles

Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

Ceremonies

Burndown charts

12

Page 13: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

Ceremonies

Burndown charts

Product ownerScrumMasterTeam

Roles

13

Page 14: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Product owner

Makes scope vs. schedule decisions

project

Adjust needed 

Accept or reject work results

14

Page 15: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

The ScrumMaster

and practices

Removes impediments

15

Page 16: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

The teamTypically 5-9 people

Programmers, testers, user experience designers, etc.

M

16

Page 17: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Product ownerScrumMasterTeam

Roles

Burndown charts

Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

Ceremonies

17

Page 18: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Sprint planning meeting

Sprint backlog

Sprint goal

Who• Team, ScrumMaster, & Product

OwnerAgenda• Discuss top priority product

backlog items• Team selects which to do

Why• Know what will be worked on• Understand it enough to do it

18

Page 19: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Sprint planning

commit to completing

High-level design is considered

As a vacation planner, I want to see photos of the hotels.

19

Page 20: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

The daily scrumParameters

Daily

15-minutes

Stand-up

Whole world is invited

owner, can talk

Helps avoid other unnecessary meetings

20

Page 21: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Everyone answers 3 questions

These are not

What did you do yesterday?1

What will you do today?2

Is anything in your way?3

21

Page 22: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

The sprint reviewTeam presents what it accomplished during the sprint

2-hour prep time ruleNo slides

Whole team participatesInvite the world

22

Page 23: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Sprint retrospectivePeriodically take a look at what is and is not workingTypically around 30 minutes

Whole team participatesScrumMasterProduct ownerTeam

23

Page 24: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Start / Stop / ContinueWhole team gathers and discusses what they’d

Start doing

Stop doing

Continue doingThis is just one of many ways to do a sprint retrospective.

24

Page 25: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Product ownerScrumMasterTeam

Roles

Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

Ceremonies

Burndown charts

25

Page 26: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

The requirements

the projectIdeally expressed such that each item has value to the

product

owner

each sprintThis is the

26

Page 27: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Backlog item Estimate

Allow a guest to make a reservation 3

As a guest, I want to cancel a reservation. 5

reservation. 3

As a hotel employee, I can run RevPAR 8

Improve exception handling 8

... 30

... 50

27

Page 28: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Sprint goalA short statement of what the work will be focused on during the sprint

Sprint 8

The checkout process—pay for an order, pick shipping, order gift wrapping, etc.

Sprint 7

Implement basic shopping cart functionality including add, remove, and update.

28

Page 29: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Work is never assigned

Estimated work remaining is updated daily

29

Page 30: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Tasks

Code the middle tier

Test the middle tier

Write online help

Mon8

16

8

12

8

Tues4

12

16

8

Wed Thur

4

11

8

4

Fri

8

8

Add error logging

8

10

16

8

8

30

Page 31: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

0

200

400

600

800

1,0004/

29/0

2

5/6/

02

5/13

/02

5/20

/02

5/24

/02

Hou

rs

31

Page 32: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Hou

rs

40

30

20

10

0Mon Tue Wed Thu Fri

Tasks

Code the middle tier

Test the middle tier

Write online help

Mon8

16

8

12

Tues Wed Thur Fri4

12

16

7

11

8

10

16 8

50

32

Page 33: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

Typical individual team is 7 ± 2 people

Factors in scaling

Team dispersion

Project duration

people

33

Page 34: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Scaling through the Scrum

34

Page 35: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

Programmers

ScrumMasters

UI Designers

Testers

DBAs

Communities of Practice help scale and cut across Scrum teams

35

Page 36: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

A Scrum reading listAgile Estimating and Planning

Agile Game Development with Scrum

Agile Product Ownership

Agile Retrospectives

Agile Testing: A Practical Guide for Testers and Agile TeamsCrispin and Janet Gregory

Coaching Agile Teams

Essential Scrum

Succeeding with Agile: Software Development using ScrumCohn

User Stories Applied for Agile Software Development

36

Page 37: Getting Agile with Scrum

® © 2003–2009 Mountain Goat Software®

37

Page 38: Getting Agile with Scrum

® © 2003–2012 Mountain Goat Software®

[email protected]: mikewcohn

Mike Cohn

38