Room to Breathe: The BA's role in project estimation

67
Robert T. Merrill, Principal uFunctional LLC Room to Breathe The BA Role in Project Commitments

description

What's the Business Analyst's role in project estimation?According to this presentation, it's "Getting the project through the Hot Zone, with Room to Breathe."Room to Breathe means enough time for the team and project manager to deal with the remaining uncertainty as it comes up.The Hot Zone starts when up-front requirements and planning are yielding diminishing returns, the pressure to commit to a plan is mounting, and there's still more than about 25% uncertainty in the estimate.The difference between a requirements gatherer and a Business Analyst is that a BA provides great decision support, and the estimation problem is at the heart of that.

Transcript of Room to Breathe: The BA's role in project estimation

Page 1: Room to Breathe: The BA's role in project estimation

Robert T. Merrill, Principal

uFunctional LLC

Room to BreatheThe BA Role in Project

Commitments

Page 2: Room to Breathe: The BA's role in project estimation

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

Page 3: Room to Breathe: The BA's role in project estimation

Signs of suffocation• Schedule slips• Cost overruns• Forced overtime• Half-finished features scrapped• Late-lifecycle tasks cut short• Poor quality• Net negative value

Page 4: Room to Breathe: The BA's role in project estimation

In the beginning was the ship date, and the requirements were without form, and void… Inception 1:2

Page 5: Room to Breathe: The BA's role in project estimation

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

Page 6: Room to Breathe: The BA's role in project estimation

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.

Page 7: Room to Breathe: The BA's role in project estimation

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.

Page 8: Room to Breathe: The BA's role in project estimation

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.

%

Page 9: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

Page 10: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

Page 11: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

Page 12: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

Page 13: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

Page 14: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

10% 50% 90%

Page 15: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

10% 50% 90%

2 mo

4 mo

8 mo

Page 16: Room to Breathe: The BA's role in project estimation

The Stretch100

0

25

50

7590

10

10% 50% 90%

2 mo

4 mo

8 mo

4 months 50%,2-8, 80%

Page 17: Room to Breathe: The BA's role in project estimation

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.

Page 18: Room to Breathe: The BA's role in project estimation

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.

Page 19: Room to Breathe: The BA's role in project estimation

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.

Page 20: Room to Breathe: The BA's role in project estimation

Four Brutal Facts

4. Reducing sources of uncertainty takes:

• Decisions that stick

• Time

• Money

Page 21: Room to Breathe: The BA's role in project estimation

I just need a rough estimate. I won’t hold you to it. —Pinocchio

So it begins. —Théoden

Page 22: Room to Breathe: The BA's role in project estimation

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.

Page 23: Room to Breathe: The BA's role in project estimation

Desk-Pounder Scenario

Page 24: Room to Breathe: The BA's role in project estimation

Negotiated Scenario

Page 25: Room to Breathe: The BA's role in project estimation

A famous, misused chart

(The Cone of Uncertainty, from Software Estimation) 1.0x

4.0x

0.25x

Page 26: Room to Breathe: The BA's role in project estimation

A famous, misused chart

(The Cone of Uncertainty, from Software Estimation) 1.0x

4.0x

0.25x

TotalUncertainty

(Scope &Effort)

Page 27: Room to Breathe: The BA's role in project estimation

A famous, misused chart

(The Cone of Uncertainty, from Software Estimation) 1.0x

4.0x

0.25x

Page 28: Room to Breathe: The BA's role in project estimation

A famous, misused chart

(The Cone of Uncertainty, from Software Estimation) 1.0x

4.0x

0.25x

TotalUncertainty

(Scope &Effort)

InitialConcept

UI DesignComplete

Page 29: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 30: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 31: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 32: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 33: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 34: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 35: Room to Breathe: The BA's role in project estimation

The Estimation Problem

Page 36: Room to Breathe: The BA's role in project estimation

Your Mission…

Preserve Your Project’s

Room to Breathe

Through the Hot Zone

Page 37: Room to Breathe: The BA's role in project estimation

Crossing the Hot Zone• Understand it yourself• Encourage sound thinking• Negotiate well

–Delay commitment–Commit near the top of the Cone

Page 38: Room to Breathe: The BA's role in project estimation

Crossing the Hot Zone• Improve–Estimation (zero bias, real ranges)–Process—reduce uncertainty sooner–Project management

Page 39: Room to Breathe: The BA's role in project estimation

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.

Page 40: Room to Breathe: The BA's role in project estimation

Uncertainty is Increasing

Technology

RequirementsVolatility

TeamMore rolesVirtual teams

TechnologyLanguages PlatformsComponents Frameworks

Page 41: Room to Breathe: The BA's role in project estimation

Crossing the Hot Zone

Page 42: Room to Breathe: The BA's role in project estimation

Crossing the Hot Zone

Page 43: Room to Breathe: The BA's role in project estimation

Crossing the Hot Zone

Page 44: Room to Breathe: The BA's role in project estimation

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)

Page 45: Room to Breathe: The BA's role in project estimation

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!

Page 46: Room to Breathe: The BA's role in project estimation

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?

Page 47: Room to Breathe: The BA's role in project estimation

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.

Page 48: Room to Breathe: The BA's role in project estimation

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.

Page 49: Room to Breathe: The BA's role in project estimation

Common phrases

The mighty oak was once justa little nut that stood its ground.

Page 50: Room to Breathe: The BA's role in project estimation

Do the math. —Anonymous

Page 51: Room to Breathe: The BA's role in project estimation

Parametric estimationAt its simplest:

Or fancier:

Hours=Hours per Countable Thing

XNumber of Countable Things

Page 52: Room to Breathe: The BA's role in project estimation

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

Page 53: Room to Breathe: The BA's role in project estimation

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

Page 54: Room to Breathe: The BA's role in project estimation

Example—Project History90-100 Countables in Greenride

Page 55: Room to Breathe: The BA's role in project estimation

Example—Project History90-100 Countables in Greenride

Designers arguing

Page 56: Room to Breathe: The BA's role in project estimation

Example—Project History90-100 Countables in Greenride

20 Reused

Designers arguing

Page 57: Room to Breathe: The BA's role in project estimation

Example—Project History90-100 Countables in Greenride

20 Reused

Designers arguing

Most like “N”

Page 58: Room to Breathe: The BA's role in project estimation

Example—Reasoning and Math

HCT =___ to ____

HCT=12.5-20%=10.0

Page 59: Room to Breathe: The BA's role in project estimation

Example—Reasoning and Math

HCT =___ to ____

HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5

Page 60: Room to Breathe: The BA's role in project estimation

Example—Reasoning and Math

HCT =___ to ____

HCT=12.5-20%=10.0Range 1.75x, so 5.7 to 17.5

5.7 17.5

Page 61: Room to Breathe: The BA's role in project estimation

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

Page 62: Room to Breathe: The BA's role in project estimation

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

Page 63: Room to Breathe: The BA's role in project estimation

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

Page 64: Room to Breathe: The BA's role in project estimation

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

Page 65: Room to Breathe: The BA's role in project estimation

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.

Page 66: Room to Breathe: The BA's role in project estimation

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

Page 67: Room to Breathe: The BA's role in project estimation

It’s tough to make predictions, especially about the future. —Yogi Berra