Top Banner
Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ® © 2003–2008 Mountain Goat Software ® 1 2 Sunday, November 9, 2008
30

Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

May 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

Getting Agile with Scrum

November 11, 2008

Mike Cohn

Mike Cohn - background

® © 2003–2008 Mountain Goat Software®

1

2

Sunday, November 9, 2008

Page 2: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

•Overview of Scrum•Product backlogs•Sprints and sprint backlog•Tracking progress•Scrum meetings

Agenda

® © 2003–2008 Mountain Goat Software®

The Agile Manifesto

over

over

over

over

3

4

Sunday, November 9, 2008

Page 3: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

It shouldn’t be all-or-nothing

Traditional

Scrum

® © 2003–2008 Mountain Goat Software®

5

6

Sunday, November 9, 2008

Page 4: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 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 development…may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements.”

® © 2003–2008 Mountain Goat Software®

7

8

Sunday, November 9, 2008

Page 5: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Scrum roles and responsibilities• Defines the features of the product, decides on release date and content• Is responsible for the profitability of the product (ROI)• Prioritizes features according to market value• Can change features and priority every sprint• Accepts or rejects work results

ProductOwner

• Ensures that the team is fully functional and productive• Enables close cooperation across all roles and functions and removes

barriers• Shields the team from external interferences• Ensures that the process is followed. Participates in daily scrum, sprint

review and planning meetings

ScrumMaster

• Cross-functional, seven plus/minus two members• Selects the sprint backlog• Has the right to do everything within the boundaries of the project

guidelines to reach the iteration goal• Organizes itself and its work• Demos work results to the Product OwnerTeam

® © 2003–2008 Mountain Goat Software®

Scrum

Cancel

Gift wrap

Return

Sprint2-4 weeks

Return

Sprint goal

Sprint backlog

Potentially shippableproduct increment

Productbacklog

CouponsGift wrap

Coupons

Cancel

24 hours

9

10

Sunday, November 9, 2008

Page 6: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Scrum

• Is results-oriented

• Is commitment-driven

• Is value-focused

• Empowers and respects teams

® © 2003–2008 Mountain Goat Software®

11

12

Sunday, November 9, 2008

Page 7: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

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

• Reprioritized at the start of each sprint

® © 2003–2008 Mountain Goat Software®

A sample product backlog

13

14

Sunday, November 9, 2008

Page 8: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

User stories as backlog items

•Stories are traditionally written on note cards.

•May be annotated with notes, estimates, etc.

Card

Source: XP Magazine 8/30/01, Ron Jeffries.

•Details behind the story come out during conversations with product owner

Conversation

•Acceptance tests confirm the story was coded correctly

Confirmation

® © 2003–2008 Mountain Goat Software®

Samples from a travel website

Use this template:

As a <type of user>, I want <some goal>

so that <some reason>.

15

16

Sunday, November 9, 2008

Page 9: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

The product backlog iceberg

Sprint

Release

FutureReleases

Priority

17

18

Sunday, November 9, 2008

Page 10: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Some useful termsUser StoryA description of desired functionality told from the perspective of the user or customer.

ThemeA collection of related user stories.

EpicA large user story.

® © 2003–2008 Mountain Goat Software®

An example

Clearly an epic

Epics??

19

20

Sunday, November 9, 2008

Page 11: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

An example

® © 2003–2008 Mountain Goat Software®

21

22

Sunday, November 9, 2008

Page 12: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

A sprint backlog

Code the user interface

Code the middle tier

Test the middle tier

Write online help

Write the foo class

8

16

8

12

8

4

12

16

8

4

11

8

4

8

8

Add error logging

8

10

16

8

8

® © 2003–2008 Mountain Goat Software®

Potentially shippable productincrement• At the end of each sprint, the team must

produce a potentially shippable product increment

• High quality, tested, complete, done, what it does it does well

• Potentially shippable shippable

• Product increment may not be cohesive

• Print preview but no print

23

24

Sunday, November 9, 2008

Page 13: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Always deliver

• You must have a potentially shippable product increment at the end of each sprint

• Do not miss the end of the sprint

• The deadline is sacred

• Functionality may vary

® © 2003–2008 Mountain Goat Software®

Sprints

25

26

Sunday, November 9, 2008

Page 14: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Architecture built over time

Sprints

Perc

ent

of E

ffort

20

40

60

80

100

01 2 3 4 5 6 7 8 9

® © 2003–2008 Mountain Goat Software®

Reciprocal commitmentsThe team commits to delivering some amount of functionality

The business commits to leave priorities alone during the sprint

27

28

Sunday, November 9, 2008

Page 15: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

No changes during a sprint

• What the team commits to—and what the product owner agrees to—during sprint planning should be what is delivered

• We start with vague requirements• Our understanding of those requirements is

refined during the sprint

However, keep in mind that...

® © 2003–2008 Mountain Goat Software®

Abnormal terminations

• If change cannot be kept out of a sprint...

• The sprint may be abnormally terminated

• An extreme circumstance, not done very often

• Raises visibility of priority changes

29

30

Sunday, November 9, 2008

