I'm currently training for taking the PMP certification exam, and managing a large software project in parallel.
When it comes to EVM, PMBoK guide seems quite clear about how EVM technique can help PM assessing project performance. However, when I try to apply this method to my project I face an issue that I think many practionner face : How do you know where you stand ?
EVM fully makes sense if you have an accurate EV calculation method, which is not so trivial.
Indeed, in the 4 brick wall example (http://leadinganswers.typepad.com/leading_answers/2009/04/the-simple-guide-to-earned-value.html), it's easy to assess how complete the wall is. When it comes to software implementation, or other brain creation activities, it's far more difficult to assess where you stand.
I've thought about the question, and found it was a hard one.
Method 1: Progress based on reviewed ETC
Let's say that progress on on-going activities is Actuals divided by Actuals + Bottom-up eestimated ETC. We have the following progress indicators multiplied by initial budget for each work package :
- 0% for not started work packages
- 100% for completed work packages
- Reviewed progress for ongoing work packages
BUT, from my recent experience, some ongoing activities on work packages can entail rework on other work packages, causing completed work packages to go back to ongoing status, and progress to decrease on ongoing deliverables, causing the process less likely to converge using this kind of progress.
Method 2: Gates for assessing progress
Another way to proceed would be to define "gates" for each deliverable. Progress associated with the gates could be defined in the Project Management Plan. The achievement of a gate would set the progress to the defined value.
As an example, for a GUI based deliverable, you could define:
- Design completed : 25% progress
- GUI completed : 35% progress
- Controller / Model completed : 55% progress
- Ready for System Testing : 65% progress
- Ready for Integration Testing : 85% progress
I'm not comfortable with setting-up EVM tracking on my project. I chose to implement the Method #1 which seems more close to real progress tracking despite its disadvantage.
And you ? Which way to track progress as an input to EV calculation do you use ?