Software Metrics Marek Rydzy Kraków SPIN meeting: 27 March 2008
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Why to Measure? Without the right information, you're just another person with an opinion. — Tracy O'Rourke, CEO of Allen-Bradley
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Four Reasons to Measure (Software) The only sustainable competitive advantage you can achieve is to learn faster than your competitors. — David Kreutzer, 1995 To characterize to gain understanding of processes, products, resources, and environments. To evaluate to determine status with respect to plans. To predict so that we can plan. We measure to improve when we gather quantitative information to help us identify roadblocks, root causes, inefficiencies, and other opportunities for improving product quality and process performance.
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc What to Measure? …if one is to make a formal measurement, one must accept responsibility for making some effort to define one's purpose. — Paul Kirchner
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Steps of Software Metrics Process (*) 1.Identify your business goals 2.Identify what you want to know or learn 3.Identify your sub-goals 4.Identify the entities and attributes related to your subgoals 5.Formalize your measurement goals 6.Identify quantifiable questions and the related indicators that you will use to help you achieve your measurement goals. 7.Identify the data elements that you will collect to construct the indicators that help answer your questions 8.Define the measures to be used, and make these definitions operational. 9.Identify the actions that you will take to implement the measures 10.Prepare a plan for implementing the measures (*) Based on Goal-Driven Software Measurement – A Guidebook, by Robert E. Park at al., CMU/SEI-96-HB-002, August 1996
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Step 1. Identify your business goals Measurements are important, but what is measured is more important. — Francis S. Patrick
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Step 2. Identify what you want to know or learn, and Step 3. Identify your sub-goals A prudent question is one-half of wisdom. — Francis Bacon By answering the questions: What activities do I manage or execute? What do I want to achieve or improve? … and complete statements like: “To do this, I will need to …” Identify: What do you want to know?
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Step 4. Identify the entities and attributes related to your sub-goals Now, things do not, in general, run around with their measures stamped on them like the capacity of a freight-car: it requires a certain amount of investigation to discover what their measures are. — Norbert Wiener, 1920 For previously identified questions: List the associated entities and their attributes
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Step 5. Formalize your measurement goal Well-structured measurement goals have four components: an object of interest (an entity) a purpose a perspective a description of the environment and constraints Business GoalsMeasurement Goals
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Step 6. Identify quantifiable questions and the related indicators that you will use to help you achieve your measurement goals.
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Step 8. Define the measures to be used, and make these definitions operational Data without definitions are indistinguishable from numbers. — source unknown Operational definitions must satisfy two important criteria: Communication: Will others know what has been measured, how it was measured, and what has been included and excluded? Repeatability: Could others, armed with the definition, repeat the measurements and get essentially the same results? It is a common human weakness to imagine that because a metric is intended to measure something, it actually does! — source unknown
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Questions?