Getting Agile With Scrum Cohn NDC2010

download Getting Agile With Scrum Cohn NDC2010

of 20

Transcript of Getting Agile With Scrum Cohn NDC2010

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    1/20

    Getting Agile with Scrum

    18 June 2010Mike Cohn

    20032009 Mountain Goat Software

    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 aholistic or rugby approachwhere a team

    tries to go the distance as a unit, passing the

    ball back and forthmay better serve todays

    competitive requirements.

    1

    2

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    2/20

    20032009 Mountain Goat Software

    Scrum origins Jeff Sutherland

    Initial scrums at Easel Corp in 1993

    IDX and 500+ people doing Scrum Ken Schwaber

    ADM Scrum presented at OOPSLA 96 with Sutherland Author of three books on Scrum

    Mike Beedle Scrum patterns in PLOPD4

    Ken Schwaber and Mike Cohn Co-founded Scrum Alliance in 2002, initially

    within the Agile Alliance

    20032009 Mountain Goat Software

    Scrum has been used by: Microsoft Yahoo Google

    Electronic ArtsIBM Lockheed Martin Philips Siemens Nokia Capital One

    BBC Intuit

    Apple Nielsen Media First American Corelogic

    Qualcomm Texas Instruments Salesforce.com John Deere Lexis Nexis Sabre Salesforce.com

    Time Warner Turner BroadcastingOce

    3

    4

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    3/20

    20032009 Mountain Goat Software

    Scrum has been used for:

    Commercial software

    In-house development Contract development Fixed-price projects Financial applications ISO 9001-certified

    applications

    Embedded systems

    24x7 systems with 99.999%uptime requirements

    the Joint Strike Fighter

    Video game development

    FDA-approved, life-criticalsystems Satellite-control software Websites Handheld software Mobile phones Network switching

    applications

    ISV applications Some of the largest

    applications in use

    20032009 Mountain Goat Software

    Characteristics

    Self-organizing teams Product progresses in a series of month-long

    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

    5

    6

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    4/20

    20032009 Mountain Goat Software

    Project noise level

    Simple

    Complex

    Anarchy

    Com

    plicated

    Technology

    Requirements

    Far fromAgreement

    Close toAgreement

    Closeto

    Certainty

    Farfrom

    Certainty

    Source: Strategic Management andOrganizational Dynamics by Ralph Stacey in

    Agile Software Development with Scrum by

    Ken Schwaber and Mike Beedle.

    20032009 Mountain Goat Software

    20032009 Mountain Goat Software

    Scrum

    Cancel

    Gift wrap

    Return

    Sprint

    2-4 weeks

    Return

    Sprint goal

    Sprint

    backlogPotentially shippable

    product increment

    Productbacklog

    CouponsGift wrap

    Coupons

    Cancel

    24 hours

    7

    8

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    5/20

    20032009 Mountain Goat Software

    Sprints

    Scrum projects make progress in a series ofsprints

    Typical duration is 24 weeks or a calendarmonth at most

    A constant duration leads to a better rhythm

    Product is designed, coded, and tested duringthe sprint

    20032009 Mountain Goat Software

    Sequential vs. overlappingdevelopment

    Source: The New New Product Development Game by Takeuchiand Nonaka. Harvard Business Review, January 1986.

    Rather than doing all of

    one thing at a time...

    ...Scrum teams do a little

    of everything all the time

    Requirements Design Code Test

    9

    10

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    6/20

    20032009 Mountain Goat Software

    No changes during a sprint

    Plan sprint durations around how long you cancommit to keeping change out of the sprint

    Change

    20032009 Mountain Goat Software

    Scrum framework

    Product owner ScrumMaster

    Team

    Roles

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Product backlog Sprint backlog Burndown charts

    Artifacts

    11

    12

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    7/20

    20032009 Mountain Goat Software

    Scrum framework

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Product backlog Sprint backlog Burndown charts

    Artifacts

    Product owner

    ScrumMaster Team

    Roles

    20032009 Mountain Goat Software

    Product owner

    Define the features of the product Decide on release date and content Beresponsible for the profitability of the

    product (ROI)

    Prioritize features according to market value Adjustfeatures and priority every iteration, as

    needed Accept or reject work results

    13

    14

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    8/20

    20032009 Mountain Goat Software

    The ScrumMaster

    Represents management to the project

    Responsible for enacting Scrum values andpractices

    Removes impediments Ensure that the team is fully functional and

    productive

    Enable close cooperation across all roles andfunctions

    Shield the team from external interferences

    20032009 Mountain Goat Software

    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

    15

    16

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    9/20

    20032009 Mountain Goat Software

    Product owner

    ScrumMaster Team

    Roles

    Scrum framework

    Product backlog Sprint backlog Burndown charts

    Artifacts

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    20032009 Mountain Goat Software

    Sprint planning meeting

    Sprint prioritization

    Analyze and evaluate productbacklog

    Select sprint goal

    Sprint planning

    Decide how to achieve sprintgoal (design)

    Create sprint backlog (tasks)from product backlog items

    (user stories / features)

    Estimate sprint backlog in hours

    17

    18

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    10/20

    20032009 Mountain Goat Software

    Sprint planning

    Team selects items from the product backlog they cancommit 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)

    20032009 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

    19

    20

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    11/20

    20032009 Mountain Goat Software

    Everyone answers 3 questions

    These are not status for the ScrumMaster They are commitments in front of peers

    20032009 Mountain Goat Software

    The sprint review

    Team presents what it accomplished duringthe sprint

    Typically takes the form of a demo of newfeatures or underlying architecture Informal

    2-hour prep time rule No slides

    Whole team participates

    Invite the world

    21

    22

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    12/20

    20032009 Mountain Goat Software

    Sprint retrospective

    Periodically take a look at what is and is notworking

    Typically 1530 minutes Done after every sprint Whole team participates

    ScrumMaster

    Product owner

    Team Possibly customers and others

    20032009 Mountain Goat Software

    Start / Stop / Continue

    Whole team gathers and discusses what theydlike to:

    This is just oneof many ways

    to do a sprintretrospective.

    23

    24

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    13/20

    20032009 Mountain Goat Software

    Product owner

    ScrumMaster Team

    Roles

    Scrum framework

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Product backlog Sprint backlog Burndown charts

    Artifacts

    20032009 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 theusers or customers of theproduct

    Prioritized by the productowner

    Reprioritized at the start ofeach sprint

    25

    26

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    14/20

    20032009 Mountain Goat Software

    A sample product backlog

    20032009 Mountain Goat Software

    The sprint goal

    A short statement of what the work will befocused on during the sprint

    Database Application

    Financial services

    Life SciencesSupport features necessary forpopulation genetics studies.

    Support more technical

    indicators than company ABCwith real-time, streaming data.

    Make the application run onSQL Server in addition toOracle.

    27

    28

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    15/20

    20032009 Mountain Goat Software

    Managing the sprint backlog

    Individuals sign up for work of their own choosing

    Work is never assigned Estimated work remaining is updated daily

    Any team member can add, delete or change thesprint backlog

    Work for the sprint emerges

    If work is unclear, define a sprint backlog item with alarger amount of time and break it down later

    Update work remaining as more becomes known

    20032009 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

    29

    30

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    16/20

    20032009 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

    Hours

    20032009 Mountain Goat Software

    Hours

    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

    31

    32

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    17/20

    20032009 Mountain Goat Software

    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 projects of over 1,000people

    20032009 Mountain Goat Software

    Scaling through the Scrumof scrums

    33

    34

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    18/20

    20032009 Mountain Goat Software

    Programmers

    ScrumMasters

    UI Designers

    Testers

    DBAs

    20032009 Mountain Goat Software

    A Scrum reading list Agile Estimating and Planningby Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler

    Agile Project Managementwith Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa

    Crispin and Janet Gregory

    Coaching Agile Teams by Lyssa Adkins Succeeding with Agile: Software Development using Scrum by Mike

    Cohn

    The Software Project Managers Bridge to Agilityby Michele Sligerand Stacia Broderick

    User Stories Applied for Agile Software Developmentby Mike Cohn

    35

    36

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    19/20

    20032009 Mountain Goat Software

    About this presentation...

    A Creative Commons version of thispresentation is available at:www.mountaingoatsoftware.com/scrum-a-presentation

    Available in Keynote and PowerPoint format

    Translated into nineteen languages (so far!)

    20032009 Mountain Goat Software

    Upcoming classes in Oslo

    Informationand

    registrationatwww.programutvik

    ling.no

    37

    38

  • 8/8/2019 Getting Agile With Scrum Cohn NDC2010

    20/20

    20032009 Mountain Goat Software

    Mike Cohn

    [email protected]

    (720) 8906110

    39