Lesson 08 — Final Lesson

Presenting & Negotiating Estimates

You've built the estimate. Now comes the hard part: communicating it to people who may not want to hear it.

Here is a scenario that should sound familiar. You spend days carefully estimating a project. You account for risks, use historical data, apply multiple techniques. You arrive at a defensible estimate of 8 months.

Then you walk into the meeting and the VP says: "We need this in 4 months for the trade show."

What happens next determines whether you are practicing engineering or theater. This lesson is about the difference.

"An estimate is a prediction. A target is a desire. A commitment is a promise. These are three different things, and confusing them is the root of most estimation dysfunction."
— Steve McConnell

Communicating Estimate Assumptions

Every estimate is built on a foundation of assumptions. When you present only the number and hide the foundation, you are handing stakeholders a conclusion without the reasoning. When the assumptions inevitably change, nobody will understand why the estimate is changing too.

What to Document

Every estimate presentation should answer:

  • What is included — specific features, scope items, quality levels
  • What is excluded — things people might assume are included but are not
  • Key unknowns — areas where you had to guess due to missing information
  • Sensitivities — which assumptions, if wrong, change the estimate most
  • Confidence level — how likely is the actual result to fall within your range

This is not bureaucratic overhead. Documenting assumptions is what transforms an estimate from "a number someone made up" into "a reasoned prediction that can be updated as we learn more."

Why exclusions matter more than inclusions

People rarely argue about what is included. The fights happen over what someone assumed was included but was not. McConnell calls these "implicit scope assumptions" — the features, integrations, and quality levels that different stakeholders imagine differently.

A project manager might assume "search" means basic keyword matching. A product manager might assume it means full-text search with faceted filters and autocomplete. The estimate for each is vastly different.

Stating exclusions explicitly prevents these ambiguities from turning into "but I thought that was included" conversations at the 80% mark.

Expressing Uncertainty

If previous lessons have taught us anything, it is that single-number estimates are dangerous. They create an illusion of precision that does not exist. The moment you say "6 months," someone writes it down as a commitment, and the uncertainty vanishes from the organizational memory.

Why Ranges Beat Point Estimates

A range communicates two things a single number cannot: the expected value and the degree of uncertainty. "6 to 9 months" is a fundamentally different statement than "6 months" or "9 months."

Ways to express uncertainty (from least to most informative):

FormatExampleCommunicates
Single number"8 months"Nothing about uncertainty
Plus/minus"8 months ± 2"Symmetric uncertainty (often misleading)
Best/worst/expected"6 / 8 / 12 months"Asymmetric uncertainty, central tendency
Confidence interval"6–9 months (75% confidence)"Probability + range
Probability table"50%: ≤8mo, 75%: ≤10mo, 90%: ≤13mo"Full picture of the uncertainty
The IEEE-CS/ACM connection

The IEEE-CS/ACM Software Engineering Code of Ethics (Principle 3.09) requires software engineers to provide "realistic quantitative estimates of cost, scheduling, personnel, quality, and outcomes on any project on which they work, and provide an uncertainty assessment of these estimates."

Presenting a single-number estimate without an uncertainty assessment is not just bad practice — it is inconsistent with the professional code of ethics for software engineers.

Interactive: Estimate Presentation Builder

You have just completed estimating a new e-commerce checkout redesign. Here is your raw data:

Raw estimation data:

  • Best case: 4.5 months (everything goes perfectly, team has full availability)
  • Most likely: 7 months (based on historical data from 3 comparable projects)
  • Worst case: 12 months (if payment integration is harder than expected + key developer leaves)
  • Standard deviation: ~2 months
  • Key risk: payment gateway API has no documentation; could take 2 weeks or 2 months

How would you present this to the VP of Product? Select a format:

A. Single Number
"The project will take 7 months."
B. Simple Range
"The project will take 5 to 9 months."
C. Confidence Interval
"We estimate 5–9 months at 75% confidence, or 4.5–12 months at 95% confidence. Most likely completion: 7 months."
D. Probability Table with Assumptions
"50% chance: ≤ 7 months
75% chance: ≤ 9 months
90% chance: ≤ 11 months

Assumes: current team of 4, payment API documented, no scope changes. Excludes: load testing, mobile app updates, data migration from legacy system."

Political Influences on Estimates

McConnell identifies several ways that organizational pressure distorts estimates:

Common Distortion Patterns

  • Subtractive estimation — starting with the desired date and working backward to justify it
  • Management override — "I've been doing this 20 years, it won't take that long"
  • Pressure to show confidence — ranges are seen as "wishy-washy" or "not committed"
  • Anchoring to targets — once a date is mentioned, all estimates gravitate toward it
  • Shooting the messenger — negative consequences for delivering honest estimates

