Understanding your chances of having a successful software project)
No measurement means no feedback, which means your chances of success are minimized. Success is possible without formal measurement but it is much easier with formal measurement.
Formal measurement raises productivity by 20.0% and quality by 30.0%
A best practice is one that increases your chance of succeeding, it does not guarantee it. It has been established that formal measurement is a best practice, so why do so few people do it?
Inadequate progress tracking reduces productivity by 16.0% and quality by 22.5%
Failure to estimate requirements changes reduces productivity by 14.6% and quality by 19.6%
Inadequate measurement of quality reduces productivity by 13.5% and quality by 18.5%
So there are costs to not having measurement. Measurement is not optional, measurement is a hygiene process , that is, essential to any process but especially to software development where the main product is intangible.
There are hygiene practices that we use every day in software development without even thinking about it:
- Version control
- Defect tracking
Formal measurement is a best practice and a hygiene practice
The same way that developers understand that version control and defect tracking is necessary, an organization needs to learn that measurement is necessary.
When you don't have enough formality then processes take longer and by extension cost more. When you have too much formality then you have process for processes sake and things will also take a long time. Any organization that implements too much formality is wasting their time, but so is any organization that does not implement enough.
For every formal process that makes sense, there is a spectrum of implementations. The goal is to find the minimum formality that reduces time and costs. When you find the minimum amount of formal measurement you will accelerate your development by giving yourself the feedback that you need to drive your development.
What to Measure
Another useless measure is lines of code (LOC), in fact, Capers Jones believes that anyone using LOC as a measurement should be tried for professional malpractice!
Measuring the the three things mentioned above will improve productivity and quality because there will not be a negative effect on your organization:
- measuring progress tracking (productivity +16.0%, quality +22.5%)
- estimating requirements changes (productivity +14.6%, quality +19.6%)
- measurement of quality (productivity +13.5%, quality +18.5%)
- Activity based productivity measures (productivity + 18.0% , quality by 6.7%)
- Automated sizing tools (function points) (productivity + 16.5% , quality by23.7%)
- Measuring requirement changes (productivity + 15.7% , quality by 21.9%)
So to answer the question: who needs formal measurement?
- Jones, Capers. SCORING AND EVALUATING SOFTWARE METHODS, PRACTICES, AND RESULTS. 2008.