Are we there yet?
Anyone with kids has probably heard this during a long car trip. Anyone in the software industry has probably heard this too.
Software development projects can be huge investments of time and energy, and often weeks can go by without showing a lot of return on that investment.
We often try to reduce the investment risk by doing weekly (or frequent) demos to the customers. This tends to help to show progress, but it is really just showing the development progress of the user experience (what the user can see). The work that goes into software development projects is often like an iceberg: you can’t see most of it.
There is a concept we use at Don’t Panic Labs that helps illustrate the progress made. It’s called Earned Value. This concept gives a better sense of where development is at and, more importantly, how the project is trending.
We have three items that comprise Earned Value that are essential for a healthy project. First, we have a plan. The plan is the expected earned value over the course of the project. The projected value earned goes up when we expect a specific activity to be completed. We can even map this plan over time.
Second, we track hours applied to the project. Since we record the number of hours worked, we also have this available to be applied to Earned Value.
Between hours and a plan, we have a lot of information. Now it’s time to use it to come up with Earned Value for the project.
So how do you earn value in an Earned Value system? If we assume an activity will take one week, we will plan that activity as one week long. When we complete that activity, the project receives one week in Earned Value. In the chart below, we have added a green line to represent this.
Every software developer has, at one time or another, been on a late on a project. This can be often identified by an Effort tracking plan. But as you can see in the chart below, Earned Value (the green line) is not keeping up. If nothing is done to correct this, the project will probably be late and over budget.
Another common issue with software projects is the “over budget” problem. This too can be identified using Earned Value. In this example, Effort (the red line) is above Earned Value. This project might be completed on time, but it is going to cost more.
In a company environment, it is common for resources to be pulled in multiple directions. Often, projects don’t progress because enough Effort isn’t being applied. This “resource leak” occurs because resources are not working on the project as originally scheduled. In our Earned Value charts, this can be recognized by having both Effort and Earned Value tracking under the Projected Earned Value.
Earned Value isn’t a silver bullet, but it gives us another insight into the health of our projects. And this type of insight can be used to make quick decisions and help keep projects on the rails or preventing any kind of big surprise once the project wraps up.
If you have any questions or comments, hit me up on Twitter or sound off in the comments below.