Software Quality - Getting Right Metrics, Getting Metrics Right

advertisement
Software Quality - Getting Right
Metrics, Getting Metrics Right
How to set the right performance
metrics and then benchmark it for
continuous improvement?
While metrics are important means to quantify
performance of a process, we often define metrics to
comply with process standards, overlooking actual
alignment with business factors. We may put
substantial effort and discipline in getting metrics
deployed, but we might not be using the ones that
really matter. How can we define metrics that remain
anchored to business needs? In other words, how can
we translate business requirements to the right set of
metrics? Once the right metrics are defined, how can
we monitor and benchmark it to control performance
and make breakthrough improvements? This white
paper discusses best practices around metrics, from its
very definition to using it for continuous improvement.
Software Quality - Getting Right Metrics, Getting Metrics Right
About the Authors
Dr. Kanhaiya Jethani
Kanhaiya is a senior Process and Quality consultant at Tata Consultancy
Services. He has extensive experience in the fields of software project
management, software process and quality, CMM and CMMI. He has led
and executed process and quality consulting engagements for various IT
organizations in USA, Spain, Poland, Taiwan, Singapore, Japan and India.
He is a Certified Software Quality Analyst (CSQA), Project Management
Professional (PMP) and Candidate SCAMPI® Lead Appraiser. A Doctorate in
Chemical Engineering from Oklahoma State University, USA, he was also a
Post-Doctoral Research Fellow at Oklahoma State University, USA and
University Institute of Chemical Technology (UICT), Mumbai. He is a
member of PMI.
Vanishri Veloo
Vanishri is a senior Process and Quality consultant at Tata Consultancy
Services. She is a Candidate Lead Assessor for People CMM®, a qualified
auditor for ISO 9001:2000, a trained assessor for CMM® and SCAMPISM and
an External Assessor for Tata Business Excellence Model (TBEM). She has
led and executed process and quality consulting engagements for various
IT organizations in USA, UK, Germany, The Netherlands, Spain, Taiwan and
India.
Vanishri has worked in the financing of renewable energy, e-business and
financial services industry before moving to the Information Technology
Industry. Vanishri is a graduate in Biomedical Engineering from Mumbai
University, India and has done her Masters in Management Studies
(M.M.S.) in Finance from the Sydenham Institute of Management Studies,
Research & Entrepreneurship Education, Mumbai University, India.
Pragnya Misra
Pragnya Misra is a senior Process and Quality consultant at Tata
Consultancy Services. She has extensive experience in the fields of
application development and maintenance, software project
management, software process and quality, CMM and CMMI®. She has led
and executed process definition and deployment engagements for
various customers across the world. She is a Certified Software Quality
Analyst (CSQA).She is an SEI authorized assessor for CMM® and CMMI® and
also ISO-9000 Internal Auditor. She is a Masters in Business Administration
(Finance) and a Bachelor of Engineering (Instrumentation and Control)
from Gujarat University, India.
1
Software Quality - Getting Right Metrics, Getting Metrics Right
Table of Content
1. Introduction
3
2. Ask the Right Question
3
3. GQM Keeps Us Anchored to Changing
5
Business Imperatives
4. Using SPC to Control Process Performance
5
5. Continuous Improvement Needs
7
Breakthroughs where it Matters
6. Conclusion
9
2
Software Quality - Getting Right Metrics, Getting Metrics Right
Introduction
Pursuit of process frameworks and quality standards like CMMI® or ITIL has brought more discipline and maturity to
software development and IT services. The flip side is that we go overboard with a plethora of metrics, which often
are dictated by our preoccupation for compliance to such frameworks. With little alignment to the business-needs,
many of these metrics can turn ritualistic and time consuming, let alone the questionable sanity of the data. For
example, while we may remain complacent with low defect levels; we may ignore a high defect concentration in a
critical module or the severity of defects.
Many IT organizations have a metrics handbook that suggests the set of metrics to be followed. If such a handbook
prescribes a set of mandatory metrics, we would like such metrics to be rather small in number. A larger set of metrics
can remain optional, leaving it to the discretion of the project. Now the question is - how can one decide what would
be the right metric. It is the question of finding the right metric first before getting the metric right; the irony that
comes out of Joseph Juran’s adage do right things before doing things right.
Ask the Right Question
Consider this: a module in software was found to have abnormally high defects. The metric that was closely
monitored was the defect density - defects per unit functionality (for example defects per function point). This
module was escalated for re-engineering. On inspection of the design, it was found to be good in terms of
maintainability and defect prevention. Questioning the rationale for re-engineering, the defects were revisited. It
was found that surprisingly, the defects were more in number but low in severity, being concentrated mostly on
output formats. Unfortunately, the severity of the defects was not factored in the defect density metric.
Metrics will remain meaningless ceremonies unless they are aligned to business goals. In this example, the business
goal was to reduce injection of defects critical to the quality of the product.
While we inherit or improvise the metrics that would support the monitoring of the project, it is essential to be
anchored to the business needs. In fact, the business goal should translate to the right set of metrics required to
monitor and control quality. A three step process, Goal-Question-Metric (GQM), would be very handy here: It is a way
to identify the right metrics by asking questions around the business goal. GQM helps translate the business needs
from conceptual level to the operational level by asking appropriate questions, thereby identifying the measures
that can provide objective insight into the achievement of the business goals. For example, if our goal is to improve
estimation, what questions would we have in mind? We would most probably ask how good the current estimation
method is. Effort overrun would then be a good metric to indicate the accuracy of our estimation method.
3
Software Quality - Getting Right Metrics, Getting Metrics Right
Conceptual Level
Establish measurement
goals aligned with
business needs i.e. what
we want to achieve
Operational Level
Generate a set of
questions that can be
used to determine
achievement of goals
Quantitative Level
Establish the set of data,
objective or subjective,
that will answer each
question in a
quantitative way
Figure 1: Translating business needs at conceptual to operational and quantitative parameters
Goal
Approach
Question
Metric
Improve
Estimation
- Estimating effort
based on requirements
- Planning based
on estimation
How good
is effort
estimation?
Effort
Slippage
Minimize
Defects
- Detecting defects
as early as possible
- Minimize acceptance
testing defects
What are
current
defect
levels?
Defect
Density
Reduce
Costs
- Identifying non-value added activities
- Detecting defects early
- Reducing rework
What is
the rework
Effort?
Rework
Effort
4
Software Quality - Getting Right Metrics, Getting Metrics Right
GQM Keeps Us Anchored to Changing Business Imperatives
A large project calculated billable value in terms of the project effort expended until the time of costing. However, the
value in terms of project deliverables and milestones met were found to be lesser than the effort spent. This was
primarily due to schedule slippages at certain phases in the project. Due to the enormity of the project, the actual
value delivered during the project remained confusing. In this case, the business need was to deliver the milestones
as per schedule. The question that comes to mind is what milestones have been delivered and what was the
corresponding estimated effort? This suggested tracking the delivered value in terms of Earned Value. Earned value
is the value of the deliverables made in terms of estimated effort, irrespective of the slippages. This gave the project a
better understanding of how much of true value is being delivered by the project at a given point in time, vis- a- vis
the total effort spent.
Now, when we have selected the right metric for monitoring project or process performance, how do we ensure that
the performance suggested by the metric is within acceptable limits? Or, how do we know that the project will be
able to deliver the deliverable as per plan? Statistical Process Control (SPC) is a technique that is useful in this. It
defines the operational limits for acceptable variation in the process data.
Using SPC to Control Process Performance
Statistical Process Control primarily follows four steps. These are:
Measuring the process
!
Reducing variation to acceptable limits
!
Monitoring and controlling
!
Improving the process to achieve target value
!
While many tools are used in process improvement, with each being applicable to specific contexts, we will discuss
the use of Control Charts to control process variation. Control chart is plotting of the process parameter over time to
identify causes of any abnormal variation. Any parameter would have some variation that would be confined to an
acceptable or “normal” range. An instance of the high variation would suggest an underlying assignable or “special”
cause, which would then have to be eliminated. Normally, an instance of variation lying outside the range of u + 3s (u
is the mean and s the standard deviation) is considered to be abnormal or “outlier”. The limits u + 3s and u – 3s are
referred to as Upper Control Limit (UCL) and Lower Control Limit (LCL) respectively. Processes having variation within
the range LCL-UCL are considered stable.
5
Software Quality - Getting Right Metrics, Getting Metrics Right
Out of
control
Abnormal variation
due to assignable sources
1020
UCL
1010
1000
Mean
Normal variation
due to chance
990
LCL
Abnormal variation
due to assignable sources
980
970
0
1
2
3
4
5
6
8
7
9
10
11
12
13
14
15
Sample number
Figure 2
Process
Capability
Band
USL
LSL
LCL
UCL
3s
3s
The reason we chose to discuss control chart in this paper is that we find the technique useful in gauging the
capability of the process, than just the stability. Besides UCL and LCL, the process can set its own limits (target for
process performance). This is referred to as Lower Specification Limit (LSL) and Upper Specification Limit (USL). A
capable process would have a variation well within the LSL-USL range. The LCL-UCL of a capable process is called
Process Capability Baseline (PCB). As the process matures to be more capable, the USL-LSL range is shortened with a
more tapered peak (“high Kurtosis”) at the mean.
6
Software Quality - Getting Right Metrics, Getting Metrics Right
The bell-curve becomes:
“Taller”
“Thinner”
with more process improvements
!
!
Further Improvements
Improvements
Time X
Time X
Time X
Capability Over Time
Continuous Improvement Needs Breakthroughs where it Matters
Continuous improvement essentially involves improving the performance of the process so that the specification
limits are satisfied and the process becomes more capable. Once the specification limits are satisfied, tighter
specification limits or “stretch targets” are defined and another cycle of continuous improvement is initiated. We call it
a continuous improvement journey because the improvement actions are not warranted by exceptions or “special
causes”, but are more proactive in nature. It addresses the “common causes”, which are inherent in the nature of the
process. In the context of control charts, capability improvement in processes requires identifying the right
breakthroughs, which would shift the mean and reduce variation to make it centered on the mean. In simpler words,
this means reducing variation to the extent that it improves end quality and shifts the mean to the desired
specifications. Often, we reduce variation on a parameter even when the process is robust with the existing level. For
example, we may go overboard on improving the performance variation of a transaction when its highest variation is
well accommodated in the actual transaction sequence. Rather, the business objective would be to reduce the mean
time taken to perform the series of related transactions in the practical business scenario. Reduction of the mean
would require a “breakthrough” action or process change. This is because the old process may have already hit its
maximum performance state given the existing process definition. To improve from here, one would need to
introduce new interventions or activities within the process. For example, we may often find that, despite sufficient
testing, there are a high number of defects during production. A process alteration such as peer review of source
code can help in detection of potential defects.
7
Software Quality - Getting Right Metrics, Getting Metrics Right
As depicted in the following figure, breakthrough improvements will lead to change in the mean performance of the
process.
Original zone of
Quality control
Chronic waste
New zone of
Quality control
Less chronic waste
Breakthrough
Improvement
To summarize, quality improvement starts with identifying the right metrics. We apply techniques such as control
charts to improve the stability of the process. Thereafter, we embark on a continuous improvement journey by
increasing the capability of the process. All through, a fact-based approach is needed. The typical approach is
illustrated as follows:
Business
Objectives
Process
Change
Sub-process
Selection
Measure
Piloting
Project-level
Change
Remove
Special
Causes
Remove
Common
Causes
Org.
Change
Process/
Technology
Change
No
No
Statistical
Analysis
(OPP)
Process
Stable?
Yes
8
Process
Capable?
Yes
Software Quality - Getting Right Metrics, Getting Metrics Right
Conclusion
A quantitatively managed process would have metrics aligned to business needs. Such needs are better
understood when we define the business goals. One can translate the goals to a set of representative metrics by
asking the right questions, which is an important part of the exercise. The GQM approach helps in this translation.
Once the right metrics are defined, SPC helps in monitoring the performance of the metrics and bringing the
process under control. We have discussed control chart as one of the tools that is useful here. As we move into the
continuous improvement journey, we try to reduce variance where it matters and find breakthroughs/ process
changes to shift the mean. This makes the process more capable.
At the end of the day, all a good process needs is the right metrics used to monitor it and good benchmarks set to
control its performance and continuously improve its performance.
9
About Tata Consultancy Services (TCS)
About TCS IT Process and Service
Management Consulting
Tata Consultancy Services is an IT services, business solutions and
IT Process and Service Management Consulting partners with
outsourcing organization that delivers real results to global
organizations to enable IT process improvement aligned to
businesses, ensuring a level of certainty no other firm can match.
business needs. Leveraging TCS' experience in successfully
TCS offers a consulting-led, integrated portfolio of IT and IT-
adopting best-inclass frameworks like CMMI®, ISO-9001, ITIL®,
enabled services delivered through its unique Global Network
P-CMM®, BS15000, BS7799, and Six Sigma, the consulting group
Delivery ModelTM recognized as the benchmark of excellence in
provides services with a practitioner’s approach to assessing,
software development.
defining, improving and deploying IT processes.
l
CMMI® appraisal services and training
A part of the Tata Group, India's largest industrial conglomerate,
l
ITIL deployment and assessment
TCS has over 100,000 of the world's best trained IT consultants in 50
l
Agile development for distributed environment
countries. The company generated consolidated revenues of US
l
Six Sigma-based improvements
$5.7 billion for fiscal year ended 31 March 2008 and is listed on the
l
Quality improvement initiatives
National Stock Exchange and Bombay Stock Exchange in India. For
Digitized enablers which reduce 'Time to Deploy' and sustain
l
more information, visit us at www.tcs.com.
productivity for process
global.consulting@tcs.com
All content / information present here is the exclusive property of Tata Consultancy Services Limited
(TCS). The content / information contained here is correct at the time of publishing.
No material from here may be copied, modified, reproduced, republished, uploaded, transmitted,
posted or distributed in any form without prior written permission from TCS. Unauthorized use of the
content / information appearing here may violate copyright, trademark and other applicable laws,
and could result in criminal or civil penalties.
Copyright © 2008 Tata Consultancy Services Limited
www.tcs.com
Download