These pressures are not evil. They come from real business constraints. The trade show really is in 4 months. The funding really does run out in Q3. But the existence of a target does not change the reality of how long the work takes.

Understanding Executive Perspectives

Executives are not the enemy. They often have legitimate priorities that differ from yours:

Engineer ThinksExecutive Thinks
"This needs 8 months to do right""If we miss the market window, none of it matters"
"Cutting scope means shipping junk""80% of value comes from 20% of features"
"Adding people won't help""Can we parallelize or outsource anything?"
"The estimate is the estimate""What are my options and their tradeoffs?"

The key insight: executives usually do not want you to lie about the estimate. They want to understand what levers they can pull. Your job is to give them accurate information and actionable options, not just a number they cannot change.

Why "padding" estimates is counterproductive

Some developers respond to political pressure by secretly inflating their estimates as a buffer. This feels safe but creates a destructive cycle:

  1. Developer adds 30% padding
  2. Manager suspects padding, cuts 20%
  3. Developer learns estimates get cut, adds 50% padding next time
  4. Manager cuts more aggressively
  5. All connection between estimates and reality is lost

McConnell's alternative: give honest estimates with explicit ranges and confidence levels. If the organization cannot handle honesty, that is an organizational problem to solve — not a problem to work around with secret padding.

Principled Negotiation

When your estimate does not match the target, you have a negotiation. McConnell recommends the principled negotiation framework from Fisher and Ury's Getting to Yes:

The Four Principles

  1. Separate the people from the problem. The VP is not attacking you personally when they push back on your estimate. They have a business problem. You both want to solve it.
  2. Focus on interests, not positions. "It must be 4 months" is a position. "We need to demo at the trade show" is an interest. Interests can be satisfied in multiple ways.
  3. Generate options for mutual gain. Instead of haggling over one number, brainstorm: Can we ship a subset by 4 months? Can we demo with a prototype? Can we add a team?
  4. Insist on objective criteria. Use historical data, industry benchmarks, and documented estimation methods. "Our last three projects of this size took 7-9 months" is objective. "I feel like it'll take 8 months" is not.

Problem Solving vs. Adversarial Negotiation

In adversarial negotiation, there is a winner and a loser. One side gets "their" number. In problem-solving negotiation, both sides work together to find the best outcome given reality.

AdversarialProblem-Solving
"You're wrong, it's 8 months.""Here's what drives the 8-month estimate. Which of these can we change?"
"Fine, I'll try to do it in 4.""For 4 months, here's what we could deliver. Here's what we'd cut."
"That's my final answer.""Let me show you three scenarios with different scope/timeline tradeoffs."
The crucial difference between changing the estimate and changing the plan

