Our 3 Step Estimation Process

thumbnail

When I pitched my first client a huge software project in 2010 I had no idea what I was doing. The sheer scope of the work ahead overwhelmed me and my team. Eventually we just threw darts at the whiteboard and guess-timated how long it would take to code.

Several projects later I figured out how to really estimate software - and it became way easier.

Software projects have one problem: they change as time passes. The longer something takes, the bigger structures get. And bigger structures take even longer time to change. However, early in a project it’s fairly simple to estimate the effort, by applying some simple steps.

The 3 step framework to software estimation. Do this with 2 or more technical people.

  1. Break down the software into features
  2. Go through the list and estimate each feature.
  3. Go through the list again. Estimate the uncertainty factor in %.

Do this like a sprint planning poker. If there’s a big deviation, discuss why. Then note down the final average value for each feature, in each round.

After that apply some basic excel formulas. Averages over all features are fairly simple to create, and I also have a spreadsheet to copy. The result is an overview with worst-case estimation and a best-case estimation.

Over the course of a project make sure that time tracking is done while stating the feature. This gives intelligence what feature was underestimated. The next software estimation will be even more accurate.

For us it only needed 2 similar projects to get to enough data to predict the next one with 80% accuracy. Pitching projects to clients has become way easier now.

2 min read
Outline

Till Carlos

I'm Till, a senior developer who started a software company. I explain software concepts for people in leading roles.