The People Side of the Metrics Equation


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

Related Posts Plugin for WordPress, Blogger...