Re Distributable Intro to Scrum

Embed Size (px)

Citation preview

  • 8/10/2019 Re Distributable Intro to Scrum

    1/46

    Mountain Goat Software,

    LLC

    An Introduction

    to Scrum

  • 8/10/2019 Re Distributable Intro to Scrum

    2/46

    Mountain Goat Software,

    LLC

    Presented by

    An Introduction to Scrum

  • 8/10/2019 Re Distributable Intro to Scrum

    3/46

    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 raceapproach to product

    developmentmay conflict with the goals

    of maximum speed and flexibility. Instead

    a holistic or rugbyapproachwhere ateam tries to go the distance as a unit,

    passing the ball back and forthmay

    better serve todays competitive

    requirements.

  • 8/10/2019 Re Distributable Intro to Scrum

    4/46

    Mountain Goat Software,

    LLC

    Scrum is an agile process that allows us to focus ondelivering the highest business value in the shortest

    time.

    It allows us to rapidly and repeatedly inspect actual

    working software (every two weeks to one month). The business sets the priorities. Teams self-organize to

    determine the best way to deliver the highest priority

    features.

    Every two weeks to a month anyone can see realworking software and decide to release it as is orcontinue to enhance it for another sprint.

    Scrum in 100 words

  • 8/10/2019 Re Distributable Intro to Scrum

    5/46

    Mountain Goat Software,

    LLC

    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 withSutherland

    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

  • 8/10/2019 Re Distributable Intro to Scrum

    6/46

    Mountain Goat Software,LLC

    Scrum has been used by:

    Microsoft

    Yahoo

    Google

    Electronic Arts

    High Moon StudiosLockheed Martin

    Philips

    Siemens

    NokiaCapital One

    BBC

    Intuit

    Intuit

    Nielsen Media

    First American Real Estate

    BMC Software

    IpswitchJohn Deere

    Lexis Nexis

    Sabre

    Salesforce.comTime Warner

    Turner Broadcasting

    Oce

  • 8/10/2019 Re Distributable Intro to Scrum

    7/46

    Mountain Goat Software,LLC

    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 largestapplications in use

  • 8/10/2019 Re Distributable Intro to Scrum

    8/46

    Mountain Goat Software,LLC

    Characteristics

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

    sprints

    Requirements are captured as items in a list ofproduct backlog No specific engineering practices prescribed

    Uses generative rules to create an agileenvironment for delivering projects One of the agile processes

    Th A il M if t t t t

  • 8/10/2019 Re Distributable Intro to Scrum

    9/46

    Mountain Goat Software,LLC

    The Agile Manifestoa statementof values

    Process and toolsIndividuals and

    interactionsover

    Following a planResponding to

    changeover

    Source: www.agilemanifesto.org

    ComprehensivedocumentationWorking software over

    Contract negotiationCustomer

    collaborationover

  • 8/10/2019 Re Distributable Intro to Scrum

    10/46

    Mountain Goat Software,LLC

    Project noise level

    Simple

    Complex

    Anarchy

    Technology

    R

    equirement

    s

    Far from

    Agreement

    Close to

    Agreement

    Closeto

    C

    ertainty

    F

    arfrom

    C

    ertainty

    Source: Strategic Management and

    Organizational Dynamicsby Ralph

    Stacey inAgile Software Developmentwith Scrumby Ken Schwaber and Mike

    Beedle.

  • 8/10/2019 Re Distributable Intro to Scrum

    11/46

    Mountain Goat Software,LLC

    Scrum

    CancelGift wrap

    Return

    Sprint

    2-4 weeks

    Return

    Sprint goal

    Sprint

    backlogPotentially shippable

    product increment

    Product

    backlog

    CouponsGift wrapCoupons

    Cancel

    24 hours

  • 8/10/2019 Re Distributable Intro to Scrum

    12/46

    Mountain Goat Software,LLC

    Putting it all together

    Image available at

    www.mountaingoatsoftware.com/scrum

  • 8/10/2019 Re Distributable Intro to Scrum

    13/46

    Mountain Goat Software,LLC

    Sprints

    Scrum projects make progress in a seriesof sprints

    Analogous to Extreme Programming iterations

    Typical duration is 24 weeks or acalendar month at most

    A constant duration leads to a betterrhythm

    Product is designed, coded, and testedduring the sprint

    equen a vs over app ng

  • 8/10/2019 Re Distributable Intro to Scrum

    14/46

    Mountain Goat Software,LLC

    equen a vs. over app ngdevelopment

    Source: The New New Product Development Gameby

    Takeuchi and Nonaka. Harvard Business Review,January 1986.

    Rather than doing allof one thing at a

    time... ...Scrum teams do a

    little of everything all

    the time

    Requirement

    sDesign Code Test

  • 8/10/2019 Re Distributable Intro to Scrum

    15/46

    Mountain Goat Software,LLC

    No changes during a sprint

    Plan sprint durations around how long youcan commit to keeping change out of the

    sprint

    Change

  • 8/10/2019 Re Distributable Intro to Scrum

    16/46

    Mountain Goat Software,LLC

    Scrum framework

    Product ownerScrumMasterTeam

    Roles

    Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

    Ceremonies

    Product backlogSprint backlogBurndown charts

    Artifacts

  • 8/10/2019 Re Distributable Intro to Scrum

    17/46

    Mountain Goat Software,LLC

    Scrum framework

    Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

    Ceremonies

    Product backlogSprint backlogBurndown charts

    Artifacts

    Product ownerScrumMasterTeam

    Roles

  • 8/10/2019 Re Distributable Intro to Scrum

    18/46

    Mountain Goat Software,LLC

    Product owner

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

    product (ROI)

    Prioritize features according to marketvalue

    Adjust features and priority every iteration,as needed

    Accept or reject work results

  • 8/10/2019 Re Distributable Intro to Scrum

    19/46

    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

  • 8/10/2019 Re Distributable Intro to Scrum

    20/46

    Mountain Goat Software,LLC

    The team

    Typically 5-9 people Cross-functional:

    Programmers, testers, user experiencedesigners, etc.

    Members should be full-time May be exceptions (e.g., database administrator)

  • 8/10/2019 Re Distributable Intro to Scrum

    21/46

    Mountain Goat Software,LLC

    The team

    Teams are self-organizing Ideally, no titles but rarely a possibility

    Membership should change only betweensprints

  • 8/10/2019 Re Distributable Intro to Scrum

    22/46

    Mountain Goat Software,LLC

    Product ownerScrumMasterTeam

    Roles

    Scrum framework

    Product backlogSprint backlogBurndown charts

    Artifacts

    Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

    Ceremonies

  • 8/10/2019 Re Distributable Intro to Scrum

    23/46

    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

    Sprint

    goal

    Sprint

    backlog

    Business

    conditions

    Team

    capacity

    Product

    backlog

    Technology

    Current

    product

  • 8/10/2019 Re Distributable Intro to Scrum

    24/46

    Mountain Goat Software,LLC

    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-16hours)

    Collaboratively, not done alone by the ScrumMaster High-level design is considered

    As a vacation

    planner, I want tosee photos of thehotels.

    Code the middle tier (8 hours)

    Code the user interface (4)Write test fixtures (4)

    Code the foo class (6)

    Update performance tests (4)

    Th d il

  • 8/10/2019 Re Distributable Intro to Scrum

    25/46

    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, productowner, can talk Helps avoid other unnecessary meetings

    E 3 ti

  • 8/10/2019 Re Distributable Intro to Scrum

    26/46

    Mountain Goat Software,LLC

    Everyone answers 3 questions

    These are notstatus for the ScrumMaster They are commitments in front of peers

    What did you do yesterday? 1

    What will you do today?

    2

    Is anything in your way?3

    Th i t i

  • 8/10/2019 Re Distributable Intro to Scrum

    27/46

    Mountain Goat Software,LLC

    The sprint review

    Team presents what it accomplishedduring the sprint Typically takes the form of a demo of new

    features or underlying architecture

    Informal 2-hour prep time rule No slides

    Whole team participates Invite the world

    S i t t ti

  • 8/10/2019 Re Distributable Intro to Scrum

    28/46

    Mountain Goat Software,LLC

    Sprint retrospective

    Periodically take a look at what is and isnot working Typically 1530 minutes

    Done after every sprint Whole team participates ScrumMaster

    Product owner

    Team Possibly customers and others

    St t / St / C ti

  • 8/10/2019 Re Distributable Intro to Scrum

    29/46

    Mountain Goat Software,LLC

    Start / Stop / Continue

    Whole team gathers and discusses whattheyd like to:

    Start doing

    Stop doing

    Continue doingThis is just oneof many ways todo a sprint

    retrospective.

    S f k

  • 8/10/2019 Re Distributable Intro to Scrum

    30/46

    Mountain Goat Software,LLC

    Product ownerScrumMasterTeam

    Roles

    Scrum framework

    Sprint planningSprint reviewSprint retrospectiveDaily scrum meeting

    Ceremonies

    Product backlogSprint backlogBurndown charts

    Artifacts

    Prod ct backlog

  • 8/10/2019 Re Distributable Intro to Scrum

    31/46

    Mountain Goat Software,LLC

    Product backlog

    The requirementsA 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 sprintThis is the

    product backlog

    A sample product backlog

  • 8/10/2019 Re Distributable Intro to Scrum

    32/46

    Mountain Goat Software,LLC

    A sample product backlog

    Backlog item Estimate

    Allow a guest to make a reservation 3

    As a guest, I want to cancel a

    reservation.5

    As a guest, I want to change the dates ofa reservation.

    3

    As a hotel employee, I can run RevPAR

    reports (revenue-per-available-room)8

    Improve exception handling 8

    ... 30

    ... 50

    The sprint goal

  • 8/10/2019 Re Distributable Intro to Scrum

    33/46

    Mountain Goat Software,LLC

    The sprint goal

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

    Database Application

    Financial services

    Life Sciences

    Support features necessary for

    population genetics studies.

    Support more technical indicators

    than company ABC with real-

    time, streaming data.

    Make the application run on SQL

    Server in addition to Oracle.

    Managing the sprint backlog

  • 8/10/2019 Re Distributable Intro to Scrum

    34/46

    Mountain Goat Software,LLC

    Managing the sprint backlog

    Individuals sign up for work of their ownchoosing Work is never assigned

    Estimated work remaining is updated daily

    Managing the sprint backlog

  • 8/10/2019 Re Distributable Intro to Scrum

    35/46

    Mountain Goat Software,LLC

    Managing the sprint backlog

    Any team member can add, delete or changethe sprint backlog Work for the sprint emerges

    If work is unclear, define a sprint backlog itemwith a larger amount of time and break it downlater

    Update work remaining as more becomesknown

    A sprint backlog

  • 8/10/2019 Re Distributable Intro to Scrum

    36/46

    Mountain Goat Software,LLC

    A sprint backlog

    Tasks

    Code the user interface

    Code the middle tier

    Test the middle tier

    Write online help

    Write the foo class

    Mon

    8

    16

    8

    12

    8

    Tues

    4

    12

    16

    8

    Wed Thur

    4

    11

    8

    4

    Fri

    8

    8

    Add error logging

    8

    10

    16

    8

    8

    A sprint burndown chart

  • 8/10/2019 Re Distributable Intro to Scrum

    37/46

    Mountain Goat Software,LLC

    A sprint burndown chart

    Hours

  • 8/10/2019 Re Distributable Intro to Scrum

    38/46

    Scalability

  • 8/10/2019 Re Distributable Intro to Scrum

    39/46

    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 multiple 500+person projects

    Scaling through the Scrum of

  • 8/10/2019 Re Distributable Intro to Scrum

    40/46

    Mountain Goat Software,LLC

    g gscrums

    Scrum of scrums of scrums

  • 8/10/2019 Re Distributable Intro to Scrum

    41/46

    Mountain Goat Software,LLC

    Scrum of scrums of scrums

    Where to go next

  • 8/10/2019 Re Distributable Intro to Scrum

    42/46

    Mountain Goat Software,LLC

    Where to go next

    www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com [email protected]

    A Scrum reading list

  • 8/10/2019 Re Distributable Intro to Scrum

    43/46

    Mountain Goat Software,LLC

    A Scrum reading list

    Agile and Iterative Development: A Managers GuidebyCraig Larman

    Agile Estimating and Planningby Mike Cohn Agile Project Managementwith Scrum by Ken Schwaber Agile Retrospectivesby Esther Derby and Diana Larsen

    A Scrum reading list

  • 8/10/2019 Re Distributable Intro to Scrum

    44/46

    Mountain Goat Software,LLC

    A Scrum reading list

    Agile Software Development Ecosystemsby Jim Highsmith

    Agile Software Development with Scrumby Ken SchwaberandMike Beedle

    Scrum and The Enterpriseby Ken Schwaber

    Succeeding with Agile by Mike Cohn User Stories Applied for Agile Software Developmentby

    Mike Cohn

    Copyright notice

  • 8/10/2019 Re Distributable Intro to Scrum

    45/46

    Mountain Goat Software,LLC

    Copyright notice

    You are free: to Shareto copy, distribute and and transmit the work to Remixto adapt the work

    Under the following conditions Attribution. You must attribute the work in the manner

    specified by the author or licensor (but not in any way thatsuggests that they endorse you or your use of the work).

    Nothing in this license impairs or restrictsthe authors moral rights.

    For more information seehttp://creativecommons.org/licenses/by/3.0/

    Contact information

  • 8/10/2019 Re Distributable Intro to Scrum

    46/46

    Mountain Goat Software,LLC

    Contact information

    Presentation by: Mike Cohn

    [email protected]

    www.mountaingoatsoftware.com

    (720) 890-6110 (office)