Performance reporting in the area of Earned Value Management is frequently focused on performance to schedule on software projects to the exclusion of performance to budget. This occurs for one of two reasons: the inability of the project to report on performance to budget and a lack of interest in performance to budget. Lack of interest does not necessarily indicate a lack of financial responsibility or accountability on the part of the sponsors; labour accounts for over 95% of the costs on most software projects and if the team is on schedule we can expect the project to be running on budget. This assumption is fairly safe so long as the team size remains constant, team members all cost the same (i.e. their loaded labour rate is the same), and there is no overtime involved. As soon as any of these elements are introduced, performance to schedule and performance to budget can diverge.
Let me give you an example to illustrate my point. Let’s take the example of a software project which will introduce a new system in an accounting organization. No hardware is involved. The software is being developed in-house so no new software licenses need to be purchased. Project costs are almost all generated by payroll. So long as the project is on schedule and the hours of work planned are accomplishing the work to schedule, both schedule and budget goals are being met. Now let’s look at the same project when it falls behind schedule and the programmers work overtime to make up for lost time. Let’s assume that the time to be made up is 200 hours. Programmer salaries average $40 per hour so overtime is an extra $20 per hour. The loaded labour rate is $80 per hour so the cost of the overtime is $100 per hour x 200 hours, or $20K. The project is back on schedule but the overtime has put the cost $20K over budget. Some of this money can be recovered if the programmers don’t start charging time to the project until they start their work. This means that instead of $20K over budget the project will be $4K over budget ($20 per hour x 200 hours).
MS Project will always be your choice of tool to track schedule performance. The formula for calculating the Schedule Performance Index (SPI) changes slightly because the BCWP (Budgeted Cost of Work Performed, or Earned Value) and BCWS (Budgeted Cost of Work Scheduled, or Planned Value) are no longer measured in dollars. MS Project is capable of measuring the cost of the work provided the loaded labour rate is provided and MS Project is updated with the actual hours spent on the work. The loaded labour rate may not be easily available from the Finance organization – they may not have perceived a need to calculate this figure or may not have calculated it for the resources you are tracking. Keeping MS Project up to date with actual hours worked, which is needed to calculate the Actual Cost of the Work Performed (AC or ACWP), will be difficult and will mean the project manager must succeed in having the team use the MS Project file as a time sheet.
Let’s take the same example when there is a difference in the loaded labour rates for different functions. Let’s say the loaded labour rate for business analysts is $100 per hour while the loaded labour rate for programmers is $80 per hour. The project falls 200 hours behind schedule due to late delivery of specifications and instead of 1000 hours of effort and duration the business analysts have devoted 1200 hours to the work. The cost of the business analysts’ work exceeds the budget by $20K ($120K vs. $100K). Now look at the project performance after the programmers work the overtime to bring the project back on schedule. The project is on schedule (planned work = actual work) but over budget because the actual cost of the work exceeds the planned cost.
Now let’s fast forward to the end of the build and assume the time recovered by the programmers working overtime was sufficient to preserve the project schedule and no more corrective actions were necessary. Let’s say the total programming hours planned was 2000. The actual number of hours worked was 2000 but 200 of those were worked at the overtime rate which is $20 per hour more than the loaded labour rate. The total budget for programming was $80 per hour x 2000 hours, or $160K. The actual cost was $160K + ($20 per hour x 200 hours) = $164K. Total actual cost = $284K ($120K + $164K), total planned cost = $260K ($100K + $160K). Even though the project is back on schedule, it is over budget and the only way to correct that is to save $24K somewhere else in the project.
This example points out a problem with using the Earned Value method to track progress to schedule. Using costs, both actual and planned to calculate the SPI of a project can be misleading. Calculating the SPI using the BCWP/BCWS, or EV/PV formula might tell you that the project is behind schedule when it is actually on schedule, but over budget. Using MS Project to calculate the SPI using the formula scheduled duration of work/actual duration of work will tell you if your project is on schedule or not. Using the effort from MS Project will yield the same results, providing MS Project is not used as a time sheet. Using effort in place of duration allows you to weight the work according to the number of resources devoted to it. The impact of work that goes 1 week over scheduled and takes 10 people to perform will have 10 times the impact of work that only takes 1 person.
Accurately kept time sheets and the capture of loaded labour rates in your MS Project file are the answer to accurately calculating the CPI (Cost Performance Index) of your project. Capturing the loaded labour rates for each of the project’s resources, or resource groups, will allow you to calculate the Budgeted cost of the work performed. The budget is simply the total hours of effort in MS Project, to date, x the loaded labour rate. The AC or ACWP is derived from the time tracking system and is calculated by multiplying the total hours spent by each resource x the loaded labour rate for that resource. The total AC is the sum of all the costs of all the resources. There should be a report available from the time tracking system which will perform these calculations for you. This will provide you and your sponsors with an accurate picture of the project’s performance to budget.
Projects that involve the purchase of hardware or software can either add these costs to the EV/BCWP, or report on them separately. In either case, the project manager should agree upon the approach with the Finance organization and also agree on whether to report these costs at the time they are incurred (i.e. when the hardware and software are received), or at the time they are paid for.
Time sheets bring a fringe benefit: they will show you when your project is being delayed due to resources spending unplanned time on other projects or activities. Work that is late, or is being finished at the desired rate may be affected by the responsible team member not spending sufficient time on the project. Simply compare the time that the time tracking system tells you the resource has spent on your project with the time your MS Project file. Any discrepancy explains why your work is not getting done on time.
A good time sheet tracking system should capture the loaded labour rate for all project resources and support the reporting for CPI and investigative purposes that you need. You should also be able to categorize resources, activities, and project phases. The system should also support a project administrator assigning resources to the project, closing out activities and project phases and un-assigning resources from the project. You need these safeguards to protect you from people charging time to your project who have no business doing so. Remember that project reports the system is capable of producing will be viewed by executives outside the project and your project reporting needs to be reconcilable with that reporting.
Time sheets may not be feasible for every software organization. Often, the cost of this reporting tool cannot be justified by the benefits it brings to the project. When you are fortunate enough to be in an organization that implements a time tracking system, support it by ensuring that your project information, including resources assigned to your project, is accurately captured in the system and your project team faithfully enters their time in the tool when they should. In return, ask for the ability to generate the type of reporting that your project communications plan calls for.