Room to Breathe: The BA's role in project estimation
-
Upload
ufunctional -
Category
Technology
-
view
1.450 -
download
2
description
Transcript of Room to Breathe: The BA's role in project estimation
Robert T. Merrill, Principal
uFunctional LLC
Room to BreatheThe BA Role in Project
Commitments
You’re about to learn how to…• Facilitate estimates using
The Stretch• Talk about targets, estimates,
and commitments, andshape realistic expectations
• Prepare and use a requirements-based project history forparametric estimation
Signs of suffocation• Schedule slips• Cost overruns• Forced overtime• Half-finished features scrapped• Late-lifecycle tasks cut short• Poor quality• Net negative value
In the beginning was the ship date, and the requirements were without form, and void… Inception 1:2
The Stretch1. Visual Aid
2. Outcome
3. Team and Tools
4. Suggest crazy low number
5. Suggest crazy high number
6. Repeat until you have a curve
100
0
25
50
7590
Estimate to achieve Outcome
10
Product ConceptGreenRide promotes carpooling.
Employees enter their address, work start and end times, and vehicle info. Employees see everyone on a map, marked as being a carpool member or not.
A user admin creates employee accounts.
Product ConceptEmployees can join a carpool or start their own.
Employees mark days when they carpooled, and see how much they saved on fuel and CO2 emissions.
Product Concept
100
0
50
Team: Two strong ASP.NET, HCJ (HTML/ CSS/ Javascript) and SQL Server programmers.
Then I’ll lead you through an estimate.
MO0 9Prepare a Stretch chart for yourself.
%
The Stretch100
0
25
50
7590
10
The Stretch100
0
25
50
7590
10
The Stretch100
0
25
50
7590
10
The Stretch100
0
25
50
7590
10
The Stretch100
0
25
50
7590
10
The Stretch100
0
25
50
7590
10
10% 50% 90%
The Stretch100
0
25
50
7590
10
10% 50% 90%
2 mo
4 mo
8 mo
The Stretch100
0
25
50
7590
10
10% 50% 90%
2 mo
4 mo
8 mo
4 months 50%,2-8, 80%
Expressing EstimatesFor the proposed scope and
team, the project has a 90% chance of being done as scheduled by the end of Q3 2011.
Given three months and the named 2-person team, the project has a 75% chance of delivering the defined scope.
Expressing EstimatesAs defined, the product cost has
an 80% chance of being between $100K and $400K.
If it doesn’t come with a probability, it’s not an estimate.
It’s something else.
Four Brutal Facts
1. Ranges and probabilities will be unacceptable to someone.
2. The size of the range will be unacceptable to someone else.
3. The only way to reduce the range is to reduce sources of uncertainty.
Four Brutal Facts
4. Reducing sources of uncertainty takes:
• Decisions that stick
• Time
• Money
I just need a rough estimate. I won’t hold you to it. —Pinocchio
So it begins. —Théoden
Key Definitions
Target: Desired outcomeI’d like the shopping feature in time for holiday peak.
Estimate: Likelihood of an outcomeThe team has a 50% chance of finishing the shopping feature by December 1.
Commitment: Agreement to an outcomeBoss: It’s live by November 1st, or else.Team: OK, we’ll get it done somehow.
Desk-Pounder Scenario
Negotiated Scenario
A famous, misused chart
(The Cone of Uncertainty, from Software Estimation) 1.0x
4.0x
0.25x
A famous, misused chart
(The Cone of Uncertainty, from Software Estimation) 1.0x
4.0x
0.25x
TotalUncertainty
(Scope &Effort)
A famous, misused chart
(The Cone of Uncertainty, from Software Estimation) 1.0x
4.0x
0.25x
A famous, misused chart
(The Cone of Uncertainty, from Software Estimation) 1.0x
4.0x
0.25x
TotalUncertainty
(Scope &Effort)
InitialConcept
UI DesignComplete
The Estimation Problem
The Estimation Problem
The Estimation Problem
The Estimation Problem
The Estimation Problem
The Estimation Problem
The Estimation Problem
Your Mission…
Preserve Your Project’s
Room to Breathe
Through the Hot Zone
Crossing the Hot Zone• Understand it yourself• Encourage sound thinking• Negotiate well
–Delay commitment–Commit near the top of the Cone
Crossing the Hot Zone• Improve–Estimation (zero bias, real ranges)–Process—reduce uncertainty sooner–Project management
Sources of Uncertainty
Technology
RequirementsWe don’t know what it needs to do.
TeamWe don’t know how long that’s going to take.
TechnologyWe don’t know if that framework and those components are going to play nice.
Uncertainty is Increasing
Technology
RequirementsVolatility
TeamMore rolesVirtual teams
TechnologyLanguages PlatformsComponents Frameworks
Crossing the Hot Zone
Crossing the Hot Zone
Crossing the Hot Zone
Mistaken beliefsStretch goals
Parkinson’s Law and Student Syndrome
Trade quality for speed
Just add people
Gambling and suboptimal results
…are linear; suffocation is exponential
Haste makes waste
Mythical-Man-Month (1960s)
Common phrasesYou hear…You might say…I’ll find
somebody who
will!
That sounds like a threat to me (Pause). Especially if my job’s on the line, I can’t afford to risk my reputation by agreeing to something that I don’t think is true!
Common phrasesYou hear…You might say…But I’ve already
toldthe
CEO.
It’s good we’re finding out so quickly that’s probably not achievable. Would you like some help explaining to her why, and looking for the best option we do have?
Common phrasesYou hear…You might say…
There are
business realities
here.
Reality is good. Help me better understand the value proposition here. We can figure out something that will deliver value in that time frame—more than a failed project would.
Common phrasesYou hear…You might say…
I’d like to hear more of
a ‘Can-Do’ attitude
from you folks.
I’m real big on keeping commitments, and I’ve found it’s best if I don’t make commitments I can’t keep. I’d sure like to help you set goals for this project that we can all commit to.
Common phrases
The mighty oak was once justa little nut that stood its ground.
Do the math. —Anonymous
Parametric estimationAt its simplest:
Or fancier:
Hours=Hours per Countable Thing
XNumber of Countable Things
Countable things1. Related to effort2. Available early3. Low overhead4. Countable from software itself5. Not too ambiguous6. Makes non-technical sense
I’ve used: Lines of Code (LOC),Use Cases, Use Case Points, &Function Points
Making a parametric estimate1. Count (or estimate) the
Countable Thing (CTs)2. Look at Hours per Countable
Thing (HCT) from comparable projects (size, team, technology)
3. Multiply4. Estimate range
Example—Project History90-100 Countables in Greenride
Example—Project History90-100 Countables in Greenride
Designers arguing
Example—Project History90-100 Countables in Greenride
20 Reused
Designers arguing
Example—Project History90-100 Countables in Greenride
20 Reused
Designers arguing
Most like “N”
Example—Reasoning and Math
HCT =___ to ____
HCT=12.5-20%=10.0
Example—Reasoning and Math
HCT =___ to ____
HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5
Example—Reasoning and Math
HCT =___ to ____
HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5
5.7 17.5
Example—Reasoning and Math
HCT =___ to ____
H =___ x ____
HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5
5.7
9517.5
5.71700540
17.5
Example—Reasoning and Math
HCT =___ to ____
H =___ x ____
M =___ / (2 x ____)
HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5
5.7
9517.5
5.71700540
1700540 150
62
17.5
Example—Reasoning and Math
HCT =___ to ____
H =___ x ____
M =___ / (2 x ____)
HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5
5.7
9517.5
5.71700540
1700540 150
62
50% 3 months
17.5
80% 2-6 months
Example—Reasoning and Math
HCT =___ to ____
H =___ x ____
M =___ / (2 x ____)
HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5
5.7
9517.5
5.71700540
1700540 150
62
50% 3 months
17.5
80% 2-6 months
Parametric estimate—summary• Independent check• Negotiates well• Requires project history (3 or
more)• Project history is easy but no
one likes to maintain itThe best time to plant a tree is 30 years ago. The second best time is today.
You now know how to…
• Facilitate estimates usingThe Stretch
• Talk about targets, estimates, and commitments, andshape realistic expectations
• Prepare and use a requirements-based project history forparametric estimation
It’s tough to make predictions, especially about the future. —Yogi Berra