No discussion on selecting,
designing and implementing
software metrics would be complete without a look at how measurements affect people and people affect measurements.
Whether a metric is ultimately useful to an organization depends upon the attitudes of the people involved in collecting
the data, calculating, reporting, and using the metric. The simple act of measuring will affect the behavior of
the individuals being measured. When
something is being measured, it is automatically assumed to have importance. People want to look
good; therefore, they want
the measures to look good. When
creating a metric, always decide what behaviors
you want to encourage. Then take a long look at what other behaviors
might result from the use or misuse of the metric. The best
way I have found to avoid human factors
problems in working with metrics is to follow some basic rules:
Don't measure individuals:
The state-of-the-art in software metrics
is just not up to this yet. Individual
productivity measures are the
classic example of this mistake. Remember that we often give our best people
the hardest work and
then expect them to mentor others
in the group. If we measure
productivity in lines of code per hour,
these people may concentrate on their own work to the detriment of the team and the project. Even worse, they may come up with
unique ways of programming the same function in many
extra lines of code. Focus on processes
and products, not people.
Never
use metrics as a "stick":
The first time we use a metric
against an individual or a group is the last
time we get valid data.
Don't ignore the data: A
sure way to kill a metrics program is
to ignore the data when making
decisions. "Support your people
when their reports are backed
by
data useful to the organization" [Grady-92]. If the goals we establish
and communicate don't agree with our actions,
then the people in our organization
will perform based
on our behavior, not our goals.
Never use only one metric: Software
is complex and multifaceted. A metrics program must reflect that complexity. A
balance must be maintained between cost,
quality and schedule attributes to meet all of the customer's
needs. Focusing on any
one single metric
can cause the attribute being measured
to improve at the expense of other attributes.
No comments:
Post a Comment