What we Measure

Measurements are most effective when they measure the behavior that is being encouraged. The behavior the EPL Reuse Board wishes to encourage is the practice of reuse to attain quality and productivity improvements. Therefore, many types of reusable parts are measured, from as-is parts, to thoroughly proven "certified" parts. The simplest measurement is the number of parts in the repository, and how many certification criteria need to be met by the uncertified parts. This measurement is presented to teams, organizations of teams, and management.

The EPL measures quality in our process and products quite extensively. Reuse measurements need to reflect reuse's contribution to a product's quality improvement. The EPL uses IBM corporate reuse measurements[#!PH92!#]. The Reused Source Instructions (RSI) measurement and its derivatives, the Reuse Percentage, Reuse Cost Avoidance, and Reuse Value Added are oriented toward measuring the combined value of quality and productivity improvements. Productivity gains cannot be claimed for all uses of a high-quality reusable part because people will naturally use it over and over and teams will naturally share it. However, each instance of a certified reusable part in the product, from a quality-only perspective, represents a unique contribution to the quality of the product. If a developer chooses to use a "certified" routine over an as-is routine, there is a different quality result in the product. There are potential services costs avoided each and every time the certified part is used. The "used instructions" (UI) (PH93) is used with an RSI which is based on total number of instances. This reuse measurement complements the existing collection of defect-oriented product quality measurements used in the EPL by showing the total amount of certified product code at its lower error rate, and its effect on the product's overall error rates and quality. These RSI-based measurements are presented to product owners, project leaders, and management on a quarterly basis, or when product development cycles produce new results.

To encourage teams to create certified reusable parts when possible, s and to improve the quality of as-is reusable parts, the Reuse Percentage measurement is used to set and track team goals.

To be able to explain reuse in terms familiar to product developers, additonal categories of reuse are measured, including code ported from one platform to another and code imported from external sources. So that everyone understands the "best" kind of reuse they can do, these reuse categories are further refined into the least desirable and most desirable based on two criteria, productivity improvement and quality improvement. This matrix helps encourage reusers to focus on the underlying requirements of "better" categories of reuse. "Best", in this case, would be a reuser modifying the reusable part as little as possible (ideally none), a reuser relying on the original owner to maintain a single copy of the reusable part, and the reuser knowing and being able to prove the quality of the reusable part. This "best" reuse, when practiced, will result in the highest quality improvement and simultaneously the highest productivity improvement.