Cohn ADP09 Getting Agile With Scrum

Embed Size (px)

Citation preview

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    1/17

    Getting Agile with Scrum

    9 November 2009

    Mike Cohn

    Mike Cohn - background

    Mountain Goat Software, LLC

    1

    2

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    2/17

    Mountain Goat Software, LLC

    Overview of ScrumProduct backlogsSprints and sprint backlogTracking progressScrum meetings

    Agenda

    Mountain Goat Software, LLC

    The Agile Manifesto

    over

    over

    over

    over

    3

    4

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    3/17

    Mountain Goat Software, LLC

    It shouldnt be all-or-nothing

    Traditional

    Scrum

    Mountain Goat Software, LLC

    5

    6

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    4/17

    Mountain Goat Software, LLC

    Were 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

    developmentmay conflict with the goals of

    maximum speed and flexibility. Instead a

    holistic or rugby approachwhere a team

    tries to go the distance as a unit, passing the

    ball back and forthmay better serve todays

    competitive requirements.

    Mountain Goat Software, LLC

    7

    8

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    5/17

    Mountain Goat Software, LLC

    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

    Mountain Goat Software, LLC

    Scrum

    Cancel

    Gift wrap

    Return

    Sprint

    2-4 weeks

    Return

    Sprint goal

    Sprintbacklog

    Potentially shippable

    product increment

    Product

    backlog

    CouponsGift wrap

    Coupons

    Cancel

    24 hours

    9

    10

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    6/17

    Mountain Goat Software, LLC

    Scrum

    Is results-oriented

    Is commitment-driven Is value-focused

    Empowers and respects teams

    Mountain Goat Software, LLC

    11

    12

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    7/17

    Mountain Goat Software, LLC

    Product backlog

    The requirements

    A list of all desired work onthe project

    Ideally expressed such thateach item has value to theusers or customers of theproduct

    Prioritized by the productowner

    Reprioritized at the start of

    each sprint

    Mountain Goat Software, LLC

    A sample product backlog

    13

    14

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    8/17

    Mountain Goat Software, LLC

    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 comeout during conversations withproduct owner

    Conversation

    Acceptance tests confirm thestory was coded correctly

    Confirmation

    Mountain Goat Software, LLC

    Samples from a travel website

    Use this template:

    As a ,I want

    so that .

    15

    16

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    9/17

    Mountain Goat Software, LLC

    Mountain Goat Software, LLC

    The product backlog iceberg

    Sprint

    Release

    FutureReleases

    Priority

    17

    18

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    10/17

    Mountain Goat Software, LLC

    Some useful termsUser Story

    A description of desired

    functionality told from the

    perspective of the user or

    customer.

    Theme

    A collection of related

    user stories.

    Epic

    A large user story.

    Mountain Goat Software, LLC

    An example

    Clearly an epic

    Epics??

    19

    20

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    11/17

    Mountain Goat Software, LLC

    An example

    Mountain Goat Software, LLC

    21

    22

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    12/17

    Mountain Goat Software, LLC

    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

    Mountain Goat Software, LLC

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

    produce a potentially shippable productincrement

    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

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    13/17

    Mountain Goat Software, LLC

    Always deliver

    You must have a potentially shippable productincrement at the end of each sprint

    Do not miss the end of the sprint The deadline is sacred

    Functionality may vary

    Mountain Goat Software, LLC

    Sprints

    25

    26

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    14/17

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    15/17

    Mountain Goat Software, LLC

    No changes during a sprint

    What the team commits toand what theproduct owner agrees toduring 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...

    Mountain Goat Software, LLC

    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

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    16/17

    Mountain Goat Software, LLC

    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...

    Mountain Goat Software, LLC

    Release sprints Always target a potentially-shippable product

    increment

    But, some polishing can occur in a releasesprint

    Mean Time Between Failure (MTBF) testing

    Some stress, performance or usability testing

    Compliance

    Documentation touchups (final screen shots)

    31

    32

  • 8/6/2019 Cohn ADP09 Getting Agile With Scrum

    17/17

    Mountain Goat Software, LLC

    Mountain Goat Software, LLC

    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 onthe front page about once a week.

    5

    As the site editor, I can include a teaser witheach article.

    3

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

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

    8

    As a site visitor, I can subscribe to an RSS feed ofarticles.

    5

    As a site visitor, I can post comments aboutarticles so that others can read them.

    13

    33

    34