Innolution Agile Planning Rubin

download Innolution Agile Planning Rubin

of 26

Transcript of Innolution Agile Planning Rubin

  • 8/8/2019 Innolution Agile Planning Rubin

    1/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights R

    Agile P lanningby Kenny Rubin

    Includes slides from:

  • 8/8/2019 Innolution Agile Planning Rubin

    2/26

  • 8/8/2019 Innolution Agile Planning Rubin

    3/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    2

    [email protected]

    (303) 827-3333 (office)

    (303) 589-5938 (mobile)

    InstructorKenny Rubin

    Managing Director

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    3

    Multi-level

    PlanningMulti-level

    Planning

  • 8/8/2019 Innolution Agile Planning Rubin

    4/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    4

    ExercisePlanning Retrospective

    At which points in your SDLC do you performplanning?

    What are your typically critical constraintswhen planning (e.g., date, features, etc.)?

    What is your source of estimates and dates?

    All-encompassing task-oriented plans created

    upfront Reluctance to update plans Little buy-in to dates from

    team

    Created at multiple levelsof detail

    Frequently updated Created by team with full

    buy-in

    Sequential Agile

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    5

    ExercisePlanning Assessment(P lanning Levels)

    Before the first iteration, wecreate an initial plan thatshows an incremental releaseof features and we updatethis plan during the project.

    At the start of each iterationwe create a plan showing thetasks that well work onduring that iteration.

    N/ AFalseMoreFalsethanTrue

    MoreTruethanFalse

    True

  • 8/8/2019 Innolution Agile Planning Rubin

    5/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    6

    ExercisePlanning Assessment(Critical Variables)

    Product owners are willing todiscuss tradeoffs betweenscope and schedule.

    Product owners prioritizework for teams.

    One or more of scope,schedule, or resources isallowed to change during aproject.

    N/ AFalseMoreFalsethanTrue

    MoreTruethanFalse

    True

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    7

    ExercisePlanning Assessment(Progress Tracking)

    We create and update iterationburndown charts, which showshow much estimated work isremaining each day.

    At the end of each iteration,we create a release burndownchart, which shows how much

    work remains in the release.

    Features are either completeor not; no partial credit isgiven.

    Teams knows their velocity.

    N/ AFalseMoreFalsethanTrue

    MoreTruethanFalse

    True

  • 8/8/2019 Innolution Agile Planning Rubin

    6/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    8

    ExercisePlanning Assessment(Source of Dates and Estimates)

    Estimates are createdcollaboratively by the peoplewho will do the work.

    Developers are included inthe planning process in away that they canmeaningfully andappropriately affect scopeand deadlines.

    N/ AFalseMoreFalsethanTrue

    MoreTruethanFalse

    True

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    9

    ExercisePlanning Assessment(When Do We Plan)

    Teams communicate the needto change release date orscope as soon as they arediscovered.

    Team members leave planningmeetings knowing what needsto be done and haveconfidence they can meet theircommitments.

    Effort spent on planning isspread approximately evenlythroughout the project.

    Upfront planning is helpfulwithout being excessive.

    N/ AFalseMoreFalsethanTrue

    MoreTruethanFalse

    True

  • 8/8/2019 Innolution Agile Planning Rubin

    7/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    10

    What Makes Planning Agile?

    Is more focused onplanning than the plan

    Is more focused onIs more focused on

    planning than the planplanning than the plan

    Encourages changeEncourages changeEncourages change

    Results in plans thatare easily changed

    Results in plans thatResults in plans that

    are easily changedare easily changed

    Is spread throughoutthe project

    Is spread throughoutIs spread throughout

    the projectthe project

    Balances effort withprobability of changeBalances effort withBalances effort withprobability of changeprobability of change

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    11

    Exercise: Double Black DiamondSurvival Project

    Project goal is to getto from the top of themountain to thebottom using theequipment, time andresources that you

    have been allocated Plan your project!

  • 8/8/2019 Innolution Agile Planning Rubin

    8/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    12

    Does Agile Mean Dont Plan?

    No! The opposite, agile puts a premium onplanning

    PlanningLevel Frequency Who Focus

    Product1-2 times per

    yearProduct ownerand executives

    Product evolution overtime

    Release3-4 times per

    yearProduct owner

    and team

    Tradeoffs betweenfeatures and delivery

    date

    SprintEvery

    iterationProduct owner

    and team

    What features can bedelivered within the

    sprint

    Daily Every day TeamHow to complete

    committed features

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    13

    The Planning Onion

    AgileProduct

    Managementis

    mostlyconcerned

    withthespacefromProducttoSprint.

    StrategyStrategy

    PortfolioPortfolio

    ProductProduct

    ReleaseRelease

    SprintSprint

    DailyDaily

  • 8/8/2019 Innolution Agile Planning Rubin

    9/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    14

    Product Roadmap

    Q107 Q207 Q307 Q407

    MarketMap

    Feature/Benefit Map

    ArchitectureMap

    MarketEvents

    ReleaseSchedule

    Ruby onRails

    ScrumGathering

    0.5

    Class ListingsCST Support

    MembershipBulk Loading

    Launch &Retire

    1.0

    Agile 2007

    SearchingFiltering

    RegOnlineIntegration

    Based on design from Luke Hohmann

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    15

    Roadmaps and Backlogs AreIndependent But Linked

    Q107 Q207 Q307 Q407

    MarketMap

    Feature/Benefit Map

    ArchitectureMap

    MarketEvents

    ReleaseSchedule

    Ruby onRails

    ScrumGathering

    0.5

    Class ListingsCST Support

    MembershipBulk Loading

    Launch &Retire

    1.0

    Agile2007

    SearchingFiltering

    RegOnlineIntegration

    Story 41

    Story 16

    Story 15

    Story 4

    Story 3

    Story 2

    Story 1

  • 8/8/2019 Innolution Agile Planning Rubin

    10/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    16

    Release Planning

    Release Plan

    Sprint 1Sprint 1 Sprint 2Sprint 2 Sprint 3Sprint 3 Sprint 4 - 7Sprint 4 - 7

    Release 1 Release 2 Release 3

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    17

    Sprint P lanning

    Sprint 1Sprint 1

    4Task 5

    5Task 4

    12Task 3

    6Task 2

    8Task 1

  • 8/8/2019 Innolution Agile Planning Rubin

    11/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    18

    Putting It All Together

    Release 1 Release 2 Release 3

    Release Plan

    Sprint 1Sprint 1 Sprint 2Sprint 2 Sprint 3Sprint 3 Sprint 4 - 7Sprint 4 - 7

    4Task 5

    5Task 4

    12Task 3

    6Task 2

    8Task 1

    ProductRoadmap

    SprintBacklog

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    19

    When Does P lanning Occur?

    Stakeholders

    LeaderLeaderLeaderLeaderLeaderLeaderPO

    ReleasePlanning

    POPlanning

    SprintPlanning

    POPlanning

    Estimate SprintReview

    Leader

    SprintRetro

    Leader

    SprintPlanning

    Team &SM

    Jan Feb Mar

  • 8/8/2019 Innolution Agile Planning Rubin

    12/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    20

    Core Agile P lanning Elements

    Sum

    Story 41

    Story 16

    Story 15

    Story 4

    Story 3

    Story 2

    Story 1

    200

    5

    13

    2

    1

    8

    3

    5 Individual productbacklog estimates

    Individual productbacklog estimates Team velocity

    Team velocity

    Release size estimatesRelease size estimates

    of individualestimates

    Velocityismeasured

    intheunitsyou use

    toestimateProduct

    Backlogitems

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    21

    Whats a Good Plan?

    A good plan is one that supportsreliable decision-making

    Will go from

    Well be done in the fourth quarter Well be done in November Well be done November 7th

    ~John Maynard Keynes

    Its better to be roughly

    right than precisely wrong.Its better to be roughly

    right than precisely wrong.

  • 8/8/2019 Innolution Agile Planning Rubin

    13/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    22

    ...Three Levels of P recision

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    As a frequentflyer, I want to...

    33

    55

    55

    22

    33Yesterday I startedon the UI; I should

    finish before the endof today.

    Yesterday I startedon the UI; I should

    finish before the endof today.

    Code the UICode the UI 88

    Write test fixtureWrite test fixture 66

    Code middle tierCode middle tier 1212

    Write testsWrite tests 55

    Automate testsAutomate tests 44

    Product Backlog Sprint Backlog

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    23

    ReleasePlanningReleasePlanning

  • 8/8/2019 Innolution Agile Planning Rubin

    14/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    24

    What is Release Planning?

    To answer questions such as: How much will be done by June 30?

    When can we ship with this set of features? How many people or teams should be on this

    project?

    Purpose

    Velocitythe amount of work completedin a Sprint

    The length of the project Prioritized Product Backlog

    Inputs

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    25

    What Features to Include: MuSCoW

    Product Backlog

    Must have

    Should have

    Could have

    Wont haveMoved to the nextrelease (out of scope)

    123

  • 8/8/2019 Innolution Agile Planning Rubin

    15/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    26

    Minimum Marketable Features

    Components with intrinsic marketablevalue

    Creates business value by: Competitive differentiation Revenue generation Cost Saving Brand projection Enhanced loyalty

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    27

    An Example Theme

    ..., I want to book a flight using miles.

    As a frequent flyer, I want to book a flight.

    ..., I want to book a flight and pay for it.

    ..., I want to re-book a flight I take often.

    ..., I want to request an upgrade to first class.

    ..., I want to see if my upgrade cleared.

    Be sure you are organizing stories around user needs;not around how youll build the software or

    how the company is organized.

  • 8/8/2019 Innolution Agile Planning Rubin

    16/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    28

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    29

    Three ways to determine Initial Velocity

    Initial Velocity

    Use historical averagesUse historical averagesUse historical averages11

    Wait until you run at least one sprintWait until you run at least one sprintWait until you run at least one sprint

    22

    Forecast itForecast itForecast it33

    Express velocity as a range that matches youruncertainty in it

  • 8/8/2019 Innolution Agile Planning Rubin

    17/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    30

    Look at Velocity in a Few Ways

    Sprints

    Mean (Worst 3) = 28

    Mean (Last 8) = 33

    Last Observation = 36

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    31

    Extrapolate from Velocity

    At our long-term average well finish here(533)

    At our slowest velocity well finish here(528)

    At current velocity well finish here (536)

    Assume:Therearefive

    iterationsleft.

  • 8/8/2019 Innolution Agile Planning Rubin

    18/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    32

    Example: Updating a Release P lan

    Iterations

    Velocity Mean of worst 3

    Most recent

    Long-term average

    =

    =

    = 15

    Here are the results of the last 8 iterations. There are 6iterations left. Using this data, update the release planon the following slide by drawing three arrows into it.

    Here are the results of the last 8 iterations. There are 6iterations left. Using this data, update the release planon the following slide by drawing three arrows into it.

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    33

    Example: Update This Release P lan

    RunningTotal

    Estimate Story

    5 5 As a user, I can...

    10 5 As a user, I can...

    23 13 As a user, I can...

    31 8 As a user, I can...

    51 20 As a user, I can...

    59 8 As a user, I can...

    64 5 As a user, I can...

    72 8 As a user, I can...

    77 5 As a user, I can...

    85 8 As a user, I can...

    90 5 As a user, I can...

    93 3 As a user, I can...

    6 worst 3 = ____ 6 average of last 8 = ____ 6 most recent = ____

  • 8/8/2019 Innolution Agile Planning Rubin

    19/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    34

    Fixed-date P lanning

    1.Determine how many iterations you have

    2.Measure or estimate velocity as a range

    3.Multiply nominal velocity number of iterations

    Count off that many points

    These are Will Have items

    4.Multiply optimistic velocity number of iterations

    Count off that many more points These are Might Have items

    How much can I get by ?How much can I get by ?How much can I get by ?

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    35

    Fixed-date Planning: An Example

    Desired releasedate

    30 June

    Todays Date 1 January

    Number of

    iterations

    6 (monthly)

    Nominal velocity 15

    Optimisticvelocity

    20

    615

    620

    Will have

    Might have

    Wont have

  • 8/8/2019 Innolution Agile Planning Rubin

    20/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    36

    Fixed-scope P lanning

    1.Sum all the backlog items the customer needs

    2.Measure or estimate velocity as a range

    3.Divide total story points by optimistic velocity

    This is the shortest number of iterations itcould take

    4.Divide total story points by nominal velocity

    This is the most iterations it could take

    When will all of this be done?When will all of this be done?When will all of this be done?

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    37

    Fixed-scope planning: an example

    Total story points desired 120

    Nominal velocity 15

    Optimistic velocity 20

    12020=

    12015=

  • 8/8/2019 Innolution Agile Planning Rubin

    21/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    38

    SprintPlanningSprintPlanning

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    39

    Which Are We Talking About?

    4Automate tests

    5Write tests

    12Code middle tier

    6Write test fixture

    8Code the UI

    2As a frequent flyer,

    I want to

    2As a frequent flyer,

    I want to

    5As a frequent flyer,

    I want to

    5As a frequent flyer,

    I want to

    3As a frequent flyer,

    I want to

    Sprint2

    Sprint1

    Product Backlog Sprint Backlog

    Creatingthis

    isSprint

    Planning

    Yesterday I startedon the UI; I shouldfinish before theend of today.

    Yesterday I startedon the UI; I shouldfinish before theend of today.

  • 8/8/2019 Innolution Agile Planning Rubin

    22/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    40

    -3 -2 -1

    1 2 3 4 5

    6 7 8 9 10

    11 12 13 14 15

    16 17 18 19 20

    +1

    SprintPlanning

    Sprint Reviewand

    Retrospective

    Sprintprioritization

    SprintPlanning

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    41

    Sprint P lanning Meeting

    Product backlogProduct backlog

    Sprint GoalSprint GoalTeam capabilitiesTeam capabilities

    Business conditionsBusiness conditions

    TechnologyTechnology

    Current productCurrent product

    Sprint BacklogSprint Backlog

    Product

    Owner

    Product

    Owner

    Scrum

    Team

    Scrum

    Team

    ScrumMaste

    r

    ScrumMaste

    r

    Sprint PlanningMeeting

    (Conducted byProduct Owner)

    Sprint PlanningMeeting

    (Conducted byProduct Owner)

  • 8/8/2019 Innolution Agile Planning Rubin

    23/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    42

    The Sprint Goal

    A short statement of what the work willbe focused on during the Sprint

    Database Application

    Financial services

    Life Sciences

    Support features necessary forpopulation genetics studies.

    Support more technical

    indicators than company ABCwith real-time, streaming data.

    Make the application run on SQLServer in addition to Oracle.

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    43

    From Sprint Goal to Sprint Backlog

    Team working in conjunction with ProductOwner select Product Backlog items thatare aligned with Sprint Goal

    Team self-organizes around how theyllmeet the sprint goal

    ScrumMaster doesnt assign tasks toindividuals

    ScrumMaster doesnt make decisions for theteam

    Sprint Backlog is created

    List of tasks necessary to achieve the work isselected for the Sprint

  • 8/8/2019 Innolution Agile Planning Rubin

    24/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    44

    A Sprint Backlog

    Code the user interface

    Code the middle tier

    Create & automate tests

    Design user interface

    MonMon

    8

    16

    8

    12

    As a user, I want toread profiles of people

    Id like to date

    As a user, I want toread profiles of people

    Id like to date

    Code the user interface

    Code the middle tier

    Test the middle tier

    8

    16

    8

    As a user, I want tosearch for prospective

    dates on age range

    As a user, I want tosearch for prospective

    dates on age range

    You leave Sprint planning with an estimated set oftasks

    And the teams commitment to complete the productbacklog items represented by this Sprint Backlog

    You leave Sprint planning with an estimated set oftasks

    And the teams commitment to complete the productbacklog items represented by this Sprint Backlog

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    45

    Purpose of Sprint Planning

    Thepurposeofthesprintplanning

    meetingistoarriveatacommitmenttoa

    sprintgoalorsetofproductbacklog

    items.

    Thepurposeofthemeetingisnotto

    comeupwithalistoftasksandhours.

    Thetasksandestimatesareatoolfor

    determiningwhatwecancommitto.

  • 8/8/2019 Innolution Agile Planning Rubin

    25/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    46

    Cannotcommit

    Commitment-Driven SprintPlanning

    Ask ForTeam

    Commitment

    AdjustPriorities

    IdentifySprintGoal

    Select

    A StoryTo Add

    Split UserStories Into

    Tasks

    EstimateTasks

    Remove aUser Story

    SprintPlanningIs Done

    Can commit;but full

    Can commit;not full

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    47

    Why Agile Planning Works

    Eliminate Waste

    Dont plan too far into the future for features thatwe might never build

    Work in Progress is eliminated (completed) everySprint

    Schedule buffering (rather than task buffering)eliminates aggressive local safety waste

    Amplified Learning Replanning occurs frequently Estimates of size and duration are separated Uncertainty is acknowledged and planned for

    Leave Options Open as Long as Possible

    Feature buffering allows commitment to exactdeliverables at the time when best information isavailable

  • 8/8/2019 Innolution Agile Planning Rubin

    26/26

    Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

    48

    Why Agile Planning Works(Continued)

    Deliver as Fast As Possible

    Plans are based on features, not tasks Small stories (features) keep the work moving

    Resource alerts and effective prioritization enableearly finishes

    Empower the Team

    Estimating, planning and tracking are done at theteam level, not individual level

    Schedule buffering is done at the team level

    See the Whole

    Plans are made at different levels

    Focus on the end date (end of Sprint or end ofRelease) and not the specific task completion dates