Goal, Question, and Metrics

Slides:



Advertisements
Similar presentations
Victorian Curriculum and Assessment Authority
Advertisements

Privacy By Design Draft Privacy Use Case Template
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Chapter 2 The Software Process
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Low Defect Potentials (< 1 per function point)
The Experience Factory May 2004 Leonardo Vaccaro.
Software Quality Engineering Roadmap
Software Quality Metrics
Planning a measurement program What is a metrics plan? A metrics plan must describe the who, what, where, when, how, and why of metrics. It begins with.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Goal.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Software Process and Product Metrics
Software Quality: An Overview From the Perspective of Total Quality Management By Kan, Basili and Shapiro.
School Development Planning Initiative “An initiative for schools by schools” Self-Evaluation of Learning and Teaching Self-Evaluation of Learning and.
Introduction to Computer Technology
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
High Impact Global Product Engineering Solutions ® ©2007 Symphony Service Corp. All Rights Reserved. Symphony Services is a registered trademark of Symphony.
University of Southern California Center for Systems and Software Engineering GQM, GQM+ Supannika Koolmanojwong CSCI577 Spring 2013 (C) USC-CSSE1.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
ITEC224 Database Programming
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Assessing the Frequency of Empirical Evaluation in Software Modeling Research Workshop on Experiences and Empirical Studies in Software Modelling (EESSMod)
University of Southern California Center for Systems and Software Engineering Metrics Organizational Guidelines [1] ©USC-CSSE1 [1] Robert Grady, Practical.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
MANAGEMENT INFORMATION SYSTEM
1 Chapter 9 Implementing Six Sigma. Top 8 Reasons for Six Sigma Project Failure 8. The training was not practical. 7. The project was too small for DMAIC.
Advanced Software Engineering Dr. Cheng
Software Quality Control and Quality Assurance: Introduction
Organisation Control KPI’s & an industry Review
Requirements Analysis Scenes
CS4311 Spring 2011 Process Improvement Dr
Chapter 18 Maintaining Information Systems
Software Quality Engineering
The Systems Engineering Context
CPSC 873 John D. McGregor GQM.
Software Engineering (CSI 321)
Architecture Components
UNIT-6 SOFTWARE QUALITY ASSURANCE
Requirements and the Software Lifecycle
Introduction to Software Engineering
Overview of System Engineering
The Strategic Information Technology Formulation
"IT principles" Context, roadmap
Information Technology (IT)
Software Engineering Experimentation
Alignment of COBIT to Botswana IT Audit Methodology
SISAI STATISTICAL INFORMATION SYSTEMS ARCHITECTURE AND INTEGRATION
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Fundamental Test Process
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 13 Quality Management
Measurement and Metrics Fundamentals
CS 8532: Advanced Software Engineering
DMAIC Roadmap DMAIC methodology is central to Six Sigma process improvement projects. Each phase provides a problem solving process where-by specific tools.
CS385T Software Engineering Dr.Doaa Sami
Portfolio, Programme and Project
Eloise Forster, Ed.D. Foundation for Educational Administration (FEA)
Goal-Driven Continuous Risk Management
Software Project Management
Measure Phase Wrap Up and Action Items
Goal-Driven Software Measurement
Metrics Organizational Guidelines [1]
Presentation transcript:

SWEN 772-Software Quality Engineering W2-2 Measurement and Metrics Fundamentals 2 - GQM

Goal, Question, and Metrics Origins from real world problems at NASA Goddard Space Fighter Project in 1970s: How to decide what you need to measure in order to achieve your goals? GQM defines a measurement model on three levels: Conceptual level (Goal) A goal is defined for an object, for a variety of reasons, with respect to various models of quality, from various points of view and relative to a particular environment. Operational level (Question) A set of questions is used to define models of the object of study and then focuses on that object to characterize the assessment or achievement of a specific goal. Quantitative level (Metric) A set of metrics, based on the models, is associated with every question in order to answer it in a measurable way.

Goals identify what we want to accomplish; questions, when answered, tell us whether we are meeting the goals or help us understand how to interpret them; and the metrics identify the measurements that are needed to answer the questions and quantify the goal

Example (CR: Change Request)

Phases of GQM Practice

