Course 310:
Software Project Estimation

(2 days)

 

Course Description

A key characteristic of successful software engineering is the availability of enough time and resources—budget and skilled personnel—to do the job. Fortunately, a variety of statistical tools and techniques are available to help the project manager make solid estimates of the resources needed, and to update the estimates in a timely fashion as the situation dictates. This course explores the properties and limitations of a broad range of well-understood techniques for software project estimation and explores the ISO standard estimation method promulgated by the Common Software Measurement International Consortium (COSMIC).

Learning Objectives

  • Characterize a variety of popular estimation techniques, such as function point analysis, analogy, and bottom-up estimation
  • Identify criteria for selecting a suitable estimation technique for a given project
  • Explore the process for designing, implementing, and sustaining an organizational statistical database to support estimation efforts
  • Examine the characteristics of well-established cost estimation tools, such as Boehm’s Constructive Cost Model (COCOMO)

Who Should Attend

Audience includes project managers at all levels of experience, software quality and metrics specialists, and software practitioners with an interest in elevating their software estimation cost and schedule estimation skills.

Prerequisites

No specific prerequisites are assumed.


Course Outline

Chapter 1: Introduction to Software Estimation

  • Estimation Concepts
    • The Need for Estimation
    • Definitions
    • Estimation Products
    • Analogy and Wideband Delphi
    • Using Expert Judgment
    • Using Automated Tools
  • Estimation Accuracy
    • Accuracy vs. Project Phase
    • Factors Affecting Accuracy
    • Factors Affecting Productivity
    • Project Sizing Issue
    • Effort Is Not Linear
  • Chapter Summary and Best Practices

Chapter 2: The Estimation Process

  • Concepts
    • Selecting an Approach
    • Process Characteristics
  • Process Description
    • Estimate Product Size
    • Estimate Cost and Effort
    • Estimate Schedule
    • Assess Risk
    • Inspect and Approve
    • Track and Report
    • Measure and Improve Process
    • Process Metrics
  • Related Issues
    • Process Participants
    • Computations at Various Project Phases
    • Selecting Estimation frequency
    • Estimation Process Maturity
    • Using Organizational History
  • Workshop: Estimation Database Structure
  • Chapter Summary and Best Practices

Chapter 3: Estimation Based on Function Points

  • Understanding Software Size
  • Function Point Definition
    • Application Context Diagram
    • Uses of Function Points
    • COSMIC Function Point Definition
    • Software Context Model
    • Software Domains
    • Generic Software Model
  • Function Point Counting Process
    • Purpose of Measurement
    • Functional Scope
    • Functional User Requirements
    • Counting Data Movements in Use Case Descriptions
  • Using COSMIC Function Points
    • Shortcuts to Function Point Estimation
    • Average Function Points
    • Using Size Bands
    • Estimating Function Points Based on Use Cases
  • Workshop: Counting COSMIC Function Points

Chapter 4: Effort and Duration

  • Concepts
    • Top Down Effort Estimation
    • Bottom Up Effort Estimation
  • Estimating Effort
    • PERT Sizing
    • Converting Function Points to Effort
    • Project Delivery Rate
    • Distribution of Effort by Phase
  • Estimating Duration
    • Effort and Duration Relationship
    • Converting Effort to Duration
  • Dealing with Constraints
    • Time Constraints
    • Budget Constraints
    • Staffing Constraints
  • Workshop: Converting Function Points to Effort and Duration
  • Chapter Summary and Best Practices

Chapter 5: Estimation Tools

  • Comparing Manual and Automated Methods
  • Benefits of Automated Techniques
  • Automated Estimation Process
  • Tool Characteristics
  • Tool Directory
  • Tool Demonstration
  • Chapter Summary and Best Practices

Chapter 6: Selecting an Estimation Approach

  • Selection Advice
    • Estimation in Requirements Phase
    • Estimation in Design Phase
    • Estimation in Construction Phase
    • Estimation in Test Phase
    • Estimation in Production (Maintenance) Phase
  • Best Practices in Expert-Based Estimation
    • Reducing Situational and Human Bias
    • Provide Support to Estimation Process
    • Provide Estimation Feedback and Training Opportunities
  • Best Practices in Model-Based Estimation
    • Model Characteristics
    • Using Expert-Based and Model-Based Together
  • Workshop: Selecting an Estimation Approach
  • Chapter Summary and Best Practices

Chapter 7: The Bottom Line

  • Course Summary
  • Course Highlights from Students’ Perspective

Please Contact Your ROI Representative to Discuss Course Tailoring!