scrum introduction 2010-02-10

Upload: anupdh

Post on 07-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Scrum Introduction 2010-02-10

    1/20

    Mountain Goat Software, LLC

    An Introduction

    to Scrum

    Mike Cohn

    February 10, 2010

    Mountain Goat Software, LLC

    Mike Cohn - background

    1

    2

  • 8/6/2019 Scrum Introduction 2010-02-10

    2/20

    Mountain Goat Software, LLC

    Were losing the relay race

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

    The relay race approach to product

    developmentmay conflict with the goals of

    maximum speed andflexibility. 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.

    Mountain Goat Software, LLC

    Scrum has been used by: Microsoft Yahoo Google Electronic ArtsIBM

    Lockheed Martin Philips Siemens Nokia Capital OneBBC Intuit

    Nielsen Media First American Real Estate BMC Software Ipswitch John Deere

    Lexis Nexis Sabre Salesforce.com Time Warner Turner BroadcastingOce

    3

    4

  • 8/6/2019 Scrum Introduction 2010-02-10

    3/20

    Mountain Goat Software, LLC

    Scrum has been used for:

    Commercial software

    In-house development

    Contract development

    Fixed-price projects

    Financial applications

    ISO 9001-certifiedapplications

    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 applicationsin use

    Mountain Goat Software, LLC

    Characteristics

    Self-organizing teams Product progresses in a series of 2-4 week

    sprints

    Requirements are captured as items in a list ofproduct 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/6/2019 Scrum Introduction 2010-02-10

    4/20

    Mountain Goat Software, LLC

    The Agile Manifestoastatement of values

    over

    over

    Source: www.agilemanifesto.org

    over

    over

    Mountain Goat Software, LLC

    Project noise level

    Simple

    Complex

    Anarchy

    Complicated

    Technology

    Requireme

    nts

    Far from

    Agreement

    Close toAgreement

    Closeto

    Certainty

    Farfrom

    Certainty

    Source: Strategic Management andOrganizational Dynamics by Ralph Stacey in

    Agile Software Development with Scrum byKen Schwaber and Mike Beedle.

    7

    8

  • 8/6/2019 Scrum Introduction 2010-02-10

    5/20

    Mountain Goat Software, LLC

    Scrum

    Cancel

    Gift wrap

    Return

    Sprint

    2-4 weeks

    Return

    Sprint goal

    Sprint

    backlogPotentially shippable

    product increment

    Product

    backlog

    CouponsGift wrap

    Coupons

    Cancel

    24 hours

    Mountain Goat Software, LLC

    Putting it all together

    Image available atwww.mountaingoatsoftware.com/scrum

    9

    10

  • 8/6/2019 Scrum Introduction 2010-02-10

    6/20

    Mountain Goat Software, LLC

    Sprints

    Scrum projects make progress in a series ofsprints

    Analogous to Extreme Programming iterations

    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

    Mountain Goat Software, LLC

    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

    11

    12

  • 8/6/2019 Scrum Introduction 2010-02-10

    7/20

    Mountain Goat Software, LLC

    No changes during a sprint

    Plan sprint durations around how long you can

    commit to keeping change out of the sprint

    Change

    Mountain Goat Software, LLC

    Scrum framework

    Product owner ScrumMaster Team

    Roles

    Sprint planning

    Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Product backlog Sprint backlog Burndown charts

    Artifacts

    13

    14

  • 8/6/2019 Scrum Introduction 2010-02-10

    8/20

    Mountain Goat Software, LLC

    Scrum framework

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Product backlog

    Sprint backlog Burndown charts

    Artifacts

    Product owner ScrumMaster Team

    Roles

    Mountain Goat Software, LLC

    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

    15

    16

  • 8/6/2019 Scrum Introduction 2010-02-10

    9/20

    Mountain Goat Software, LLC

    The ScrumMaster

    Represents management to the project Responsible for enacting Scrum values and

    practices Removes impediments Ensure that the team is fully functional and

    productive

    Enable close cooperation across all roles andfunctions

    Shield the team from external interferences

    Mountain Goat Software, LLC

    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

    17

    18

  • 8/6/2019 Scrum Introduction 2010-02-10

    10/20

    Mountain Goat Software, LLC

    Product owner ScrumMaster Team

    Roles

    Scrum framework

    Product backlog

    Sprint backlog Burndown charts

    Artifacts

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Mountain Goat Software, LLC

    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

    19

    20

  • 8/6/2019 Scrum Introduction 2010-02-10

    11/20

    Mountain Goat Software, LLC

    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)

    Mountain Goat Software, LLC

    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

    21

    22

  • 8/6/2019 Scrum Introduction 2010-02-10

    12/20

    Mountain Goat Software, LLC

    Everyone answers 3 questions

    These are not status for the ScrumMaster

    They are commitments in front of peers

    Mountain Goat Software, LLC

    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

    23

    24

  • 8/6/2019 Scrum Introduction 2010-02-10

    13/20

    Mountain Goat Software, LLC

    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

    Mountain Goat Software, LLC

    Start / Stop / Continue

    Whole team gathers and discusses what theydlike to:

    This is just oneof many waysto do a sprintretrospective.

    25

    26

  • 8/6/2019 Scrum Introduction 2010-02-10

    14/20

    Mountain Goat Software, LLC

    Product owner ScrumMaster Team

    Roles

    Scrum framework

    Sprint planning Sprint review Sprint retrospective Daily scrum meeting

    Ceremonies

    Product backlog

    Sprint backlog Burndown charts

    Artifacts

    Mountain Goat Software, LLC

    Product backlog

    The requirements A list of all desired work on

    the project

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

    Prioritized by the productowner

    Reprioritized at the start ofeach sprint

    27

    28

  • 8/6/2019 Scrum Introduction 2010-02-10

    15/20

    Mountain Goat Software, LLC

    A sample product backlog

    Mountain Goat Software, LLC

    The sprint goal A short statement of what the work will be

    focused on during the sprint

    Database Application

    Financial services

    Life Sciences

    Support features necessary for

    population genetics studies.

    Support more technicalindicators than company ABCwith real-time, streaming data.

    Make the application run onSQL Server in addition toOracle.

    29

    30

  • 8/6/2019 Scrum Introduction 2010-02-10

    16/20

    Mountain Goat Software, LLC

    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 the

    sprint 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

    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

    31

    32

  • 8/6/2019 Scrum Introduction 2010-02-10

    17/20

    Mountain Goat Software, LLC

    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

    Mountain Goat Software, LLC

    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

    33

    34

  • 8/6/2019 Scrum Introduction 2010-02-10

    18/20

    Mountain Goat Software, LLC

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

    Mountain Goat Software, LLC

    Scrum of scrums of scrums

    35

    36

  • 8/6/2019 Scrum Introduction 2010-02-10

    19/20

    Mountain Goat Software, LLC

    Where to go next

    www.mountaingoatsoftware.com/scrum

    Agile Project Managementwith Scrum by Ken Schwaber

    Succeeding with Agile: Software Development using Scrum by MikeCohn

    Agile Product Management with Scrum by Roman Pichler

    Coaching Agile Teams: A Companion for Scrum Masters, Agile Coachesand Project Managers in Transition by Lyssa Adkins

    Mountain Goat Software, LLC

    Copyright notice Visit

    http://www.mountaingoatsoftware.com/scrum-a-presentation

    for a slightly different version of this presentation that isavailable for editing, redistribution, and representation under

    a Creative Commons license. It has also been translated into 16 additional languages.

    37

    38

  • 8/6/2019 Scrum Introduction 2010-02-10

    20/20

    Mountain Goat Software, LLC

    Upcoming public classes

    Mike Cohn

    [email protected]

    www.mountaingoatsoftware.com

    twitter: mikewcohn(720) 8906110

    Contact information

    39