Software Cost Estimating

Why This Session?       Duration: 2 days

Software Cost Estimating is one of the Information Technology professional’s weakest skills. This session introduces methods that improve estimates, and improve the communication of the factors that affect them. We cover the foundation approaches for today’s state-of-the-art software cost estimating methods. These include Boehm’s COnstructive COst MOdel (COCOMO II), Putnam’s contributions, and traditional activity-based estimating.

This session uses software support to apply the methods, add capabilities, and ease their use. Participants discuss the factors that affect estimating accuracy, and apply them in a case study. We can also tailor the class to focus on software your organization uses.

Learning Objectives; after this session, participants can …

1. Software Cost Estimating Introduction

  • Discuss the most important questions to ask and answer before estimating a project
  • Identify the natural estimating points in a project, and the most useful methods for each.

2. Experience-Based Estimating

  • Apply SWAG and Consensus estimating methods, and describe their relative strengths.
  • Describe two additional early project estimating methods, and identify the prerequisites to using them effectively.
  • Use a personal styles model to help understand why some team members have so much difficulty with estimates; identify which methods work best with each personal style.

3. Parametric Estimating Methods

  • Describe the audience, timing, and prerequisites for using Parametric Estimating methods.
  • Use the COCOMO II parametric estimating method appropriately on a project.
  • Identify the COCOMO II Cost Factors that impact a project the most.

4. Product Point Estimating

  • Apply Application Point Estimating methods on a project; discuss their strengths, weaknesses and prerequisites.
  • Apply and evaluate the use of Function Point estimating to provide a traceable estimate, and a basis for project metrics. (optional)

5. Statistical Estimating Methods

  • Identify the purpose, methods, basis and relevant formulae of Statistical Estimating Methods.
  • Use life cycle phases as a useful way to break down a project for Statistical estimating.
  • Apply Statistical estimating for detailed activities of the Work Breakdown Structure. (optional)
  • Discuss alternative ways to establish a project duration estimate, including one that identifies the ideal duration and staffing, given effort estimates.

6. Implement Better Estimating

  • Summarize estimates from multiple sources, evaluate differences to determine if the estimates are ready to present.
  • Discuss the management issues of improved estimating, and the actions to put into place to help resolve them.
  • Summarize the key points of the class in a presentation for Managers, describing how to improve early estimating methods and results. (optional)

Software Cost Estimating Audience

Software Cost Estimating focuses on a range of easy-to-use through advanced methods of estimating the Scope, work effort and cost of Information Technology software projects. The intended audience includes experienced Project Managers, IT Resource Managers, IT decision-makers, Project Office or internal estimating consultants, and analysts and designers who prepare and review early project estimates for software systems.

Software Cost Estimating Special Requirements:

This session requires a computer for (at least) day 2 for each team of two-to-four participants.

Session Outline

1. Software Cost Estimating Introduction

  • Estimating Software Projects: How Do You Estimate? What, Why, Who and When of Estimating
  • Good Estimates Based on Experience; The Early Estimate Challenge
  • The Twenty Most Important Questions to Ask Before Estimating
  • When Do You Estimate? Different Methods Used At Different Times; Where’s the Cost?

2. Experience-Based Estimating Techniques

  • Pre-Requirements Methods: SWAG; Consensus Estimating
  • Risk Assessment as Estimating; Units of Estimating; Comparison Estimating
  • Improve Estimates by Corroborating Results with Delphi
  • Requirements Impact on Estimates; Types of Requirements
  • How Personal Style Affects Estimates; Your Personal Style; Implications

3. Parametric Estimating Techniques

  • Background on Parametric Methods; Putnam’s Contributions; The COnstructive COst Model
  • Different COCOMO Models for Different Timing; COCOMO Sizing Factors
  • Lines of Code Scope Measures; COCOMO II Cost Factors
  • COCOMO Scaling Factors; Process Maturity and CMM

4. Product Point Estimating

  • Types of Product Point Estimating; Application Points; Rating Application Point Difficulty
  • Function Point Estimating; What Are Function Points*; Overview of Function Point Counting*
  • Function Points and Measurement*; Usefulness in Project Management*
  • When Can You Use Function Points?* Product Points and Commercial Software
  • Other Types of Product Points; Learning Objectives as Product Points

5. Statistics-Based Estimating Techniques

  • Statistical Estimating Overview; Multiple Inputs = Better Estimates; Life Cycle Phase Estimating Life Cycle Phase Metrics; and program (application)-level Estimating
  • Activity-Level Estimating*; Two-Point, Three-Point Estimating*; Effort to Duration Conversion*
  • Deriving Project Duration Estimates; The Successful Project Profile Chart

6. Implementing Better Estimating

  • Summarizing Estimates; Spotting Estimate Trends
  • Management Issues of Improved Estimating; Establishing a History DataBases
  • Using Productivity Metrics; Providing Software Support; Avoiding Management Malpractice
  • A Final Assignment

* These topics are optional, and available in a 3-day version of this class.