Page 16: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Deciding to abnormally terminate

• Team can abnormally terminate if…

• They feel they cannot meet the sprint goal

• Management can abnormally terminate if…

• Business priorities change

• All work from the current sprint is undone• Code reverts to where it was at the end of the prior

sprint• Next step is to plan a new sprint

After abnormally terminating...

® © 2003–2008 Mountain Goat Software®

Release sprints

• Always target a potentially-shippable product increment

• But, some polishing can occur in a release sprint

• Mean Time Between Failure (MTBF) testing

• Some stress, performance or usability testing

• Compliance

• Documentation touchups (final screen shots)

31

32

Sunday, November 9, 2008

Page 17: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

A product backlogStory Points Done

As the site editor, I can add an article to the site. 5

As a site visitor, I want to read a new article on the front page about once a week. 5

As the site editor, I can include a teaser with each article. 3

As a site member who has read a teaser on the front page, I want to read the entire article. 5

As a site visitor, I can do a full-text search of article body, title, and author name. 8

As a site visitor, I can subscribe to an RSS feed of articles. 5

As a site visitor, I can post comments about articles so that others can read them. 13

33

34

Sunday, November 9, 2008

Page 18: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Velocity

• A useful long-term measure of the amount of work completed per sprint

0

10

20

30

40

1 2 3 4 5 6 7 8 9Sprints

® © 2003–2008 Mountain Goat Software®

When will this project be released?

Stor

y Po

ints

(or

Idea

l Day

s)

Sprints

400

300

200

100

01 2 3 4 5

35

36

Sunday, November 9, 2008

Page 19: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

A sprint burndown chart

0

200

400

600

800

1,000

4/29

/02

5/6/

02

5/13

/02

5/20

/02

5/24

/02

Hou

rs

37

38

Sunday, November 9, 2008

Page 20: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Hou

rs

40

30

20

10

0Mon Tue Wed Thu Fri

Code the user interface

Code the middle tier

Test the middle tier

Write online help

8

16

8

12

4

12

16

7

11

8

10

16 8

50

® © 2003–2008 Mountain Goat Software®

Task boardsStory To Do

InProcess

ToVerify Done

39

40

Sunday, November 9, 2008

Page 21: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

A sample task board

® © 2003–2008 Mountain Goat Software®

41

42

Sunday, November 9, 2008

Page 22: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

A cork task board

® © 2003–2008 Mountain Goat Software®

Velcro in a team room

43

44

Sunday, November 9, 2008

Page 23: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

® © 2003–2008 Mountain Goat Software®

Scrum meetings

• Body Text with a bullet and

45

46

Sunday, November 9, 2008

Page 24: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Sprint planning meeting

Sprint prioritization

• Analyze and evaluate product backlog

• Select sprint goal

Sprint planning

• Decide how to achieve sprint goal (design)

• Create sprint backlog (tasks) from product backlog items (user stories / features)

• Estimate sprint backlog in hours

® © 2003–2008 Mountain Goat Software®

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

Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)

47

48

Sunday, November 9, 2008

Page 25: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

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

® © 2003–2008 Mountain Goat Software®

Everyone answers 3 questions

• These are not status for the ScrumMaster

• They are commitments in front of peers

49

50

Sunday, November 9, 2008

Page 26: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

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• No slides

• 2-hour prep time guideline

• Whole team participates

• Invite the world

® © 2003–2008 Mountain Goat Software®

Sprint retrospective

• Periodically take a look at what is and is not working

• Typically 15–30 minutes

• Done after every sprint

• Whole team participates

• ScrumMaster

• Product owner

• Team

• Possibly customers and others

51

52

Sunday, November 9, 2008

Page 27: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Start / Stop / Continue

• Whole team gathers and discusses what they’d like to:

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

® © 2003–2008 Mountain Goat Software®

A start, stop, continue list• Showing the software to customers early

• Specifying acceptance tests early and with customers

• Doing code inspections

• Getting FitNesse into the nightly builds

• Trying to finish one story before moving to the next

• Being disrespectful of QA

• Making progress with the canonical database

• Emphasizing test automation

53

54

Sunday, November 9, 2008

Page 28: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Scrum of scrums

® © 2003–2008 Mountain Goat Software®

Scrum of scrums of scrums

55

56

Sunday, November 9, 2008

Page 29: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Is Scrum right for you?

•Remember that Scrum requires empowered teams• Can you allow the team the freedom to self organize?

•Do your teams have the discipline to be agile or do they equate agile to lazy?

•Will you have the courage and stamina to resolve the issues that Scrum surfaces?• The problems were always there, but now they’re more

visible

•Remember, Scrum is an approach, not a list of rules

Yes, probably. But...

© Mountain Goat Software, LLC

Upcoming public classes

57

58

Sunday, November 9, 2008

Page 30: Getting Agile with Scrum - Mountain Goat Software...Getting Agile with Scrum November 11, 2008 Mike Cohn Mike Cohn - background ... 43 44 Sunday, November 9, 2008 ... The sprint review

® © 2003–2008 Mountain Goat Software®

Mike Cohn contact info

®

59

Sunday, November 9, 2008