Articles in Metrics
Software metrics, when used properly, is a tool for measuring the project not individuals; it’s a tool for controlling project deliverables, assessing and communicating status, and making better decisions.
Jerry’s challenge with raising the target donations is similar to the challenges we face in estimating and delivering software projects on time. He has no way to precisely estimate how much money he can raise in the 24-hour event, yet he has a target, and he always exceeds it. Similarly on software projects, teams are asked to deliver a fixed set of requirements on a fixed date, but unlike Jerry, we are rarely successful in delivering everything on time.
When I was a child, I had a strong aversion to pineapples. Just the look of them made me ill. It didn’t matter whether it was cut or uncut; there was just something about the look that made me believe I would not like the taste. Maybe it was the color yellow, but there was something terribly unappealing about the fruit, and no matter how much my mom would entice me with declarations of how sweet it taste, I would not try it.
I felt the same way about cranberry sauce too. It was an emotional aversion; there was nothing logical about it even though I was convinced my reasons were all logical. Cranberry sauce looks slimy; slimy is disgusting; therefore, it must taste like it looks: disgusting. It’s a logical inference; though, it has little relevance to how cranberry sauce actually tastes.
As I got older, I became more open to giving foods a try (and other things, of course) that were unappealing to me. When I finally gave pineapples and cranberry sauce a try, I discovered how I’d been missing out for so long on enjoying a food that was so pleasurable to me.
Much of the software community has a similar aversion to LOC. Many of their arguments against LOC are logical, but they aren’t relevant to the science and practice of LOC as advocated by its adherents. Sure one can write a line of code with more defects than 10 lines of code, but the Law of Big Numbers says the density observed in practice will be the expected value.
Software size metrics provide benefits to managing your software projects successfully. They improve estimating, monitoring and control, and they provide objective release criteria defining when done is done. However, using size metrics on a software project requires a disciplined approach, and too often discipline is a casualty of intense pressure on software projects, but metrics, when used effectively, have tangible, powerful, and immediate benefits.
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 …
It happened when I participated for the first time on a SEI/CMM process improvement initiative at my employer. That’s when I realized the power of software metrics. Instead of handing us a ready made process to follow, each of the different product organizations were tasked with the objective of developing their own processes with the goal of achieving Level 2 certification. Each group formed teams around the key process areas (KPA) to develop the practices to be followed. It was without a doubt the best process improvement experience of my career changing the way I manage and view software management permanently.