When the estimate does not match the target, you have exactly two honest options:

  1. Change the plan (reduce scope, add resources, accept lower quality, extend the timeline)
  2. Accept the risk (proceed knowing you'll probably miss the target)

What you must never do is change the estimate without changing the plan. That is not negotiating — that is lying. The work does not get shorter because someone rewrote the number on a slide.

McConnell is emphatic: "Do not change the estimate. Change the plan. Then re-estimate the changed plan."

Interactive: Negotiation Role-Play

You are the tech lead. Your careful estimate for the new analytics dashboard is 8 months. The VP of Product needs it in 4 months for a major client demo. Step through the conversation and choose your approach at each turn.

Collaboration: 0
Credibility: 0
Outcome Quality: 0

Interactive: Assumption Documentation Exercise

Below is a project estimate for a mobile app. Your job: identify which statements are hidden assumptions that should be explicitly documented. Check all the assumptions.

Project: Customer-facing mobile app for restaurant ordering

Estimate: 5 months, team of 3 developers

Context: "We'll build the iOS and Android apps using React Native. The backend API already exists. Design has been approved. We're targeting a June launch."

Which of these are hidden assumptions that should be documented?

When the Estimate Does Not Match the Target

This is the moment of truth. McConnell provides a clear framework:

The Options Menu

When there is a gap between estimate and target, present all available options with honest tradeoffs:

  1. Reduce scope. "We can ship features A, B, and C by month 4. Features D and E would come in a phase 2 at month 7."
  2. Add resources. "Adding 2 developers could bring it to 6 months, but there'll be a 3-week ramp-up cost and communication overhead." (Remember Brooks's Law.)
  3. Reduce quality. "We could skip automated testing and cut 2 months, but expect 3x the post-launch defect rate."
  4. Extend the timeline. "The honest estimate is 8 months. We can look for ways to demo partial functionality earlier."
  5. Accept the risk. "We can aim for 4 months, but there's a 15% chance we make it and an 85% chance we don't. Here's our contingency plan."

Notice what is not on the list: "just change the estimate." The estimate reflects reality. Changing the number does not change the reality.

"Delivering bad news early is much better than delivering bad results late."
— Steve McConnell
The "90% done" syndrome

When teams cave to pressure and commit to unrealistic dates, they inevitably reach the point where the project is "90% done" — and then stays at 90% for months. This is worse than the original honest estimate because:

  • Decisions were made based on the fake date (marketing campaigns, sales promises, resource allocation)
  • The team's credibility is destroyed
  • There is even more pressure to cut corners on the remaining work
  • The actual delivery date is often later than the original honest estimate would have been

Caving to pressure does not just fail to solve the problem — it makes everything worse.

The Ethics of Estimation

Estimation is an ethical act. When your estimate guides business decisions — hiring, spending, customer commitments — presenting a dishonest estimate causes real harm.

IEEE-CS/ACM Software Engineering Code of Ethics

Principle 3.09:

"Ensure realistic quantitative estimates of cost, scheduling, personnel, quality, and outcomes on any project on which they work or propose to work, and provide an uncertainty assessment of these estimates."

This is not aspirational. It is a professional obligation. The code explicitly requires:

When your manager asks you to "commit to" a date you know is unrealistic, you are being asked to violate your professional code of ethics. Understanding this framing does not make the conversation easier, but it does clarify what the right thing is.

When honesty feels impossible

Sometimes the organizational culture makes honest estimation genuinely risky — the messenger gets shot. McConnell acknowledges this and offers practical advice:

  • Document your estimates in writing with assumptions and confidence levels, even if the verbal conversation is pressured
  • Present options, not objections — "here are three ways to approach this" is better received than "that's impossible"
  • Build a track record — if your estimates are consistently accurate, you earn the credibility to push back
  • Use data, not opinions — "our last 5 projects averaged 1.2x the original estimate" is hard to argue with

And sometimes, if the organization consistently punishes honest estimation, that is important information about whether you want to stay there.

Interactive: Reframe the Conversation

Below are four dysfunctional estimate conversations — common anti-patterns you will encounter in the wild. For each one, write how you would reframe the conversation using principled negotiation. Then reveal the model answer to compare.

Course Recap: The Complete Estimation Toolkit

You have completed all 8 lessons. Here is every key principle, condensed:

Lesson 01: What Is Estimation, Really?

  • An estimate is a prediction, not a commitment. Estimates, targets, and commitments are three different things.
  • The Cone of Uncertainty narrows as projects progress — early estimates are inherently imprecise.

Lesson 02: Where Estimates Go Wrong

  • Cognitive biases (anchoring, optimism, overconfidence) systematically distort estimates.
  • Most estimation error is omission — forgetting tasks, not mis-sizing known ones.

Lesson 03: Decomposition & Recomposition

  • Break work into small pieces, estimate each, sum them up. Decomposition reduces error through the law of large numbers.
  • Errors in individual items tend to cancel out when aggregated.

Lesson 04: Historical Data & Calibration

  • Past performance is the best predictor of future performance. Collect and use project history.
  • Calibrate your estimates by comparing predictions against actuals.

Lesson 05: Estimation by Analogy & Proxy

  • Compare to similar completed projects. Adjust for known differences.
  • When direct comparison is impossible, find proxy variables that correlate with effort.

Lesson 06: Parametric Models & COCOMO

  • Mathematical models (like COCOMO II) encode industry data about how size, complexity, and team factors affect effort.
  • Models are tools for calibration, not oracles — always sanity-check against other methods.

Lesson 07: The Estimation Toolbox

  • Use multiple techniques and cross-reference. If three methods give similar answers, confidence goes up.
  • Match the estimation technique to the project phase and available information.

Lesson 08: Presenting & Negotiating (This Lesson)

  • Always present ranges with documented assumptions. Never just a single number.
  • Use principled negotiation: focus on interests, generate options, use objective criteria.
  • Never change the estimate — change the plan, then re-estimate.
🏆

Course Complete

You have worked through all 8 lessons on software estimation — from understanding what estimates really are, through the cognitive biases that distort them, to the mathematical techniques that improve them, and finally to the human skills needed to communicate them effectively.

The single most important takeaway: estimation is a skill, not a talent. It improves with practice, data, and honest reflection. Every project you estimate and then track against actuals makes you better.

Go estimate something. Track the result. Learn from the difference. Repeat.

Back to the Beginning

Want to review? Start again from Lesson 01