Software Estimation In Depth course image

Software Estimation In Depth

We offer private training, at your location or virtually, and an OnDemand course catalog.

About Software Estimation In Depth

  Duration: 1.5 – 3 day course
  Resources: Workbook

This course provides many useful rules of thumb and procedures for creating software estimates (“the art of estimation”) and briefly introduces mathematical approaches to creating software project estimates (“the science of estimation”). This course features extensive lab work to give you hands-on experience creating many different kinds of software estimates–for large, medium, and small projects as well as calibrating estimates to be accurate for your specific development environment.

You will learn techniques for making sure estimation is treated as an analytical rather than a political process, and you will explore how to negotiate effectively with other project stakeholders (such as marketing, management and your clients) so that everyone wins. This course is based on the best-selling book, Software Estimation: Demystifying the Black Art, by Steve McConnell.

Estimation Background

  • Estimation “art” vs. estimation “science”
  • Estimates, targets, and commitments
  • Kinds of estimates: macro vs. micro, top-down vs. bottom-up, algorithmic vs. heuristic
  • State of the art and limits on estimation accuracy
  • Surprise: Estimation’s real role on software projects

Estimation Process

  • Basic steps in creating a software estimate
  • Estimating agile projects vs. estimating plan-driven projects
  • Best estimation approaches by project phase
  • Estimate refinement
  • Standardized estimating procedures for agile and plan-driven projects

Estimation Error

  • The good, the bad, and the ugly: evaluating estimates
  • Errors in the estimation process
  • Sources of project uncertainty
  • Software’s Cone of Uncertainty

Popular Estimation Methods

  • Off-the-cuff estimation
  • Using expert judgment successfully
  • Wide-band Delphi

Better Estimation Methods

  • Estimation by analogy
  • Decomposition
  • Proxy-based estimation
  • Story points
  • The PERT formula
  • Putnam’s Method

Special Issues in Scope Estimation

  • Counting, Computing, and Judgment
  • Fuzzy Logic
  • T-Shirt Sizing
  • Software’s diseconomy of scale

Special Issues in Effort Estimation

  • Productivity variations across types of software
  • Calibration
  • Industry data
  • Historical company data
  • Project data
  • Estimating individuals’ work

Special Issues in Schedule Estimation

  • The schedule equation
  • Effect of schedule compression and expansion
  • The “impossible zone”

Human Roles in Estimation

  • Estimate presentation techniques
  • How to explain and defend an estimate
  • Estimation and negotiation

After taking this course you will know:

  • Common Sources of Estimation Error
  • Key Concept: The Cone of Uncertainty
  • Good and Bad Estimation Processes
  • Estimation Error
  • Strengths and Weaknesses of Popular Estimation Methods
  • Better Estimation Methods
  • The Critical Role of Historical Data
  • Using Judgment-Based Estimation Effectively
  • Issues in Scope Estimation
  • Issues in Effort Estimation
  • Issues in Schedule Estimation
  • Estimation on Agile Projects
  • Estimation in the Larger Organizational Context

This course will be useful to project managers, product managers, program managers, technical leads, software engineers, developers and anyone else who wants to learn to effectively estimate software costs and schedules.

“Overall, it was the demystification of estimation. The hands-on exercises helped put things from theoretical to practical. “

Rohit Ojha, Expedia

Customize this course

Your team has unique challenges. Learn about the ways we can customize this course to fit your needs.