Towards Stabilization

When processes are standardized they become consistent and predictable. Average performance improves and variation of performance decreases. This can be measured by calculating the mean hours per function point and the standard deviation of performance of past projects. Another way to look at this is that results should start to cluster and overall performance should improve. As organizations move up, CMM levels the processes begin stabilize; and this measured by the standard deviation of productivity. The standard deviation or variation in performance should be smaller as organizations move up CMM levels. It is easy to predict outcomes or estimate when work is done consistently.

The primary reason estimating models fails is due to large variations in past performance. When a baseline of performance is developed, it is important to calculate the average, standard deviation, margin of error, and confidence intervals. A wide confidence interval indicates a large range of possible outcomes. Since there are a wide range of possible outcomes, predicting an outcome (estimating a project) becomes difficult.

Another problem with measurement programs is the old argument that software measurement is not precise enough. Ken Adler points out in his book, The Measure of All Things: The Seven Year Odyssey and Hidden Error That Transformed the World, “Measures in the eighteenth century not only differed from nation to nation, but within nations as well. This diversity obstructed communication and commerce.” When measurements are done in the software community, they differ from organization to organization; and they even differ within organizations. The lack of standard measurements in software development obstructs communication and commerce for software development as well.