Agile Project Cost Management: General Practices

Earned Value Management

4 September 2013

Rajesh Pulaparambil
UST Global

 
Earned Value Management, or EVM, is a popular method of measuring project performance, and an Agile project manager/ScrumMaster should know how to calculate this for better control on a project. It is calculated by comparing the planned amount of work with that actually completed, in order to determine whether cost and schedule performance are proceeding per plan. It combines cost and schedule performance on one sheet and helps control the entire project. EVM is normally calculated at release level rather than product level, in order to reduce the inevitable corrections on the document that arise because Agile welcomes changes during project execution.

The different EVM terms are:
  • EV:  Budgeted cost of work performed (BCWP)
  • PV: Budgeted cost of work scheduled (BCWS)
  • AC: Actual cost of work performed
  • BAC: Budget at completion of project
  • SV: Schedule variance (EV - PV)
  • CV:  Cost variance (EV – AC)
  • SPI: Schedule performance index: EV/PV (>=1 means project schedule under control)
  • CPI: Cost performance index (EV/AC) (>=1 means project cost under control)
  • EAC: Estimate at completion, or expected total cost of the project at its end (EAC = BAC / CPI)
  • ETC: Estimate to complete, or expected additional cost needed to complete the project from the point of calculation (ETC = EAC – AC)

How to track project cost

The BAC of a project can be calculated at the release level or the product level. But it is better to do it at the release level to get a better grip on project cost. Suppose the first release planning of the product reveals following facts:

User stories selected for release: 100
Estimated story points for release: 1,000 ideal days (one ideal day -> 6 hrs)
Number of resources working on this release: 6 (with average cost of $5/hr)
Sprint length selected: 3 weeks

So BAC -> 1000 * 6 * 5 -> $30k

Number of sprints: The sprint count calculation can be done in two ways:
  1. If the team already has a proven velocity history on the same project domain with the same technology, and team velocity is 50 story points, then the number of sprints = 1000/50 -> 20.
  2. If we're running the project with a first sprint of three weeks and we could achieve 50 story points, then the number of sprints needed -> 1000/50 -> 20. It is not perfect to judge team velocity based on the first sprint, but it gives us an approximate. We need to monitor team velocity sprint by sprint, and we can see that it becomes almost constant after a few sprints if the team is acting with perfect Agile execution. We need to change the release plan at the end of each sprint based on these inputs.
Now we can plot first draft of project cost metrics:

Release 1.0
  Sprint 1 Sprint 2 Sprint 3 Sprint 4 ..... Sprint 20
BAC $30000 $30000 $31500 $31500    
Story points planned 50 50 50 50    
Story points done 50 50 60 60    
PV 1500 3000 4500 6000    
EV 1500 3000 4800 6600    
AC 1600 3100 4600 6100    
SV 0 0 $300 $600    
CV ($100) ($100) $200 $500    
SPI =1 =1 1.06 > 1 1.1 > 1    
CPI .94 < 1 .98 < 1 1.04 > 1 1.08 > 1    
ETC 30400 27500 25688 23000    
EAC 32000 30600 30288 29100    
VAC (Variance) ($2000) ($600) $1212 $2400    
Status            
Comments     New 50 story points added as CR      
 
We can see that SPI > 1 indicates the project is ahead of schedule. It is a clear sign for the project manager/ScrumMaster to accept more changes from the PO since it will increase the profitability of the project.

At the end of each sprint the EAC should be communicated to project stakeholders, since that will give them a clear idea about how much is needed to complete the project.

Sprint cost control

The amount to estimate on each day of the sprint can be calculated as follows:
PV = (Number of man days in the sprint/sprint length in man days) * BAC of the sprint

Or it can be calculated based on tasks estimated in the sprint planning:
PV= (Number of tasks completed/Total number of tasks in the sprint) * BAC of the sprint
 
Sprint 10
  Day 1 Day 2 ………………….. Day 15
BAC 1500 1500    
PV 100 200    
AC 150 250    
CV (50) (50)    
ETC 2100 1625    
EAC 2250 1875    
VC (750) (375)    
 

Performance charts

Cost performance charts are helpful for analyzing the trends in project cost and schedule variances and for taking remedial action accordingly to bring things back to an effective state.
 

Initially AC is little bit higher than EV, but that changes after a few sprints. This is the power of Agile, where sprint by sprint team performance increases. Otherwise something is wrong in the team and we need to retrospect, and the team has to find a remedy with the help of the project manager/ScrumMaster.


 

Opinions represent those of the author and not of Scrum Alliance. The sharing of member-contributed content on this site does not imply endorsement of specific Scrum methods or practices beyond those taught by Scrum Alliance Certified Trainers and Coaches.



Article Rating

Current rating: 0 (0 ratings)

Comments

Srinath Chandrasekharan, CSP,CSM, 9/4/2013 3:22:22 AM
Hi Rajesh,

I read your article and its interesting. I have some questions

1. How did you get BAC as 30000K. I would have thought its Ideal days * no. of people * hours per day * rate per hour which means 1000 * 6 * 6 * 5.

2. How did you get PV and AC.

Can you please clarify .

Regards,
Srinath
Rajesh Pulaparambil, CSM, 9/5/2013 12:47:08 AM
1. No. The resource count is not needed for budget calculation
2. PV for each sprint = (current sprint/total sprints) *BAC. AC is the actual cost of the sprint to implement those story points. It is the actual figure we get once we complete the sprint. It may be lower or higher on how efficiently you did the estimation or project execution. Here i am guessing an amount greater than the PV. This is the reality, when we do initial sprints, since it will take some time for resources to settle down with project architecure or environment or execution. We need to keep a risk register for the project where we will be tracking all these but that is not covering in this article.
Udayakumar Sethu, CSM, 9/5/2013 3:58:55 AM
Could you please share the best practices of planning the budget (Budget & cost estimation) across multiple sprints and controlling the cost or spend? What are the strategies to reduce the cost during the sprint execution?
Rajesh Pulaparambil, CSM, 9/9/2013 7:03:42 AM
Here is the tips for cost effective sprint execution.
1. Effective sprint planning
2. Risk management
3. Effective communication with in the team and with PO
4. Apply technical practices like Testing automation and continuous integration.
5. Identify the technical debt as early as possible. Implement peer reviews with in the team.

You must Login or Signup to comment.