Module 3 - Software Estimation Metrics

Software Metrics: Introduction & Terminologies

A software metric is a measure of software characteristics which are measurable or countable. It involves the continuous application of measurement-based techniques to the software development process and its products to supply meaningful and timely management information, and to improve that process and its products. The IEEE defines a metric as a quantitative measure of the degree to which a system component or process possesses a given attribute. Software metrics are highly valuable for measuring software performance, planning work items, and measuring productivity. They are closely tied to the four functions of management: Planning, Organization, Control, and Improvement.

Terminologies used in Software Metrics

Measure & Metrics
  • Measure: A quantitative indication of the extent, amount, dimension, or size of some attribute of a product or process.
  • Metrics: The degree to which a system, component, or process possesses a given attribute, often relating several measures together (e.g., average number of errors found per person-hour).
Indicators & Types
  • Indicators: A combination of metrics that provides insight into the software process, project, or product.
  • Direct Metrics: Immediately measurable attributes like lines of code, execution speed, or defects reported.
  • Indirect Metrics: Aspects that are not immediately quantifiable, such as functionality, quality, or reliability.
Faults vs. Defects
  • Faults (Errors): Faults found by the practitioners during software development.
  • Defects: Faults found by the customers after the software is released.

The Management Spectrum (The 4 P's)

The management spectrum describes the management of a software project and how to make a project successful. It focuses on the four P's: People, Product, Process, and Project. The project manager must control all these P's to ensure a smooth flow in the project's progress and to reach the final goal.

4 P's in Software Planning PEOPLE PRODUCT PROCESS PROJECT

Metric Classification

Software metrics can be classified into three primary types based on what they are measuring: Processes, Products, and Projects.

1. Process Metrics Long-term, strategic 2. Product Metrics Deliverables, code 3. Project Metrics Status, risk, effort Collected across projects to improve processes. Focuses on repeatable managed quality. Focuses on the quality of explicit results (design complexity, data flow, code metrics). Assesses ongoing status. Uses past data to estimate current effort/time and mitigate critical risks.

Software Measurement

Measurement of software can be done in different ways, divided primarily by who views the properties as most important:

Direct Measure / Internal Metrics

Metrics used for measuring internal attributes that are viewed to be of greater importance to a software developer.

  • Cost and Effort
  • Lines of Code (LOC)
  • Execution Speed and Memory

Indirect Measure / External Metrics

Metrics used for measuring external attributes that are viewed to be of greater importance to the user.

  • Functionality and Portability
  • Usability, Quality, and Complexity
  • Efficiency, Reliability, and Maintainability

Advantages & Disadvantages of Software Metrics

Advantages:

Disadvantages:

Software Project Estimation: Size-Oriented Metrics (LOC)

Size-oriented software metrics are derived by normalizing quality and/or productivity measures by considering the size of the software that has been produced. The most common example is Lines of Code (LOC). It is one of the earliest and simpler metrics for calculating the size of a computer program and is generally used in calculating and comparing the productivity of programmers.

Key Characteristics of LOC

Advantages of LOC

  • Very simple to measure size using these metrics.
  • It is an artifact of software development that is easily counted.
  • Used as a key input by many existing estimation methods.
  • The estimation is closer to the developer's perspective.

Disadvantages of LOC

  • Cannot measure the size of a specification, as it is defined only on code.
  • Characterizes only length, taking no account of functionality or complexity.
  • Bad software design may cause an excessive number of lines of code.
  • It is language dependent and difficult for users to understand.
  • Very difficult to estimate LOC accurately in the early stages of development.

Computed Metrics Based on LOC/KLOC

Based on the LOC or KLOC (Kilo-Lines of Code) count, several other useful metrics can be computed for a project:

Errors / KLOC $ / KLOC Defects / KLOC Pages of documentation / KLOC Errors / PM Productivity = KLOC / PM $ / Page of documentation

Cost Estimation Using LOC (Example)

Scenario: Assume the estimated lines of code for a system is 33,200 LOC. The average productivity for a system of this type is 620 LOC/person-month (PM). There are 6 developers. The labor rate is $800 per person-month. Calculate the total effort and cost.

Method I:

  • Total Effort = Total LOC / Productivity = 33,200 / 620 = 53.54 ≈ 54 person-months
  • 6 developers Effort = Total Effort / 6 = 54 / 6 = 9 months (Project Duration)
  • Total Cost = Total Effort * Labor Rate = 54 * 800 = $43,200

Method II:

  • Cost per LOC = Labor Rate / Productivity = 800 / 620 = $1.29 ≈ $1.3
  • Total Cost = Total LOC * Cost per LOC = 33,200 * 1.3 = $43,160 ≈ $43,200

Function-Oriented Metrics (FP)

Function-oriented software metrics use a measure of the functionality delivered by the application as a normalization value. The most widely used function-oriented metric is the Function Point (FP). Function point metrics provide a standardized method for measuring the various functions of a software application. Computation is based on the characteristics of the software's information domain and complexity. Crucially, it measures functionality from the user's point of view—based on what the user requests and receives in return.

System ILF User Inquiries User Inputs Outputs Other application EIF ILF : Internal logical files EIF : External interface

Information Domain Values

The FP count is derived by evaluating the software's information domain, which consists of five distinct parameters that are individually assessed for complexity:

Measurement Parameter Simple Average Complex
1. External Inputs (EI) 3 4 6
2. External Outputs (EO) 4 5 7
3. External Inquiries (EQ) 3 4 6
4. Internal Logical Files (ILF) 7 10 15
5. External Interfaces (EIF) 5 7 10

Note: The Count-total is calculated by multiplying the raw count of each parameter by its corresponding weighting factor based on complexity, then summing them up.

FP Calculation & Complexity Adjustment Values

Formula: FP = Count-total * [0.65 + 0.01 * Σ(Fi)]

Where Fi (i = 1 to 14) are Complexity Adjustment Values. These values are determined empirically based on a 0-5 scale in response to 14 specific system questions.

The 14 Value Adjustment Factors (Fi) evaluate the system's operational and design needs:

  1. Need for reliable backup/recovery?
  2. Data Communication requirements?
  3. Distributed data processing functions?
  4. Is performance critical?
  5. Execution in a heavily utilized operational environment?
  6. Need for on-line data entry?
  7. Input transaction over multiple screens?
  8. Online update of master files?
  9. Complex processing (inputs, outputs, files, inquiries)?
  10. Complexity in internal processing?
  11. Code designed to be reusable?
  12. Involvement of conversion/installation ease?
  13. Multiple sites/installations?
  14. Facilitate change and operational ease?

Function Point Calculation Examples

Example 1: Calculating Adjusted Function Points

First, calculate the Unadjusted Function Point (UFP) by multiplying functional complexities with their corresponding weights:

  • Inputs: (3 simple × 3) + (4 average × 4) + (1 complex × 6) = 9 + 16 + 6 = 31
  • Outputs: (6 average × 5) + (2 complex × 7) = 30 + 14 = 44
  • Files: (5 complex × 15) = 75
  • Inquiries: (8 average × 4) = 32
  • Interfaces: (3 average × 7) + (4 complex × 10) = 21 + 40 = 61
  • Unadjusted Function Points (UFP) = 243

Next, sum the Complexity Adjustment Factors (Fi):

  • F09 (Complex processing = 3) + F10 (Reusable = 2) + F03 (High performance = 4) + F13 (Multiple sites = 3) + F02 (Distributed processing = 5)
  • Total Adjustment Factor (ΣFi) = 17

Finally, apply the formula:

  • Adjusted FP = UFP × [0.65 + (ΣFi × 0.01)]
  • Adjusted FP = 243 × [0.65 + (17 × 0.01)] = 243 × 0.82 = 199.26 FP

Example 2: Computing Productivity, Cost, and Documentation

Given the following system data: 24 user inputs, 46 user outputs, 8 inquiries, 4 files, 2 external interfaces. Effort = 36.9 p-m, Cost = $7744/month. Technical documents = 265 pages, User documents = 122 pages. (ΣFi = 43).

  • Count-total: (24 × 4) + (46 × 4) + (8 × 6) + (4 × 10) + (2 × 5) = 96 + 184 + 48 + 40 + 10 = 378
  • FP: 378 × [0.65 + 0.01 × 43] = 378 × 1.08 = 408
  • Productivity: FP / Effort = 408 / 36.9 = 11.1
  • Documentation: (Total Pages) / FP = (265 + 122) / 408 = 387 / 408 = 0.94 pages per FP
  • Cost per Function: Cost / Productivity = $7744 / 11.1 = $700

Function Point (FP) vs. Lines of Code (LOC)

In general, people prefer the functional size of software (FP) over LOC because the size expressed using the FP metric stays constant regardless of which programming languages are used. Both metrics, however, are extendible/convertible to each other (a process known as backfiring).

Function Point (FP) Lines of Code (LOC)
FP is specification based. LOC is analogy based.
FP is language independent. LOC is language dependent.
FP is user-oriented. LOC is design-oriented.
Function Point is used for data processing systems. LOC is used for calculating the size of the computer program.
Function Point can be used to portray the project time. LOC is used for calculating and comparing the productivity of programmers.

COCOMO Model (Constructive Cost Estimation Model)

Proposed by Barry Boehm in 1981, COCOMO is an algorithmic software cost estimation model based on the study of 63 projects. It predicts the effort and schedule of a software product based on the size of the software (measured in LOC). The key parameters are Effort (amount of labor required, measured in person-months) and Schedule (amount of time required, proportional to effort put in).

COCOMO Project Categories

In COCOMO, projects are categorized into three types based on complexity and team familiarity:

1. Organic

Small team developing a well-understood application program where the problem has been solved in the past. Examples: Simple business systems, simple inventory management.

2. Semidetached

A mixture of experienced and inexperienced staff working on a system where they have finite experience and require more creativity. Examples: Operating Systems (OS), DBMS.

3. Embedded

Highest level of complexity requiring a larger team. The software is strongly coupled to complex hardware or has stringent regulations. Examples: ATM, Air Traffic Control.

Hierarchy of COCOMO Models

COCOMO consists of a hierarchy of three increasingly detailed and accurate forms:

I. Basic COCOMO Model

Used for quick and slightly rough calculations of software costs. Accuracy is restricted due to the absence of sufficient factor considerations (like reliability or expertise).

Formulas:

  • Effort (E) = a * (KLOC)b [in Person-Months]
  • Time = c * (Effort)d [in Months]
  • Persons required = Effort / Time
Software Projects a b c d
Organic2.41.052.50.38
Semi Detached3.01.122.50.35
Embedded3.61.202.50.32

II. Intermediate COCOMO Model

Recognizes that effort cannot be solely calculated based on LOC. It utilizes 15 Cost Drivers (rated on a scale from Very Low to Very High) to calculate an Effort Adjustment Factor (EAF).

Formula:

Effort (E) = [ a * (KLOC)b ] * EAF

  • Product Attributes: Reliability extent, DB size, product complexity.
  • Hardware Attributes: Run-time constraints, memory constraints, virtual machine volatility, turnabout time.
  • Personnel Attributes: Analyst/Software engineering capability, applications/VM/language experience.
  • Project Attributes: Use of software tools, application of SE methods, required schedule.
Software Projects a b
Organic3.21.05
Semi Detached3.01.12
Embedded2.81.20

III. Detailed COCOMO Model

Incorporates all characteristics of the intermediate version but assesses the cost driver's impact on each specific step of the software engineering process. The whole software is divided into different modules, COCOMO is applied to each, and the effort is summed. It evaluates 6 distinct phases:

  1. Planning and requirements
  2. System design
  3. Detailed design
  4. Module code and test
  5. Integration and test
  6. Cost Constructive model

COCOMO II

COCOMO II is the successor of COCOMO 81, developed in 1997 and published in 2000 to better suit modern software development projects. While the original COCOMO was highly successful, it did not apply well to newer software development practices. COCOMO II provides support for modern software life cycles and uses parameters derived from historical and current project data to link system size, project, and team factors to the effort required.

The 3 Stages of COCOMO II

COCOMO II encompasses three distinct estimation models tailored for different stages of the development lifecycle:

Stage I: Application Composition

Used for the prototyping stage, assuming systems are generated from reusable components, scripting, or database programming.

PM = (NAP * (1 - %reuse/100)) / PROD

  • Depends on Object Points (weighted application points).
  • NAP: Number of Application Points.
  • PROD: Object-point productivity.

Stage II: Early Design

Used in the early stages of system design after requirements are established. Estimates depend on Function Points, which are converted to LOC.

PM = 2.94 * SizeB * M

  • M (Multiplier): Depends on 7 project/process characteristics (PERS, RCPX, RUSE, PDIF, PREX, FCIL, SCED).

Stage III: Post-Architecture

The most detailed COCOMO II model, used after the completion of the detailed architecture.

  • Introduces new cost drivers.
  • Introduces new line counting rules.
  • Introduces new equations for the highest level of accuracy during infrastructure and system integration.

Empirical Estimation Models

Empirical estimation techniques are founded on making a studied guess regarding project parameters based on previous experience. The two most frequently used empirical techniques are:

1. Expert Judgement Technique

An expert analyzes the problem in detail, estimates the cost for different components, and integrates them. Drawbacks: Exposed to human errors, missed factors, or the expert lacking knowledge of certain project aspects (e.g., UI vs. database).

2. Delphi Cost Estimation

A team of experts and a coordinator take part. The coordinator gives everyone an SRS and a form. Estimators complete individual estimates without communicating with each other (to avoid bias from senior members). The coordinator summarizes responses iteratively until a final consensus estimate is compiled.

Specialized Estimation Techniques

When projects have very short completion periods and continuous changes, standard decomposition techniques are abbreviated into specialized methods:

Project Scheduling and Tracking

A project schedule is a mechanism used to communicate the sequence of tasks to be done and assign organizational resources to complete those tasks within a predefined time frame. Because a project is a group of many tasks with specific start and end dates, the schedule serves as a "Road map" for the project manager. The objective of software project planning is to provide a framework that enables the manager to make reasonable estimates of resources, cost, and schedule, attempting to define best-case and worst-case scenarios.

Common Reasons for Project Delay

  • Unrealistic deadlines forced on the group by outside parties.
  • Changing customer requirements not reflected in schedule changes.
  • Honest underestimation of the effort or resources required.
  • Predictable/unpredictable risks, technical difficulties, or human difficulties not foreseen in advance.
  • Miscommunication among project staff.
  • Failure by project management to recognize the project is falling behind and lack of action to correct it.

Project Scheduling Guidelines & Effort Distribution

Effective project scheduling relies on several basic principles to maintain control and clarity:

Basic Principles

  • Compartmentalization: The project must be divided into manageable activities and tasks.
  • Interdependency: Determine which tasks occur in sequence and which in parallel.
  • Time Allocation & Effort Validation: Assign start/completion dates and ensure the scheduled people do not exceed the defined team limit.
  • Defined Responsibilities & Outcomes: Assign tasks to specific members and ensure each task produces a defined work product.
  • Defined Milestones: Associate tasks with project milestones, accomplished when work products are reviewed and approved.

Effort Distribution (40-20-40 Rule)

The widely accepted 40-20-40 rule dictates how effort should be distributed across the software lifecycle:

  • 40% front-end analysis and design
  • 20% coding
  • 40% back-end testing

Detailed breakdown: 02-03% planning, 10-25% requirements analysis, 20-25% design, 15-20% coding, 30-40% testing and debugging.

Work Breakdown Structure (WBS)

A Work Breakdown Structure includes dividing a large and complex project into simpler, manageable, and independent tasks. It uses a Top-Down approach, where the root of the tree is labeled by the Project name itself, and each node is recursively decomposed into sub-activities until they become undividable. The WBS provides the foundation for all project management work, including planning, cost/effort estimation, and scheduling.

PROJECT Task Task Task Sub-Task Sub-Task Work Package Work Package Work Package

Work Packages: Deliverables and Milestones

The WBS decomposes the project into smaller components and more manageable units of work called Work Packages (the lowest level). These make it possible to assign resources, develop a budget, and monitor progress.

Critical Path Method (CPM)

The Critical Path Method (CPM) is a technique used in project planning to schedule the on-time completion of a project. It helps determine the earliest time by which the whole project can be completed.

Key CPM Concepts

  • Critical Task: An activity that cannot be delayed; otherwise, the completion of the whole project will be delayed. It must be completed on-time before starting dependent tasks.
  • Critical Path: A sequence of critical tasks/activities. It is the largest path in the project network and represents the minimum time required to complete the whole project.

Major Steps of CPM

  1. Identify the activities.
  2. Construct the project network.
  3. Perform time estimation using the forward and backward pass.
  4. Identify the critical path.

Activity-on-Node (AON) Representation

In a project network diagram, each node represents an activity and its time estimations. The standard node layout contains six key values:

Earliest Start (ES)
Duration
Earliest Finish (EF)
Activity Label
Latest Start (LS)
Float
Latest Finish (LF)

Time Estimation & Identifying the Critical Path

START 0 6 6 A 2 2 8 0 4 4 B 3 3 7 0 10 10 F 0 0 10 6 3 9 C 8 2 11 4 4 8 D 7 3 11 4 3 7 E 7 3 10 9 2 11 H 11 2 13 10 3 13 G 10 0 13 FINISH Highlighted Red: Critical Path (Float = 0)

Advantages & Disadvantages of CPM

Advantages

  • Figures out activities that can run parallel.
  • Identifies the most critical elements and provides a practical base for reaching objectives.
  • Strengthens team perception and aids in individual activity scheduling by demonstrating dependencies.
  • Helps in optimization by determining project duration and determining slack time.

Disadvantages

  • Does not handle the scheduling of personnel or resource allocation.
  • Difficult to estimate the exact completion time of an activity, and the critical path is not always clear.
  • Networks can become very complicated for bigger projects.

Program Evaluation and Review Technique (PERT)

Project Evaluation and Review Technique (PERT) is a procedure through which activities of a project are represented in their appropriate sequence and timing. Developed in the 1950s by the U.S. Navy to handle the Polaris submarine missile program, it is a scheduling technique used to organize, integrate, and manage uncertain activities within a project. It provides a blueprint for management planning and control by establishing a time network analysis, reporting information, and identifying the essential elements needed to complete the project on time.

The Three Estimates in PERT

Unlike CPM, which uses a single deterministic time estimate, PERT handles uncertainty by employing three distinct time estimates for each activity:

TOPT

Optimistic Time

The fastest time during which an activity can be finished. It assumes all required resources are available and all previous activities are completed perfectly as planned.

TLIKELY

Most Likely Time

The standard estimate often presented to upper management during the initial project period, representing the most expected duration.

TPESS

Pessimistic Time

The maximum time required to complete an activity, assuming many things will go wrong, resource unavailability, and necessary rework.

PERT Logic Network & Dummy Activities

A PERT chart is represented as a network diagram using nodes (representing events) and directional lines (indicating the sequence of tasks). The logic network shows task dependencies, the timescale, and overall workflow. PERT specifically utilizes dummy activities (represented by dotted lines)—tasks with no resource or completion time required that simply enforce an event dependency sequence.

Start Task 1 Task 3 Task 7 Task 9 Task 2 Task 4 Task 6 Task 5 Task 8 Dummy Activity

PERT vs. CPM

While both are critical scheduling tools, they differ significantly in their approach to uncertainty and structure:

PERT CPM
Used to manage uncertain activities. Manages well-defined activities.
A technique of planning and control of time. A method to control cost and time.
It is a probability model. It is a deterministic model.
Event-oriented technique (network constructed based on events). Activity-oriented technique (network constructed based on activities).
Uses three estimates. Uses one estimate.
No chance of crashing as there is no certainty of time. There may be crashing because of certain time bounds.
Uses dummy activities for representing sequence. Does not use any dummy activities.
Suitable for Research and Development (R&D) projects. Suitable for construction projects.

Project Tracking

The project schedule is a road map which defines the tasks and milestones that are to be tracked and controlled as the project proceeds. Tracking can be done in a number of different ways by experienced project managers:

Control Techniques and Time-Boxing

If things are going well, control is normal. However, if problems occur, the project manager must control them as quickly as possible by focusing additional resources, redeploying staff, or changing the schedule.

If facing severe deadline pressure, project managers sometimes utilize a control technique called time-boxing. This approach recognizes that the entire product may not be deliverable by the pre-defined target, so an incremental software process is used, creating a schedule for each incremental delivery instead.

TimeLine Charts / Gantt Charts

A Generalized Activity Normalization Time Table (GANTT) chart is a type of horizontal bar chart developed by Henry L. Gantt in 1917 as a production control tool. It is used for the graphical representation of a schedule, helping to plan, coordinate, and track specific tasks efficiently. Gantt charts are also known as timeline charts and can be developed for the entire project or individual functions.

Advantages of Gantt Charts

  • Simplify Project: Used for simplifying complex projects.
  • Establish Schedule: Establishes the initial schedule (who does what, when, and how long).
  • Provide Efficiency: Allows the team to coordinate activities better.
  • Ease of Understanding: Makes it easy for stakeholders to understand the timeline and dates.
  • Visualize & Organize: Clearly visualizes project management and organizes thoughts so everyone has a basic understanding.
  • Realistic Planning: Makes planning practical to avoid delays and losses.

Disadvantages of Gantt Charts

  • Sometimes using a Gantt chart can actually make the project feel more complex.
  • The physical size of the bar does not necessarily indicate the amount of work/effort done on the project.
  • They need to be updated on a regular basis to remain useful.
  • It is difficult to view a large project's chart on one sheet of paper; it often requires a computer screen to see the whole project easily.

Project Timetable (Example)

After generating a timeline chart, project tables are prepared listing tasks, start/end dates, and assignments.

Name of the task/activity Scheduled Start Date Actual Start Date Scheduled End Date Actual End Date Effort/ Task Assigned
Requirement Analysis 21-07-2021 25-07-2021 28-07-2021 03-08-2021 Athrav, Saili
Architectural Design 30-07-2021 04-08-2021 04-08-2021 06-08-2021 Hamza, Muaaz
Procedural Design 06-08-2021 16-08-2021 07-08-2021 16-08-2021 Omkar, Krutika, Kunal
Coding 18-08-2021 25-08-2021 18-08-2021 27-08-2021 Pratiksha, Janvi, Aditya
Testing 27-08-2021 03-09-2021 29-08-2021 07-09-2021 Harsh, Omkar, Asmita

Earned Value Analysis (EVA)

During project tracking, developer status updates can often be subjective. Earned Value Analysis (EVA) provides a quantitative and objective method to measure project performance in terms of scope, time, and cost. EVA assesses progress based on "earnings" or money, using a common value scale (like dollars or work-hours) for every project task. By estimating the total hours to complete a project, every task is given an Earned Value based on its estimated percentage of the total.

The Need for EVA: "Early Warning" Signals

EVA provides early warning signals for prompt corrective action. The types of signals include:

  • Bad news does not age well: Holding onto bad news doesn't help; managers must take immediate action.
  • Still time to recover: If a project is delayed, managers can find the root causes and take corrective action while there is still time.
  • Timely request for additional funds: Needs for extra resources can be escalated early.

Key Elements of EVA

EVA relies on three foundational metrics tracked up to a specified point in time:

Planned Value (PV)

The approved cost baseline for the work package. Earlier known as Budgeted Cost of Work Scheduled (BCWS).

PV = Planned % Complete × Budget at Completion

Earned Value (EV)

The budgeted value of the completed work packages. Earlier known as Budgeted Cost of Work Performed (BCWP).

EV = Actual % Complete × Task Budget

Actual Cost (AC)

The actual cost incurred during the execution of work packages. Previously called Actual Cost of Work Performed (ACWP).

AC = Actual Cost of the Task

Earned Value Calculations

Metric Formula Interpretation
Cost Variance (CV) CV = EV - AC If < 0, project is over budget. If > 0, under budget.
Cost Performance Index (CPI) CPI = EV / AC Measures value of work completed against actual cost. < 1.0 means costs are higher than budgeted; > 1.0 means less than budgeted.
Schedule Variance (SV) SV = EV - PV If < 0, project is behind schedule. If > 0, ahead of schedule.
Schedule Performance Index (SPI) SPI = EV / PV Measures progress achieved against progress planned. < 1.0 indicates less work completed than planned.
Estimated at Completion (EAC) EAC = Total Budget / CPI A forecast of how much the total project will cost based on current pacing.

Real-World Example

Scenario: You are halfway (50%) through a year-long project that has a total budget of $100,000. The amount budgeted through this six-month mark (PV) is $55,000. The actual cost through this mark (AC) is $45,000.

  • PV = $55,000
  • AC = $45,000
  • EV = ($100,000 * 0.5) = $50,000
Schedule Status: Behind
  • SV = $50,000 - $55,000 = -$5,000 (Bad because < 0)
  • SPI = $50,000 / $55,000 = 0.91 (Bad because < 1)

Interpretation: We are 50% through the time, but planned for 55% of costs to be used. Catch-up is needed.

Budget Status: Under Budget
  • CV = $50,000 - $45,000 = $5,000 (Good because > 0)
  • CPI = $50,000 / $45,000 = 1.11 (Good because > 1)

Interpretation: Costs so far are only 45% of the budget. New EAC = $100,000 / 1.11 = $90,000.