The other day, I was talking to a friend in a finance organization and they were telling me about the millions of dollars their business had set aside for software development. That’s when “Brewster’s Millions” came to mind. In 1985, a movie came out with a ridiculous concept (although most Hollywood movies meet this criteria) – in order to inherit $300 million, Brewster must waste $30 million.
Sure, how much you have to spend matters, but spending more doesn’t necessarily mean getting more. Just as Brewster could waste $30 million, software development can waste a lot of money as well. Indeed, if the only goal is to spend the cash, one can be incredibly wasteful – people sitting around twiddling their thumbs, taking long lunches and whatnot because they are way under-utilitized but happily billing every hour.
For this reason, although watching your budget vs. actuals is important, it shouldn’t be done in a vacuum. In addition, you should be looking at what progress is being made. In Agile, you can look at story points completed per dollar spent. In a plan driven project, you can look at function points (FP) per dollar spent. FP can be used to measure progress on analysis, design, coding and testing progress, so they’re useful throughout the lifecycle. One could argue that only working software has value, but I would counter that since the act of translating requirements into functionality is the activity we truly want, the process of thinking through the design does have value.
Either way, we need to measure the earned value to understand where we really are. Otherwise, our project could simply be the sequel to Brewster’s Millions.