In 1967 the Department of Defense (DoD) established the Cost/Schedule
Control Systems Criteria (C/SCSC) to standardize contractor requirements
for reporting cost and schedule performance on major contracts.
A basic tenet of C/SCSC is the concept of Earned Value Management.
Earned Value Management is a methodology for determining cost
and schedule performance of a project by comparing "planned"
work with "accomplished" work in terms of the dollar
value assigned to the work. [1]
Work is planned, budgeted and scheduled in time-phased increments
utilizing a Work Breakdown Structure (WBS) to define tasks and
to assign costs to those tasks. As work is accomplished, value
is "earned" on the same basis it was planned. Comparison
of this earned value with the planned value for a specific time
period provides an indication of task progress- if more value
is planned than is earned for a specified period, then the project
is in danger of not meeting its required schedule, unless action
is taken to recapture the unaccomplished work. Similarly, comparison
of the earned value for a task or group of tasks with the "actual"
costs required to accomplish the same task(s) provides an indication
of task cost performance- if actual costs are greater than planned
costs for the accomplished task(s), then the project is experiencing
a cost overrun situation. [1]
This incremental method for comparing planned, earned and actual
value for a task provides an early indication of project cost
and schedule performance and can provide early insight into problem
areas which might not otherwise be detected until later in the
program. Therefore, by providing early problem identification,
the use of Earned Value Management can serve as a key element
of a project's risk management program.
This paper will begin with an introduction to Earned Value Management,
will continue with an overview of Earned Value Management's role
in risk management and culminate with a discussion on the methodology
for using Earned Value Management in a project's risk management
program. Also included is a discussion on how software inspections
can be utilized in conjunction with Earned Value Management cost
performance measurement techniques.
Earned Value Management Concepts
Prior to discussing the use of Earned Value Management in a project's
risk management program, it is first necessary to explain some
of the basic concepts of the earned value method. Central to the
practice of Earned Value Management is the concept of the Work
Breakdown Structure (WBS).
Work Breakdown Structure (WBS)
A WBS is a tree structured division of a project into its component
elements. A project is hierarchically broken down into the hardware,
software, and other work tasks necessary for project accomplishment.
The WBS defines not only the product to be produced, but also
the work tasks necessary to produce the specified product. The
WBS serves to organize the product elements and work tasks into
an easily identifiable structure whereby component tasks can be
planned, scheduled and tracked.
The WBS starts with a single element at the top of the tree structure-
that element representing the total project effort. This is referred
to as WBS level 1. Lower levels are appropriately labeled levels
2, 3, etc. Figure 1 illustrates an example WBS for a typical software
development project. [9] The lowest levels or leaves of the WBS
are significant because each leaf defines a discrete element of
work or task to be performed against which resources can be assigned
and cost and schedule measured.

