12 Steps to Useful Software Metrics - Measurement Defined
I love to start any discussion with definitions to make sure everyone understand what it is I am trying to talk about. So let’s start by defining measurement. According to Norman Fenton in his book Software Metrics, A Rigorous Approach, "measurement is the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined rules."
An entity is a person, place, thing, product, event, process, time period, or other item being measured. An attribute is a feature or property of an entity. To measure, we must first determine the entity that we want to know something about (for example, we could select a car as our entity). However, we don’t measure the entity directly. Instead, we measure a selected attribute of that entity. Therefore, once we determine the entity, we must select the attribute of that entity we want to describe. For our example, we might select to measure the car’s speed or the air pressure in the car’s tires as our attribute.
Finally, we must have a defined and agreed to mapping system for assigning numbers and symbols to our attribute in order to perform the measurement. So what is a mapping system? If someone told you “Bob is driving down the highway doing 100 in his new sports car,” what do you know? You know Bob has a sports car rather than a sedan or pick-up truck. This statement assigns a symbol (sports car) to an attribute (type) of an entity (vehicle). What do you know about the vehicle’s speed? What’s the mapping system—notice that this statement didn’t define the mapping system? You may have assumed it was 100 miles per hour or 100 kilometers per hour because you have an agreed to mapping system for your current location. In order to appropriately interpret the number or symbol that is assigned as the measurement, everyone using that measurement has to use the same agreed to mapping system.
For some measures, we can use standardized units of measure (for example, dollars, minutes, kilometers, ounces, liters, and so on) as our mapping systems. For other measures, the mapping system is a set of defined symbols with defined and agreed to rules on how to assign those symbols to the attribute. For example, sports car, sedan, or pick-up truck for the type of vehicle, or critical, major, or minor for the severity of a problem report. The mapping systems may also be a set of counting criteria that defines what does and does not count as part of the measure. For example, we might have counting criteria that defines what does and does not count as project effort or counting criteria defined by quality requirements for what does and does not count as a nonconformance.