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