These lowest level tasks, when assigned a schedule and cost, together
with required resources (people and material) and the individual
responsible for its accomplishment, define a work package. Definition
of the work package is critical to effective Earned Value Management
and the use of earned value in risk management. As defined in
the Cost/Schedule Control Systems Criteria Joint Implementation
Guide, a work package should have the following characteristics:
"(1) (The work package) represents units of work at levels
where work is performed.
(2) It is clearly distinguished from all other work packages.
(3) It is assignable to a single organizational element.
(4) It has scheduled start and completion dates and, as applicable,
interim milestones, all of
which are representative of physical accomplishment.
(5) It has a budget or assigned value expressed in terms of dollars,
man-hours, or other
measurable units.
(6) Its duration is limited to a relatively short span of time
or it is subdivided by discrete
value milestones to facilitate the objective measurement of work
performed.
(7) It is integrated with detailed engineering, manufacturing,
or other schedules." [5]
Perhaps most critical to the use of earned value in risk management
is the tenet that work packages either be limited in size to be
accomplishable in a relatively short period of time or that they
include discrete milestones against which work performance can
be measured.
Description of Earned Value Management Terms
Three quantities, computed from the time phased summation of planned
and actual costs associated with each work package, form the basis
for cost performance measurement using Earned Value Management.
They are Budgeted Cost of Work Scheduled (BCWS) or planned value,
Budgeted Cost of Work Performed (BCWP) or earned value, and Actual
Cost of Work Performed (ACWP) or actual cost of accomplished work.
The above quantities are defined below and illustrated in figure
2:
Budgeted Cost of Work Scheduled (BCWS)- The sum of budgets for
all work packages scheduled to be accomplished within a given
time period.
Budgeted Cost of Work Performed (BCWP)- The sum of the budgets
for completed work packages and completed portions of open work
packages.
Actual Cost of Work Performed (ACWP)- The actual costs incurred
in accomplishing the work performed within a given time period.
For equitable comparison, ACWP is only recorded for the work performed
to date against tasks for which a BCWP is also reported. [6]
From these three quantities we can determine our total program
budget as well as make a determination of schedule and cost performance
and provide an estimated cost of the project at its completion.
Five additional terms are defined to record cost and schedule
performance and program budget :
Performance Measurement Baseline (PMB)- The sum of all work packages
Budgeted Cost of Work Scheduled (BCWS) for each time period, calculated
for the total program duration. The PMB forms the time-phased
budget plan against which project performance is measured.
Budget at Completion (BAC)- The sum of all of the budgets allocated
to a program. In addition to the PMB, there generally is an amount
of management reserve, which is a portion of the total program
budget not allocated to specific work packages and withheld for
management control purposes. The BAC consists of the PMB plus
all management reserves.
Schedule variance (SV)- The difference between the work scheduled
(BCWS) and the work actually performed (BCWP). The schedule variance
is calculated in terms of the difference in dollar value between
the amount of work that should have been completed in a given
time period and the work actually completed.
Cost variance (CV)- The difference between the planned cost of
work performed (BCWP) and actual cost incurred for the work (ACWP).
This is the actual dollar value by which a project is either overrunning
or underrunning its estimated cost.
Estimate at Completion (EAC)- Actual costs incurred by the project
to date, plus an estimate of the costs for work remaining. At
the start of the project BAC and EAC will be equal. Only as actual
costs (ACWP) vary from planned costs (BCWP) will EAC vary from
BAC. [6]

