Process and Project Metrics
A software metric is a measure of some property of a piece of software or its specifications. Since
quantitative measurements are essential in all sciences, there is a continuous
effort by computer science practitioners
and theoreticians to bring similar approaches to software development. The goal
is obtaining objective, reproducible and quantifiable measurements, which may
have numerous valuable applications in schedule and budget planning, cost
estimation, quality assurance testing, software debugging, software performance
optimization, and optimal personnel task assignments.
COMMON SOFTWARE MEASUREMENTS
Common software measurements
include:
• Balanced scorecard
• Bugs per line of code
• Code coverage
• Cohesion
• Comment density
• Connascent software components
• Coupling
• Cyclomatic complexity (McCabe's complexity)
• DSQI (design structure quality index)
• Function point analysis
• Halstead Complexity
• Instruction path length
• Maintainability index
• Number of classes and interfaces
• Number of lines of code
• Number of lines of customer requirements
• Program execution time
• Program load time
• Program size (binary)
• Robert Cecil Martin's software package metrics
• Weighted Micro Function Points
• Function Points and Automated Function Points, an Object
Management Group standarD
• CISQ automated quality characteristics measures
LIMITATIONS
As software development is a
complex process, with high variance on both methodologies and objectives, it is
difficult to define or measure software qualities and quantities and to
determine a valid and concurrent measurement metric, especially when making
such a prediction prior to the detail design. Another source of difficulty and
debate is in determining which metrics matter, and what they mean.The practical
utility of software measurements has therefore been limited to the following
domains:
• Scheduling
• Software sizing
• Programming complexity
• Software development effort estimation
• Software quality
A specific measurement may
target one or more of the above aspects, or the balance between them, for
example as an indicator of team motivation or project performance.
ACCEPTANCE AND PUBLIC OPINION
Some software development practitioners point
out that simplistic measurements can cause more harm than good. Others have
noted that metrics have become an integral part of the software development
process. Impact of measurement on programmers psychology have raised concerns
for harmful effects to performance due to stress, performance anxiety, and
attempts to cheat the metrics, while others find it to have positive impact on
developers value towards their own work, and prevent them being undervalued
Some argue that the definition of many measurement methodologies are imprecise,
and consequently it is
often unclear how tools for computing them
arrive at a particular result while others argue that imperfect quantification
is better than none (“You can’t control what you can't measure” Evidence shows
that
software metrics are being widely used by
government agencies, the US military, NASA, IT consultants, academic
institutions, and commercial and academic development estimation software.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.