Software Metrics: Making the Case

What if you could be more accurate in your software estimates? What if you could gain more control over your project schedule? What if you could improve your product quality and know that you did before your customer received the product? Okay, now that I have you’re attention, if I told you that metrics was the key to realizing these goals, will you continue reading? If a software team is ever going to improve successfully and repeatedly in these areas, they will need to embrace metrics.
Measurement of appropriate variables is an integral tool for many serious disciplines. For many disciplines metrics are the difference between success and failure; they are the difference between mediocrity and eminence. Metrics are essentially the difference between the practice of art and science.
In the software profession metrics have a long history of controversy. Some argue that software is an art and can never be measured. While others argue software is an engineering discipline, and a failure to measure is malpractice. To me, all science is art. Without creativity and imagination progress in science is not possible, and science is also a rigorous disciple: for without measures and mathematical models, the practice of science has not matured beyond art.
Unfortunately, the software profession continues to debate whether measurement is even appropriate. Is it applicable? Is it useful? Is it possible? These are questions that the profession continues to debate, and sadly, often those who have great successes in using software metrics are derided as weird by those who often have little in the way of tangible accomplishments to their credits.
For some metrics are dismissed because of the level of imprecision is too great. However, the history of science has been the evolution of less precise measures to greater precision. The level of precision for many fields was never reason not to measure, but it was a motivation to improve the measurement tools and techniques. The software community needs to move the debate from whether to measure or not to how to measure better.
I did some research on what renowned figures have had to say about the subject of measurement, and I’d like to offer their position to support the need for the software community to give more attention to software metrics.
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 meager and unsatisfactory kind: it may be the beginnings of knowledge but you have scarcely in your thoughts advanced to the stage of Science.
- Lord Kelvin (Physicist)
I believe this is the stage we are at in software project management. We have the beginnings of knowledge, but it is of the unsatisfactory kind as evidenced by how often projects overrun their schedule, overrun their budgets, and release with low quality. Do you think Lord Kelvin would recommend better measurement to remedy the situation?
You cannot control what you cannot measure.
- Tom DeMarco (Software Engineer)
Here we have one of the more prolific researchers in the software profession emphatically state that measurement is the path to control. Why do we not listen? Why do so many projects make feeble attempts at measurement?
I know no way of judging the future but by the past.
- Patrick Henry
Well this one really is an indirect case for metrics. If we have no way of quantifying the past, how can we use it to judge the future? Assuming the past is the best way to judge the future then metrics is the tool required to make that judgment objectively and reliably.
What is not measurable, make measurable.
- Galileo
Can you be any more emphatic than that about the importance of measurement?
All the scientists formally quoted, have made significant contributions to science. In the case of Galileo, he made revolutionary contributions to human’s understanding of the universe. These great scientists are telling us something very important about measurement. If you think about it, measurement was vital to their contributions to science. Maybe that’s why they are so emphatic in their support of measurement. I think it’s about time we listen. Don’t you?




(No Ratings Yet)
>if I told you that metrics was the key to realizing these goals, will you continue reading?
What evidence do you have that by collecting metrics I will achieve these goals?
I’ve been on plenty of projects that both succeeded and failed and collecting metrics was not a leading indicator of success.
Wayne thanks for commenting. The evidence I have is my hands on experience with using metrics on my projects, which I plan to develop as I continue this series on metrics. I’m presenting techniques and practices that I have used hands on with success with both quantitative and qualitative benefits. After using them, I would never go back, and people who I’ve mentored in them are the strongest supporters.
A good tool is only as effective as the person wielding the tool, but that doesn’t mean we shouldn’t have good tools. Put an artist’s paintbrush in the wrong hands, and you’ll get bad art, but every good artist — even great — will use a paintbrush when appropriate.
Please reread the post. My position is that metrics are a tool that when used intelligently is essential for improving. In fact, you don’t really know whether you’ve improved or not unless you have some measure. Part of the problem is that teams that collect metrics don’t collect the right ones and even if they do collect the right ones, they only collect them; they often don’t use them. I plan to present a suite of metrics that aide in specific areas and how to use them.
I too have worked on projects that have succeeded without the use of metrics. Metrics bring repeatability and control to the development life-cycle (you can repeat your successes because you know what contributed to them) as they aide decision making. Now people make all sorts of bad decisions from good information. When that happens, you either have the wrong people running your project, or they just need to grow.
Yes, more metrics are needed in software development. I’m looking forward to reading your experiences and ideas…
Leave a comment!
EMAIL
Subscribe
Visitors
Polls
Categories
Blogroll
Tag Cloud
Agile Analysis BDUF Certifications CMMI Critique Debate Defect Free Design Estimating Ethics excellence Future good enough Hiring Leadership LOC Management Methodology Metrics Outsourcing Popular Process Product Management Project Project Management Project Tracking Quality Recruiting Refactoring Requirements Schedule Scrum Skills Stable Test Strategy Tracking Traditional Upfront Video Waterfall wrap-up XP