Earned value is a powerful technique for planning and tracking your work. To get the most value out of the earned value tools in the dashboard, it is helpful to understand how the calculations are performed. The paragraphs below shed light on how various dates are calculated.
When you create a Task & Schedule plan to describe your personal work, the dashboard will automatically calculate the date when each task is planned to complete. This is a very simple calculation, and is specified in the PSP book by Watts Humphrey.
Specifically, the Process Dashboard begins by making a list of the "leaf" nodes in your task list. (A "leaf" node is a task that does not have any children underneath.) The dashboard looks up the amount of time that you have planned for each task. Then, it uses the flat view of your task list to determine the approximate order that you plan to perform the work. The resulting list might look something like this:
Task Name | Planned Time |
---|---|
Task A | 1 |
Task B | 5 |
Task C | 3 |
Task D | 8 |
Task E | 4 |
Task F | 7 |
Task G | 2 |
Task H | 5 |
Next, the dashboard will calculate a running total of the numbers in the Planned Time column:
Task Name | Planned Time | Cumulative Planned Time |
---|---|---|
Task A | 1 | 1 |
Task B | 5 | 6 |
Task C | 3 | 9 |
Task D | 8 | 17 |
Task E | 4 | 21 |
Task F | 7 | 28 |
Task G | 2 | 30 |
Task H | 5 | 35 |
In addition, your task and schedule plan will include a calendar of time that you plan to spend on the tasks in this task list. That calendar might look something like this:
Calendar Date | Planned Time |
---|---|
Week 1 | 6 |
Week 2 | 1 |
Week 3 | 6 |
Week 4 | 6 |
Week 5 | 0 |
Week 6 | 6 |
Week 7 | 6 |
Just as before, the dashboard will calculate a running total of the numbers in the Planned Time column of your schedule. If the schedule does not contain enough total hours to cover the tasks in your plan, the final row of the schedule will be repeated until enough hours are available:
Calendar Date | Planned Time | Cumulative Planned Time |
---|---|---|
Week 1 | 6 | 6 |
Week 2 | 1 | 7 |
Week 3 | 6 | 13 |
Week 4 | 6 | 19 |
Week 5 | 0 | 19 |
Week 6 | 6 | 25 |
Week 7 | 6 | 31 |
Week 8 | 6 | 37 |
Finally, the dashboard will cross-reference the numbers in these two "Cumulative Planned Time" columns. For example, if you were to work on the tasks in the exact order that they appear in the task list, you would finish Task A and Task B after completing 6 hours of work. If you spend exactly as much time per week as you plan to, you will finish 6 hours of work during Week 1. So Task A and Task B would be completed on Week 1. Task C would be completed when you reach the 9 hour point, and that would occur sometime in the middle of Week 3; so Task C would have a planned completion date of Week 3. If we were to finish these cross-references, we would obtain the following planned dates for each task:
Task Name | Planned Time | Cumulative Planned Time | Planned Date |
---|---|---|---|
Task A | 1 | 1 | Week 1 |
Task B | 5 | 6 | Week 1 |
Task C | 3 | 9 | Week 3 |
Task D | 8 | 17 | Week 4 |
Task E | 4 | 21 | Week 6 |
Task F | 7 | 28 | Week 7 |
Task G | 2 | 30 | Week 7 |
Task H | 5 | 35 | Week 8 |
Once these values have been calculated for the "leaf" tasks in your plan, the dashboard then takes a look at the other nodes in your hierarchically organized task list. Each parent node is planned to complete when its last child finishes. (The same technique is used to calculate the team rollup: each node in the team rollup will be planned to finish on the date when the last team member plans to finish that item.)
So that explains how the values in the "Plan Date" column are calculated. From this explanation, you can make the following important observations:
As discussed above, the Plan Date column provides an idealized projection for when each task could be completed. But of course, work rarely goes exactly according to plan. So the Replan Date column produces an improved projection that takes into account the amount of time your schedule has slipped.
Specifically, the dashboard will look at your original list of tasks, and will estimate how much planned work is still remaining. To do this, it will make a temporary "working" copy of the original task list. If any tasks have already been marked complete, those completed tasks will be removed from the "working" copy. And if you have started logging time to other tasks in your plan, the actual time you've spent so far will be subtracted from the originally planned time, to calculate the amount of time that is remaining for each task:
Task Name | Planned Time | Actual Time | Completed? | Planned Time Remaining |
---|---|---|---|---|
1 | 2 | Y | ||
5 | 7 | Y | ||
Task C | 3 | 3 | ||
Task D | 8 | 3 | 5 | |
Task E | 4 | 1 | 3 | |
Task F | 7 | 7 | ||
Task G | 2 | 2 | ||
Task H | 5 | 5 |
Similarly, the dashboard will take a look at your original calendar of available time, and will determine how much planned time is still remaining. Just as before, this is accomplished by making a temporary "working" copy of the original schedule. Any calendar periods that have already passed are removed from the working copy. For the calendar period that is currently in progress, the planned time will be prorated based on the percentage of real time that has already elapsed. The table below shows an example of what the "working" calendar might look like if we are halfway through Week 4 of the original schedule:
Calendar Date | Planned Time | In the Past? | Planned Time Remaining |
---|---|---|---|
Week 1 | 6 | Y | |
Week 2 | 1 | Y | |
Week 3 | 6 | Y | |
Week 4 | 6 | 50% | 3 |
Week 5 | 0 | 0 | |
Week 6 | 6 | 6 | |
Week 7 | 6 | 6 | |
Week 8 | 6 | 6 |
After making a "working" list of the remaining tasks, and a "working" list of the time planned for future calendar periods, the dashboard now takes these two "working" lists and repeats the calculation that was originally performed to compute planned dates.
Based on this explanation, the following observations about "Replan Date" are worth noting:
As discussed above, the Replan Date column observes that your schedule has slipped somewhat, then calculates the dates each task might complete based on an assumption that the remaining work will proceed exactly according to plan. However, if your original plan contained an estimating bias, that assumption will be incorrect. So the Forecast column takes additional steps to adjust for estimating bias.
First, it looks at all of the tasks you have completed so far, and compares the total planned time for those tasks to the total actual time that was spent. It uses this ratio to compute your estimating bias for the tasks in this task list. Then, it assumes that the remaining tasks in your plan will also have this same bias.
For example, in the table shown below, Task A and Task B have been marked complete. Those two tasks had a combined planned time of 6 hours (1 + 5), and a combined actual time of 9 hours (2 + 7). 9 divided by 6 is 1.5, indicating that tasks are taking 50% longer than expected on average. So the dashboard would multiply all of the original planned times in this "working" task list by 1.5:
Task Name | Planned Time | Adjusted Plan Time | Actual Time | Completed? | Planned Time Remaining |
---|---|---|---|---|---|
1 | 2 | Y | |||
5 | 7 | Y | |||
Task C | 3 | 4.5 | 4.5 | ||
Task D | 8 | 12 | 3 | 9 | |
Task E | 4 | 6 | 1 | 5 | |
Task F | 7 | 10.5 | 10.5 | ||
Task G | 2 | 3 | 3 | ||
Task H | 5 | 7.5 | 7.5 |
Similarly, the dashboard would examine the portion of the schedule that is in the past. It would add up the total planned time and the total actual time for those past periods, and compute the ratio between these totals. That ratio would indicate whether you over- or underestimated the amount of time you would be able to spend each week. Then, it would make a "working" copy of the schedule, and adjust the planned times for all of the future periods by that ratio.
After having made these corrections to adjust for estimating bias in the task list and the schedule, the calculation would proceed in the same manner as the Replan calculation described above.
Based on this explanation, the following observations about "Forecast Date" are worth noting:
The discussions above describe how dates are calculated in the earned value plan for a single individual. Then, the dashboard rolls these dates up to the team level by identifying the date when all team members will finish. As a result, when you see the green "Forecast" line on a team earned value chart, it is depicting the date when the last team member is projected to finish.
Of course, a high-maturity team will monitor the forecast dates for each team member to see whether there is a large discrepancy between the dates when the first and last team members will finish. When a large discrepancy is present, the workload is said to be unbalanced. In that scenario, it is helpful to identify the date when the team could finish if the workload were optimally rebalanced.
The dashboard calculates this Optimized Forecast Date in the following way:
This is a very sophisticated calculation. In particular, it is performing independent bias adjustments for each individual team member, based on the actual task and schedule data they have collected so far. And it is taking into account variations in staffing levels - for example, the dates when individual team members will be out of the office, and dates when particular individuals will leave the team project.
The Optimized Forecast Date is displayed on the earned value charts as an orange line. When the orange line and the green line are far apart, this is a warning sign that the workload is unbalanced.