Six Steps of GQM Steps 1-3: Definition Use business goals to drive identification of the right metrics Steps 4-6: Data Collection and Interpretation Gather the measurement data and make effective use of the measurement results to drive decision making and improvements

Six Steps of GQM-Steps 1-3: Definition Use business goals to drive identification of the right metrics Develop a set of corporate, division and project business goals and associated measurement goals for productivity and quality Generate questions (based on models) that define those goals as completely as possible in a quantifiable way Specify the measures needed to be collected to answer those questions and track process and product conformance to the goals

Six Steps of GQM-Steps 4-6: Data Collection and Interpretation Gather the measurement data and make effective use of the measurement results to drive decision making and improvements Develop mechanisms for data collection Collect, validate and analyze the data in real time to provide feedback to projects for corrective action Analyze the data in a postmortem fashion to assess conformance to the goals and to make recommendations for future improvements

Defining Goals—PPE Template Purpose: Analyze some (objects: processes, products, other experience models) for the purpose of (why: characterization, evaluation, prediction, motivation, improvement) Perspective: with respect to (what aspect: cost, correctness, defect removal, changes, reliability, user friendliness, etc.) from the point of view of (who: user, customer, manager, developer, corporation, etc.) Environment: in the following context: (where: problem factors, people factors, resource factors, process factors, etc.) IEEE-STD-1061-1998 Standard for Software Quality Metrics Methodology

Goal Example Analyze the (system testing method) for the purpose of (evaluation) with respect to a model of (defect removal effectiveness) from the point of view of the (developer) in the following context: the standard NASA/GSFC environment, i.e., process model [e.g., Software Engineering Laboratory (SEL) version of the waterfall model], application (ground support software for satellites), machine (running on a DEC 780 under VMS), etc. IEEE-STD-1061-1998 Standard for Software Quality Metrics Methodology

Key Practices of GQM (p. 1 of 3) Get the right people involved in the GQM process Set explicit measurement goals and state them explicitly Don’t create false measurement goals (for example, matching metrics you already have or are easy to get) Acquire implicit quality models from the people involved

Key Practices of GQM (p. 2 of 3) Consider context Derive appropriate metrics Stay focused on goals when analyzing data Let the data be interpreted by the people involved Integrate the measurement activities with regular project activities

Key Practices of GQM (p. 3 of 3) Do not use measurements for other purposes (such as to assess team member productivity) Secure management commitment to support measurement results Establish an infrastructure to support the measurement program Ensure that measurement is viewed as a tool, not the end goal Get training in GQM before going forward

GQM Recent Development: GQM+ GQM+: extends the goal/question/metric paradigm for measuring the success or failure of goals and strategies, adding enterprise-wide support for determining action on the basis of measurement results. An organization can thus integrate its measurement program across all levels Provides solutions to achieve Business Alignment May be applied in other non-software development domains (e.g., professional training)

GQM+ Strategies components The primary components are the Goal+ Strategies element and the GQM graph. The Goal+ Strategies element includes a single goal and derived strategies, as well as all context information and assumptions that explain how goals and strategies link. The GQM graph reflects a single GQM goal, the corresponding questions and metrics, and an interpretation model.

GQM+ Example GQM+Strategies enforces the explicit documentation of the relevant context factors and assumptions that are necessary for understanding and evaluating each goal. A Goal+ Strategies element consists of a goal and an associated strategy (bottom of each goal box). Each element, in turn, is associated with a GQM graph (green rectangle to the right of the goal) representing questions and metrics as well as an interpretation model that evaluates if the goal was achieved.

More about GQM+ and Its Applications Original Paper Basili, V. R., Lindvall, M., Regardie, M., Seaman, C., Heidrich, J., Münch, J., ... & Trendowicz, A. (2010). Linking software development and business strategy through measurement. Computer, 43(4), 57-65. Application in Non-Software Development Domains Sarcia, S. A. (2010, September). Is GQM+ Strategies really applicable as is to non-software development domains?. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (p. 45). ACM.

Discussion Take an everyday context, such as coursework, commuting to school, research. Identify one or more quality objectives you would like to achieve, such as "improve grades", or "publish a paper". Use the GQM framework to design two metrics that relate to the objective. Identify the measurements that you need to compute the metric. What are the reliability and validity limitations of the metrics you have identified? What are the problems with GQM and GQM+?