Software Estimation Best Practices

The Cinderella Stories of Software Development

After enduring the longest winter I can remember, I am eagerly awaiting the arrival of spring, and what better way to do that than to participate in QSM’s annual March Madness Tournament?  For those of you not familiar with our March Madness pool, it’s kind of a big deal.  The top finisher receives a portion of the winnings as well as bragging rights for the following year, and in the process gains immunity from being subject to ridicule by our Commish.  This year the steaks are especially high, as Warren Buffet has offered $1 billion to the person who can guess the perfect bracket.

I will admit that while my standings in last year’s tournament were not as high as I had hoped, I am determined to turn that around this year.  I’ve abandoned my mascot battle strategy and instead will be implementing some techniques used by some of the best software estimators in the field.  I will be using history to determine my picks 

Taylor's Bracket

Instead of spending a lot of time laboriously filling in each line, I had Yahoo Sports auto-fill my bracket based on the teams’ historical standings this season.  To come up with my final score, I averaged the scores of the previous 10 national championship games.  It pains me to predict that some of my favorite teams will be eliminated in the second and third rounds in this bracket, but in the interest of becoming a self-made billionaire I cannot afford to make any emotionally-driven decisions that ignore the stats. 

What about the Cinderella stories, you ask?  Yes, I did consider that upsets tend to happen in March Madness, thus making it significantly more interesting to watch.  However, it is very challenging to predict which teams will fulfill that role each year.  Moreover, the teams that do end up surprising us by beating statistically higher seeds generally do not advance more than 1-2 rounds further than initially predicted.  For instance, last year Florida Gulf Coast University was a No. 15 seed that made it to the Sweet 16 but ultimately lost to Florida in that round.  Since it is statistically unlikely that a Cinderella Story will impact my Final Four picks, I’ve decided not to alter the historically-based bracket chosen for me.

Sometimes project management can appear to take the form of a March Madness bracket more than it should.  Instead of analyzing the historical performance of completed projects, senior management can become emotionally attached to a project plan that more closely mimics a Cinderella Story.  They ignore what has been done in the past and plan to the best case scenario, rather than the most likely case.  Not only is it very unlikely that the project will result in such a favorable outcome, but it also leaves little room for variation from the initial plan.  Members of the development team are the ones who suffer the most in this situation.  Their performance on this project may have been the best of their careers, but if the ultimate outcome falls short of management’s expectations, the project will be viewed as a failure.  It’s like expecting a No. 16 seed team to win the entire tournament.  While this certainly makes for higher stakes (think billions of dollars as opposed to a $10 buy in fee), this isn’t the best way to go about planning a project.

While everyone enjoys watching the Cinderella teams emerge throughout the tournament, it would be illogical to bet that they would win it all.  In most cases, the winner is a team that has performed well throughout the entire season.  That’s why establishing realistic expectations is so critical to effective project management.  Examining past performance is a great way to determine what is reasonable to expect in the future.  Then set the project plans around what we know has worked before.  This sets the team up such that when expectations are met everyone feels accomplished, and anything better just sweetens the deal.

Equating software development to the outcomes of the March Madness tournament is something of an apples to oranges comparison.  In sports, anything can happen, whereas in software development, a miracle is much less likely to occur.  In software estimation, the use of historical data frequently pays dividends.  Better outcomes often result when historical data is factored into the predictions of future project lifecycles.  Over the next few weeks we’ll see whether the best practices in software estimation and project planning can be applied to March Madness and the NCAA Tournament.

Blog Post Categories 
Project Management