TP-PY.1.0
21 April 1997

Use of Earned Value Management to
Mitigate Software Development Risk



Software Project Management

SWSE 625

Term Paper

Prepared for:

Dr. Richard Bechtold

George Mason University




Prepared by:

Paul E. Young

21 April 1997





Use of Earned Value Management to
Mitigate Software Development Risk

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]


Figure 2

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.


References

  1. Abba, "Earned Value Management: Reconciling Government and Commercial Practices," delivered at Project Management Institute 27th Annual Seminar/Symposium, Boston, Massachusetts, papers presented October 7 to 9, 1996, pp. 1-6.

  2. Albrecht and J.E. Gaffney, Jr., "Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation," in IEEE Transactions on Software Engineering, Vol. SE-9, No. 6, November 1983, pp. 639-648.

  3. Boehm, "Software Engineering Economics," in IEEE Transactions on Software Engineering, Vol. SE-10, No. 1, January 1984, pp. 4-21.

  4. Boehm, "Software Risk Management: Principles and Practices," in IEEE Software, Vol. 8, No. 1, January 1991, pp. 32-41.

  5. Department of the Navy (October 1, 1987), Cost/Schedule Control Systems Criteria Joint Implementation Guide (Assistant Secretary of the Navy (S&L) Pamphlet NAVSO P3627). Washington, DC.

  6. Fleming, Cost Schedule Control Systems Criteria: The Management Guide to C/SCSC, Probus Publishing Company, 1992.

  7. Jones, Computer, "Software Estimating Rules of Thumb," in IEEE Computer, Vol. 29, No.3, March 1996, pp. 116-118.

  8. Reifer, Software Management, Fourth Edition, IEEE Computer Society Press, 1993.

  9. Tausworthe, "The Work Breakdown Structure in Software Project Management," in Journal of Systems and Software, Vol. 1, No. 3, 1980, pp. 181-186.

  10. Wheeler, B. Brykczynski, and R.N. Meeson, Jr. Software Inspection, An Industry Best Practice, IEEE Computer Society Press, 1996.

Biography

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.








Software Project Management / Comments? / Back / Last Updated: April 24, 1997