Why measure software?
Software development and maintenance is one of the most costly human endeavours. Trillions of dollars are spent every year on developing, modifying and maintaining software. In fact modern life depends on software. Software work involves an increasing proportion of the working population. Software is primarily an engineering activity. Like all other engineering activities, measurement is crucial. In software the fundamental valid size measurement is the function point.
The modern size measurement for software is the COSMIC Function Point.
“When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind.”
Manage more effectively
The benefits of knowing the functional size come from the improved ways that this knowledge can help you manage your software projects, teams and endeavours. You can use the size estimate or measurement directly to manage scope. Indirectly you can also use your knowledge of size to estimate and manage resources, schedule and quality.
You Will Be Able to Answer These Questions
How productive are our software teams?
Output measured in CFP per team month is an ideal, valid, un-gameable metric that can be used to determine team productivity.
Are we paying the right amount for development?
If you know what you paid last time per CFP, or you use industry standard benchmarks as a comparator, you can determine if you are paying appropriately for your development work. The benefit of knowing the functional size is that you can know if you are paying a fair price for development or maintenance work.
How many developers do we really need?
The optimum team size is related to the functional size of what they are expected to deliver. So the benefit of knowing the size is that you will be able to determine your optimum team size.
Are our estimates reliable?
Estimates in man hours, or story points (an obfuscated equivalent of man hours) or lines of code are proven to be unreliable. However estimates in COSMIC Function Points are valid, consistent and reliable.
How many defects do we still have to find? Are we ready to go live, have we tested enough?
Using knowledge of size in CFP together with defects found already and benchmarks for defect potentials, you can determine the answer to these questions.
How can we get reliable estimates for our projects?
Lines of code or story points are dangerously misleading bases for estimation. COSMIC function points is not only the most modern, it has the advantage of allowing you to estimate even if you don’t yet know all the requirements.
Can measuring size also reduce risk?
Yes. When you measure the functional size of a set of requirements before coding, one of the indirect benefits is that you will get a better understanding of the full extent of what needs to be delivered. Once you understand the size, you are more likely to allow enough time and resources to do the development once and to high quality. Typically unmeasured software, leads to underestimation and consequently a significant increase in risk of failure to deliver the desired scope on time and to quality.
“software development is the only engineering industry where size measurement has not yet been universally adopted, this is a cause of considerable waste.” anon