Cost and Schedule Variance for the project may or may not reflect
the actual cost and schedule position of the project. Some effort
may be completed ahead of schedule or out of sequence, giving
a false indicator of program well-being, particularly if the such
effort represents a significant portion of the program effort.
However, tracking an individual work package or group of work
packages' CV and SV can provide an indicator on how that element
is performing relative to its plan. It is this indicator which
serves as the basis for the use of Earned Value Management as
part of a projects' Risk Management activities.
Earned Value Management's Role in Risk Management
The American Heritage Dictionary defines risk as "the possibility of suffering harm or loss".
Donald Reifer adds that risk "refers to those factors, both
technical and managerial, that are threats to success and/or a
major source of problems on software-intensive projects."
He further defines Risk Management as "the process of identifying
these threats, analyzing them, quantifying their effects, and
implementing plans that counteract their negative effects."
[8]
Risk Management
Barry Boehm defines the practice of Risk Management in terms of
two primary activities, each with three subsidiary steps. The
first activity, risk assessment, consists of risk identification,
risk analysis, and risk prioritization. The second activity, risk
control, includes risk-management planning, risk resolution and
risk monitoring. [4] It is in primarily in two of these activities,
risk identification and risk monitoring, that Earned Value Management
can play an important role.
Risk identification
Under his methodology, Boehm views risk identification as a means
of producing a list of possible items which might jeopardize a
project's success. The list is produced early in a project's development
using techniques such as checklists, decision-driver analysis,
assumptions analysis and decomposition. The list is updated periodically
during the life of the project utilizing similar techniques. [4]
Using Earned Value Management for risk identification, on the other hand, involves comparing actual task cost and schedule performance against estimated values. This is accomplished using
cost and schedule variance to assess work package performance
against the plan. The earned value practitioner is alerted to
a potential risk area whenever that task or task area cost or
schedule variance exceeds a predetermined value. Although not
absolute confirmation that the work package is in trouble- the
cost or schedule variance could be due to a delay in reporting
or some other cause- an assessment of earned value does provide
an early indicator of cost and/or schedule problems that can indicate
an area of program risk.
Although different from Boehm's up-front risk assessment approach,
earned value can be combined with his "crystal ball"
technique of risk identification to maximize risk management efforts.
First, Boehm's methodology is used to identify a list of potential
risk elements. This list is then used to increase the level of
tracking of those elements judged to be at a high risk. By increasing
the granularity and frequency of tracking potential high risk
tasks, Earned Value Management can help confirm problem areas
sooner and thus speed risk mitigation efforts.
Risk monitoring
According to Boehm, "Risk monitoring involves tracking the
project's progress toward resolving its risk items and taking
corrective action where appropriate." [4] Earned Value
Management can play an important role in this area also. The project
manager can monitor the impact risk-management planning and risk
resolution activities have on task performance utilizing the same
methods he utilized to alert him to the risk items initially.
In addition, if the risk resolution involves rework or additional
program tasks, these tasks should be subjected to Earned Value
Management as well in order to determine their performance against
the modified plan.
Using Earned Value Management in a Project's Risk
Management Program
There are three primary activities which must be performed in
using Earned Value Management as part of a project's risk management
program. First, you must define the work packages for the project.
Next, you have to provide cost and schedule estimates for completion
of each work package. Finally, earned value must be computed and
compared against the estimated values to determine the cost and
schedule variance for each work package. Then, as previously mentioned,
these cost and schedule variances are used for identifying areas
of potential risk and in monitoring the progress of risk mitigation
efforts.
Work Packages Definition
Defining the work packages for the project is probably the most
critical step in using Earned Value Management. Ideally, work
packages should be chosen such that the effort being tracked is
clearly definable, task achievement is easily discernible and
the effort spans a relatively short period of time. There are
three types of work packages- discrete work, level-of-effort and
apportioned effort.
Discrete work packages define tasks which have a specific end
product or end result. [6] In terms of a manufacturing activity,
the cost, schedule and resources for machining the gimbal assembly
for a gyroscope would be considered a discrete work package. For
software development, the effort associated with coding a particular
function for a hardware device driver could also be considered
a discrete work package. Discrete work packages provide the foundation
for performing Earned Value Management. One key characteristic
of discrete work packages required for effective earned value
computation is that the task require a relatively short period
of time to complete. Ideally, tasks should be chosen that can
be completed within one or two reporting cycles. Such short duration
tasks prevent having to evaluate work-in-progress status and enable
earlier identification of potential risk elements. [5]
Level-of-effort work packages are used for activities which do
not have a specific end product or result but which are more time-oriented
than task-related. Personnel management, contract administration,
and field maintenance support are examples of activities that
could be considered level-of-effort. For these activities task
accomplishment is measured by the passage of time and the cost
of work performed (BCWP) is always considered equal to the cost
of work scheduled (BCWS). Therefore, for level-of-effort tasks,
it is not possible to compute a schedule variance; a cost variance
may be experienced if more or less resources are expended than
were planned. These tasks therefore, are not as valuable for use
in risk management as discrete tasks. Use of level-of-effort tasks
should be minimized- whenever possible a discrete task should
be identified. When used, level-of -effort tasks should be tracked
separately from discrete work packages. [6]
Work packages which have a direct performance relationship to
another discrete activity are termed apportioned effort work packages.
For a manufacturing environment, an example of apportioned effort
could be the relationship between the manufacture of a part and
the inspection of that part. Such a relationship would exist if
the time and resources required to inspect the manufactured part
is directly related to the time and resources required to manufacture
the part. In such an instance the earned value for the inspection
effort would be set as a fixed relationship to the earned value
of the manufacturing task. Thus if the BCWP for part manufacture
is set at 33%, the BCWP for the inspection would also equal 33%.
However, cost variance determination is based on the actual costs
expended for the separate manufacturing and inspection efforts.
[5] [6]
Software Inspections and Work Package Definition
The identification of the bottom level work packages for the project
is the most important step in using earned value as part of the
risk management program. The majority of these tasks should be
discrete work packages, for which progress can be clearly measurable.
As previously mentioned, the key to effective use of earned value
for risk management is selecting work packages that are clearly
definable, completion is clearly determinable and the effort completed
in a relatively short duration.
Many different choices can be made when selecting work packages.
One work package can consist of defining the requirements for
a selected subset of a system's required functionality, such as
the temperature monitoring feature of an industrial furnace. Another
work package might be the effort to design the software module
which will perform the temperature monitoring function. Writing
the code to implement the design for the temperature monitoring
feature would define an additional work package. Yet another might
be to write the test procedure that tests the code to ensure that
it provides the required functionality, and so on. The technique
just described follows closely with the waterfall model for software
development and can be an effective method for work package definition.
A similar approach can be use in conjunction with the various
other software development models.
Another practice which has recently come into focus in the software
industry which should provide an effective method for work package
definition is the concept of software inspections. "Software
inspections are detailed reviews of work in progress.
Work
products are small but complete chunks of work- on the order of
200 to 250 lines of code. Requirements, designs, and other work
products are inspected in similar-sized chunks." [10]
Although originally developed as a process for identifying
work product problems as a means for improving software quality,
software inspections can provide a residual benefit by serving
as the basis for work package definition. By design, software
inspections are conducted on clearly defined, limited size work
products, with a clearly defined pass/fail completion criteria.
These are exactly the criteria desired for work package selection
in conjunction with cost performance measurement activities. Thus,
for Earned Value Management, the work package can be defined as
the "chunk" of work to be reviewed during a software
inspection.
Estimating Task Resources
Estimating work package cost and schedule is probably the most
difficult aspect of cost performance measurement. Attempts at
determining project cost and schedule range from simple software
estimating rules of thumb to automated cost estimation models.
[7] In his paper "Software Engineering Economics", Barry
Boehm introduces seven major estimation techniques for determining
software cost: algorithmic models, expert judgment, analogy, Parkinson,
price-to-win, top-down and bottoms-up. [3]
Of the seven techniques, three are not considered appropriate
for Earned Value Management use. Algorithmic models are primarily
used in attempting to estimate the cost and schedule of an entire
project. Major cost drivers such as lines of code or function
points are utilized as the entering arguments for the algorithms
used for determining project cost and schedule. [2] These algorithms,
and their automated implementations, do not lend themselves easily
to estimating cost and schedule for individual work packages,
which is the level of estimation needed for effective use in risk
management activities. Similarly, the use of a Parkinson principle
("work expands to fill the available volume") equally
is not suitable for work package cost and schedule estimation.
The third, price-to-win, although sometimes used in practice to
win a competitive contract, generally does not provide sufficiently
accurate estimates from which an accurate risk management program
could be based.
Of the remaining four techniques, expert judgment, in conjunction
with a bottoms-up approach, is the most conducive method for use
in risk management using Earned Value Management. A top-down approach
can also be effective, although it generally does not provide
the same detailed basis for individual work package estimation
as does bottoms-up. Estimation by analogy can be used separately
or in conjunction with expert judgment, in either a top-down or
bottoms-up fashion.
Earned Value's Use in Estimating Cost and Schedule
While estimating task cost and schedule is a key element in Earned
Value Management, earned value can also assist in making these
estimates more accurate. First, an initial estimate is made using
the best method available (expert judgment, analogy, top-down
or bottoms-up). Next, as tasks are completed and earned value
and actual costs computed, a cost and schedule variance can be
calculated for the work package. These resultant variances can
then be used to adjust cost and schedule estimates for subsequent,
similar tasks. Thus, earned value can be used as a feedback mechanism
for revising task performance estimates.
Determining Earned Value
Perhaps equal in criticality to defining the lower level components
of the project against which to measure progress, is the actual
determination of the amount of progress to be credited for the
work package. Progress is credited by means of earned value or
Budgeted Cost of Work Performed (BCWP), that is, the amount of
planned cost which will be earned based on progress toward task
completion. This earned value will be the basis for determining
the cost and schedule performance for the task, which as previously
discussed, can serve as a key element of the project's risk management
activities.
In calculating earned value, tasks can be considered as either
1) 100 percent complete, in which case the BCWP will be equal
to the BCWS for the task,
2) not started, in which case the BCWP will be equal to zero and
the schedule variance for the task will be equal to BCWS minus
BCWP, or
3) somewhere between 100 percent complete and not started, in
which case BCWP will have to be calculated based on some determination
of the amount of work completed for the task. [6]
It is in the third instance above that some methodology must be
utilized for calculating BCWP in order to effectively utilize
earned value as part of the risk management program. The following
are typical
methods utilized for BCWP determination on software projects:
- The 0/100 Technique: No credit for BCWP is given until the task
is 100% complete. At that time BCWP is set equal to BCWS for the
work package. Otherwise, BCWP remains zero.
- The 50/50 Technique: Fifty percent of the credit for BCWS is
taken as BCWP at the start of the task with the remaining fifty
percent earned upon task completion.
- Discrete Milestones: When the work package can be divided up
into a number of discrete, measurable milestones, a predetermined
portion of the BCWS is assigned as earned value upon completion
of each milestone.
- Percent Complete: Basically a variation of the 50/50 technique,
a subjective assessment of the amount of the work package completed
is made at the end of each work period. That value is then used
to calculate BCWP as a percentage of the BCWS for that work package.
[6]
Use of Software Inspections for Determining Task Completion
In addition to providing an effective method for work package
definition, software inspections can also be utilized for calculating
earned value by determining task completion status. There are
six key steps to the software inspection process: planning, overview,
preparation, examination, rework, and follow-up. [10] Only by
satisfaction of predetermined exit criteria during the examination
or follow-up steps can a work package be considered as complete.
This requirement for exit criteria satisfaction, provides a clearly
discernible method for task completion determination. Therefore,
a logical implementation would be to use the 0/100 Technique for
earned value calculation, with BCWP credit earned only upon satisfactory
completion of the software inspection exit criteria.
Summary
This paper began with an introduction to Earned Value Management.
In the discussion it was shown how the Work Breakdown Structure
(WBS) forms the basis for work package definition and how the
cost associated with each work package can be used to provide
an indication of task progress. Task progress, in the form of
a measurable cost and schedule variance, can then be utilized
as both an indicator of potential program risk and to monitor
resultant risk mitigation efforts. The paper continued with a
discussion on the use of Earned Value Management as part of a
project's risk management program, covering the three primary
cost performance measurement activities which must be performed-
work package definition, cost and schedule estimation and earned
value computation. Finally, a unique look at the use of software
inspections in conjunction with Earned Value Management was provided.
Conclusion
Although long used by the Department of Defense in measuring contractor performance on defense contracts, Earned Value Management has not found widespread use on software development projects. A large part of the rationale for not using earned value on software development efforts is the view that software development is largely a level-of-effort activity. Although little insight on task performance can be gained through the use of Earned Value Management on level-of-effort activities, I do not concur with the placement of software development in this category. Software development can be defined in terms of discrete work packages with associated cost and schedule. The use of software inspections as the basis for work package definition furthers the applicability of Earned Value Management techniques to software development.
Paul E. Young received the Bachelor of Science in Computer Science
and the Master of Science in Engineering Science, Computer Science
specialty, from the University of Mississippi in 1977 and 1985,
respectively. He is a 1988 graduate of the Defense Systems Management
College Program Managers Course.
Mr. Young is currently Deputy Program Manager for Cruise Missiles
Command and Control Systems with the Navy's Program Executive
Officer, Cruise Missiles and Unmanned Aerial Vehicles. As a designated
Aerospace Engineering Duty Officer, he has held positions as Computer
Resources Project Engineer for the Navy's Maritime Patrol Aircraft
Programs and as Maritime Patrol Aircraft Program Division Director
and Command Executive Officer and Chief Staff Officer for the
Naval Air Warfare Center, Aircraft Division, Warminster, PA.