Shim Marom has a great blog post about a conversation around using Earned Value Management. The exchange is typical of those not starting with the Project Controls paradigm for managing projects. I attribute this typical exchange to missing information about how projects get to be successful. PMI has not done a good job around project controls, AACEI lives and breaths the notion, Agile has something to say, but leaves many gaps, and most of the ad hoc approaches to managing the expenditure of other peoples money in pursuit of a product have little to say.
It's been said before, but Shim's post needs as many voices as possible. If we want to show up on or near the planned time, at or near the planned budget, with something that has a hope of working, we need a method of planning work and controlling cost.
Here's are 11 activities that contribute to that goal on the non-technical side of the project. The odd numbering system will be revealed at the end
1. Define the deliverables – what does the customer want? Do we know this at a level of detail so we and the customer will recognize it when it arrives?
2. Define who is going to produce these items – do we have the people needed to produce them? Do we know the skills needed to do this work? Do we know something about how this work effort is going to be organized?
5. Put these two thing together - so the people on the project know who is doing what. Who is accountable for producing the outcomes of the project? How will they communicate this to the customer?
6. Plan the sequence of work – so everyone is not doing anything and everything out of order. Einstein's quote that the purpose of time is to keep everything from happening at once is applicable here.
7. Define when you need things to be produced – what day do I need something? The order of the deliverables is usually important to the assembly of the parts of the product. Spoilage is actually an issue when developing software, since emergent requirements many times result in rework.
8. Figure out how much money you’ll need for producing things – do we have enough time and money to produce what was asked for at the time it is needed? If you're spending other peoples money, you'll likely have to explain how much money you need and when you need it. Open checkbooks are rare these days.
16. Capture how much you spent – who spent what on what outcome at what time? The people giving you the money, will probably like to know what you spent it on.
23. Determine if there is a difference between what you planned and what you spent – why did we not follow our plan? When spending other peoples money, they like to know you've got their interest at heart. This can be done with a budget versus actuals discussion. Just like any business process (or even in life), having and budget and trying to stay on budget is a demonstration that you're trusted to spend the money.
25. Add up all these variances – do we have enough time and money remaining to do what the customer wants? This is a quetsion you probably ask yourself every month as you're paying bills. Same goes for managing other people's money on your project. The surprise of we have no more money (or time) is unpleasant in all circumstances.
26. Take action to stay on budget and schedule – either way, yes or no, what should we do about it. If we're on budget and on schedule, what do you need to do to keep it that way? If you're off budget or schedule, what are you going to do to get back?
28. Implement you actions – with the knowledge from #26 do it, Project Management is a verb, do something about the variances.
These 11 activities are simply good project management. These are what project managers should be doing on the Programmatic side of the project. The Technical management of the project can be done in a variety of ways, and of course they will influence the programmatic side. Add to that the people management and you've got the picture of what a project manager should be doing.
By The Way these 11 activities are numbered from the 32 Guidelines of ANSI-748-B - Earned Value Management. So when you hear someone say - we can't do EVM on our project or EVM is a waste of time in our domain usually spoken by the IT folks and even by the senior thought leaders of IT, ask yourself - are these 11 activities missing? If so, what's the chance your project is in the ditch and you don't even know it?