In common usage, we often use accuracy and precision interchangeably to mean "exact" but in the world of project management (and certainly math) they mean very different things. The dart board images above illustrate the difference between the two concepts. The first thing you notice is that data can be simultaneously high …or low accuracy *and* high or low precision, for example, panel (B) shows low accuracy with high precision while (C) shows high accuracy with low precision. The trick is that, at least in common usage, when you say "accurate" people often hear panel (D) even though you're describing panel (C). Simply put, accuracy indicates proximity of measurement results to the true value while precision is a measure of the repeatability, or reproducibility of the measurement
When it comes to forecasting and project management, most organizations focus on accuracy: is the final result close to the original prediction? But as the following two burn-down charts demonstrate, two projects that finish on-time can have very different overall feel.
Precise outcomes for software development projects all result from projects that share these three attributes:
- Thoughtful Estimation. If most or all of the people on your team have no recent experience on similar projects, it will be very difficult to have a precise outcome. Make sure that you have a lot of relevant experience on your team *and* allow for sufficient time to create the estimations. Depending upon the complexity and scale of the project, this estimation process can take a couple of days to a few weeks. At ExtensionEngine, we allow roughly 5% of the overall project effort up front for our Discovery phase which includes estimation, but also other tasks like setting up the environment, communications plan, etc. This up front estimation process should be focused on identifying and eliminating project risk. For example, where are the unknowns and efforting them with prototypes and tests to better characterize them. Also, target the unknown unknowns by brainstorming, recalling similar prior projects, etc.
- Agile Methodology. Or should I write, "modified" agile methodology since the aforementioned project planning can be viewed as an anathema to formal agile. But agile lets you move through a project with multi-functional teams evaluating each bit of the scope and making thousands of micro adjustments the vast majority of which result in improving both the precision and accuracy of the project.
- Measurement & Reporting. One of Edward Deming's famous quotes is that, "You can expect what you inspect." While he was talking about the automotive manufacturing industry, it's just as true in custom software development. The key is to measure not just outputs, but also inputs and the process itself. Do all three together and you will achieve high precision in your results.
At ExtensionEngine, precision is as important to us as accuracy. For example, we just finished our 2013 planning and budgeting for the entire company. One of our plans for 2013 is to grow revenue 45%...not 40%...not 50%...but 45%. To grow faster is equally as disturbing to our forecast as growing more slowly. Beating your numbers may on first blush seem like a "first world" problem, but it's still a problem none-the-less. To put that into context, in January 2012, our revenue target for the year was to grow 38% and the end result was that we grew revenue by 36%. By being both precise and accurate, we are able to maximize the value we deliver to our clients...we are able to focus on quality, service, satisfaction and other hugely important issues beyond the mere numbers.