This course is an expanded version of Construx's popular Software Estimation in Depth seminar. Like that seminar, this course provides many useful rules of thumb and procedures for creating software estimates ("the art of estimation") and explores mathematical approaches to creating software project estimates ("the science of estimation").

This seminar features extensive lab work to give you hands-on experience creating many different kinds of software estimates--for agile projects and traditional projects and for large, medium, and small projects. You will practice the best methods for calibrating estimates to be accurate for your specific environment and kind of project. You will learn techniques for making sure estimation is treated as an analytical rather than a political process, and you will see how to negotiate effectively with other project stakeholders (such as marketing, management and your clients) so that everyone wins. Finally, you will learn how to manage estimation, including exploring the planning and tracking issues that are related to estimation. This seminar is based on the best selling book Software Estimation: Demystifying the Black Art, by Steve McConnell.

This course dives deeper into mathematically intensive methods than our Software Estimation in Depth seminar and explores more variations in estimation approaches between Agile and plan-driven projects. Attendees will need a scientific calculator for this course. 3-day seminar

Who Should Attend

This seminar will be useful to project managers, product managers, program managers, technical leads, software engineers, and others who want to gain a deep understanding of how to estimate software costs, schedules and/or features.


All of our public classes are held at the Construx Training Center

Estimation Background

  • How good an estimator are you?
  • Estimation "art" vs. estimation "science"
  • Estimates, targets, and commitments
  • Kinds of estimates: macro vs. micro, top-down vs. bottom up, algorithmic vs. heuristic
  • Estimation's real role on software projects

Understanding Estimation Error

  • Typical levels of estimation accuracy
  • Potential (good) levels of estimation accuracy
  • The four sources of estimation error
  • Software's Cone of Uncertainty
  • The Feature Cone of Uncertainty

Getting Past Superficial Estimates

  • What is a good estimate?
  • What is a good estimation process?
  • Estimation's distinctly different roles at different points in a project

Improving Common Estimation Methods

  • Off-the-cuff estimates
  • Improving judgment-based estimates
  • Improving task-level estimates
  • Improving estimation by analogy
  • Improving estimation workshops

Success Factors for Excellent Estimates

  • Counting, computing, using judgment
  • Calibration and historical data
  • Estimating size
  • Estimating effort
  • Estimating schedule
  • Estimating features
  • Standardized estimating procedures for agile and plan-driven projects

Special Issues in Size Estimation

  • Techniques for measuring and estimating size
  • Role of "lines of code" in software estimates
  • Software's diseconomy of scale

Special Issues in Effort Estimation

  • Productivity variations across types of software
  • Calibration with industry data, company data, and project data
  • Estimating individuals' work
  • Models for estimating effort

Special Issues in Schedule Estimation

  • The schedule equation
  • Effect of schedule compression and expansion
  • The "impossible zone"

Estimation Management Issues

  • Estimation, planning, and tracking in general
  • Estimation, planning and tracking in Agile iterations
  • Estimation, planning and tracking in Scrum

Estimating in the Wide Part of the Cone of Uncertainty

  • Purpose of estimation in the wide part of the cone
  • Wide Band Delphi
  • T-Shirt Sizing
  • Fuzzy Logic
  • Function Points
  • Standard Components
  • Algorithmic Approaches
  • Putnam's Method
  • Cocomo II
  • Story Points
  • Planning Poker
  • Automated Estimation Support

Estimating in the Narrow Part of the Cone of Uncertainty

  • Purpose of estimation in the narrow part of the cone
  • Basic decomposition
  • Techniques for overcoming optimism in task-level (decomposed) estimates
  • The PERT formula
  • Decomposition by WBS
  • Creating meaningful "percent confident" estimates
  • Estimating defect correction work

Estimate Refinement and Project Tracking

  • Methods of quantifying estimation error
  • Using burn down charts for estimate refinement and project tracking
  • Release burn down charts
  • Iteration burn down charts
  • Using earned value for estimate refinement and project tracking
  • Building your own Cone of Uncertainty

Effective Estimate Presentation

  • Estimate presentation techniques
  • Case studies in estimate presentation and negotiation
  • Principled negotiation for software estimates

Creating a Personal Estimation Management Plan

Steve McConnell

Steve McConnell is CEO and Chief Software Engineer at Construx Software where he consults to a broad range of industries, teaches seminars, and oversees Construx’s ...

Steve Tockey

Steve Tockey is the Principal Consultant at Construx Software. During more than three and a half decades in the software industry, he has worked as a programmer, ...