Benchmarking software Quality
Transcription
Benchmarking software Quality
Benchmarking Software Quality – With Applied Cost of Quality Cost of Quality has remained theoretical in many treatments despite its powerful relevance in software quality. A survey-based approach makes this model an important quality driver today. Cost of Quality (CoQ) as a software quality model has remained an attractive yet difficult proposition. It is attractive, because it promises to provide decidedly insightful measurements, thus making cost reduction a driver for improving quality. It is difficult, because it demands granular measurement and analysis, making assessment tedious. The good news is that indirect methods employed to leverage the model have helped increase the adoption of Cost of Software Quality (CoSQ). Correlation with CoSQ improvement and CMM® maturity has also been established convincingly in some studies. This document explores the facets of CoSQ and its growing importance in software quality. It suggests a proven approach in making it practically implementable in large software settings. Benchmarking Software Quality – With Applied Cost of Quality About the Author Srinivasa Phanindra Vedula Srinivasa Phanindra Vedula is a senior Process and Quality Consultant at Tata Consultancy Services. He has extensive experience in the fields of software quality, CMM, CMMI, TPI, and Six sigma. He is a certified Six Sigma Black Belt, and has mentored and coached execution of Black belt projects. He has led and executed consulting engagements for clients in Financial Services, Banking and insurance domain using cost of quality baseline framework outlined in this paper. He is a CSQA and a postgraduate from Indian Institute of Technology, Chennai. 1 Benchmarking Software Quality – With Applied Cost of Quality Table of Content 1. Introduction – Quality for Competitiveness 3 2. Cost of Quality – the Cost that Reduces Cost 3 3. CoSQ Correlates with Software Capability Maturity Levels 5 4. Kick-starting the Journey – Baselining CoSQ 6 5. Case Study: Cost of Software Quality Study for a Financial Services Major in the US 7 6. Concluding Remarks 10 7. References 10 2 Benchmarking Software Quality – With Applied Cost of Quality Introduction – Quality for Competitiveness Software quality has come a long way. Having said that, I am probably provoking a section of software makers and recipients who are still skeptical about whether true software quality exists. With quality frameworks and methodologies like CMMI® and Six Sigma being used to the hilt, we somehow think we need to add another perspective to quality, one that can provide a sole indicator for benchmarking and fact-based improvement. Software quality has become more tangible with time and it is interesting to see new dimensions being added to it. In every case though, the quest has been to make it relatable to business outcomes. Cost of Quality is becoming increasingly important as a driver in business quality. It is also finding serious application in software. This is more so because it provides a unified indicator as well as a driver of business health. Despite the challenge of quantifying the measures involved, it is possible to baseline software quality and benchmark improvements using survey based techniques. This paper demystifies Cost of Software Quality by suggesting a practical approach to baselining CoSQ, which has been successfully used with our global clients. Despite quality generally being an applied discipline, COQ has remained theoretical in many treatments. Therefore, we call this approach “applied cost of quality”. Cost of Quality – the Cost that Reduces Cost Cost of quality started with the need to reduce cost of meeting client requirements, thereby increasing competitiveness. Over time, it progressed as a philosophy for successful business. Phil Crosby laid the foundation of the current form of COQ in his book Quality is Free Cost of Conformance (McGraw Hill 1979). He suggested that cost of quality was the sum of two primary costs – cost of conformance Cost of Prevention Cost of Appraisal and cost of non-conformance. Cost of conformance in turn sums up the cost of appraisal and cost of Cost of Quality prevention. The non-conformance cost, on the other Internal External hand, has two components – cost of internal failure, that Failure Failure is, the cost of defects that occur before release to market (for instance in development and production), and cost Cost of Non-Conformance of external failure, that is, the cost of defect that occurs after release to market. In the case of software, these components can be illustrated as hereunder: Cost of Appraisal: These are costs incurred to determine the degree of conformance to the requirements. The typical activities of appraisal are l Review of code and other artifacts l Purchased software testing l First iteration of integration and system testing l User Acceptance testing. 3 Benchmarking Software Quality – With Applied Cost of Quality Cost of Prevention: These are costs incurred to prevent poor quality by keeping failure and appraisal costs to a minimum. The typical prevention occurs through l Casual Analysis and defect prevention l Quality planning and software quality assurance l Quality training on tools and techniques l Process improvements l Code and component reuse l Training on design review Cost of Internal Failure: These are costs associated with defects found prior to delivery of software to the customer. The typical activities under this head are l Pre-release defect management l Rework l Re-reviews l Retesting. Cost of External Failure: These are costs associated with defects found after the software is released to customers. Typical activities are : Cost of pre-enhancement maintenance and support after release l Reworks and defect management of field errors l Warranty redressal Cost of Execution These are costs incurred to build the software right first time or the cost of construction, also expressed as percentage of project cost. Therefore, Cost of Execution (%) = 100 – Cost of Quality (%) Cost of quality provides a means to quantify quality cost in business terms. It therefore helps in identifying opportunities for cost reduction. The underlying philosophy is that by cutting down on the cost of quality, one is able to stay more competitive in the market and reduce opportunity cost of losing out to competition. Therefore, in the highest performance state, the effective cost of quality to business is minimal. It emerges as a powerful driver and, at The underlying philosophy is that by cutting down the same time, carries the simplicity of providing one on your cost of quality, you are able to stay more unified metric to judge the health of the line of business. By competitive in the market and reduce opportunity providing distribution of quality cost across the four cost of losing out to competition. Therefore, in the highest performance state, your effective cost of components of it, it helps in understanding the direction of quality to business is minimal. It emerges as a improvement focus. For instance, if the cost of appraisal is powerful driver and, at the same time, carries the high compared to that of prevention, one would focus on simplicity of providing one unified metric to judge finding improvement opportunities in defect prevention the health of the line of business. (such as in design, coding best practices). 4 Benchmarking Software Quality – With Applied Cost of Quality CoSQ Correlates with Software Capability Maturity Levels The Cost of Software Quality (CoSQ) has a good correlation with capability maturity of the organization, and can be explained by Knox’s model for CoSQ (Modeling the Cost of Software Quality, Stephen T. Knox). Knox used the CoQ model developed in the manufacturing environments and extended it across the SEI CMM® to produce a theoretical CoSQ model. CMM® today is a well-accepted framework to assess maturity of software delivery capability. Thanks to its wide adoption, we have extensive data available on overall industry maturity in terms of CMM® levels. Knox predicted that CMM® Level 1 units have 60% CoSQ and he further hypothesized that CoSQ reduces by 67% at level 5. Knox was able to map the four Focus on Process Improvement Optimizing (5) Process Measured and Controlled Quantitatively Managed (4) Process characterized for the organization and its proactive Defined (3) Process characterized for projects and is often reactive Managed (2) Process unpredictable poorly controlled and reactive Initial (1) components of CoQ with the CMM® maturity levels. His finding suggested that the ratio between conformance and non-conformance cost at level 3 would typically be 0.5. In the study, the overall CoSQ exhibits a downward trend and an improvement of cost of execution. Thus, the high maturity organizations get a return of 85% on marginal cost of quality (return on penny spent). Cos t a s a Per cent of D ev el o p ment 60 50 40 30 20 10 0 1 2 3 4 5 SEI CMM® Levels CoSQ Internal Nonconformance Costs External Nonconformance Costs Appraisal Prevention Knox Theoretical model showing relationship between CoSQ and SEI CMM® levels (1) 5 Benchmarking Software Quality – With Applied Cost of Quality An instance of this is seen in a study by Raytheon Electronic Systems (RES) published in Cost of Software Quality, Herb Krasner, SASPIN, September 1999. It successfully proved that the theoretical CoSQ model is a very good estimator of cost elements and correlates well with CMM® maturity. Raytheon Electronic Systems CoSQ Study 100% CoQ D i s t r i bu t i on 80% 66 45 24 34 6 11 18 60% 44 40% 18 Cost of Nonconformance 23 12 Cost of Prevention 15 Cost of Appraisal 76 7 20% Cost of Execution 66 15 55 Cost of Appraisal was included in the Cost of Prevention in L3 and L4 study. 34 0% L1 CoSQ L2 L3 L4 CMM® Levels Cost of Quality, proportionate to cost of Execution, reduces with higher levels of maturity Kick-starting the Journey – Baselining CoSQ Establishing CoSQ in an organization is a challenging task. This is because the cost elements that are required for CoSQ are highly fine-grained and demand extensive data. It is not practical to track and classify the project cost data at a granular level. If at all an organization attempts to do so, it would run a high risk of being entrapped in a regimented and ritualistic environment impeding efficiency and ingenuity. Therefore, we suggest a survey-based approach for base-lining CoSQ. Our experience with this approach shows that it can serve as an effective indicator of the direction in which improvement efforts should be focused. The following case study describes a methodology for implementing this approach. 6 Benchmarking Software Quality – With Applied Cost of Quality Initial Organization Study Identify equivalent terminologies in the organization Identify set of cost element Map to CoSQ Model Questionnaire Design Design question sets for prevention, appraisal and failure in terms of getting percentage data. Questions are granular (For example, percentage of effort in first time integration testing) Consolidation of response survey Elimination of data with biased patterns Moderation of cost value based on mean and median percentage values deployment channels Deployment of questionnaire, and response collection Technical support to responders (temporary Help desk) Study a sample of the population and find adequate stratification. Generally, a sample represents stakeholders (Program manager, EQA) and Process participants Facilitation Sessions Carry out facilitation session with sample population to make them understand the questionnaire, the purpose, objective, and tools and methods to be used. Identify and Present Opportunities for improvement Survey Response Grouping and Analytics Administer Questionnaire Identification of Population Sampling Listing and prioritization of Opportunities for Improvements (OFIs) Presentation to stakeholders Case Study: Cost of Software Quality Study for a Financial Services Major in the US TCS IT Process consultants helped in establishing cost of quality baseline using a survey based approach. Under a process reengineering initiative using CMMI® framework, a cost of quality model was designed to estimate the potential savings. The survey inferences were further validated with the qualitative findings during gap analysis. 7 Benchmarking Software Quality – With Applied Cost of Quality The following is a part of the questionnaire that was deployed to evaluate the cost of appraisal: Q. If you are managing a single project, indicate data across the given categories. If you are managing multiple projects, indicate the percentage distribution across the categories. Category Design document walk-through Code walk-through Measure % of development effort % of % of development development effort effort Specifications walk-through Test planning, strategy, test case and test bed preparation Training to testers on tools and defect management Functional testing Regression testing % of development effort % of development effort (First time effort only) % of development effort % of development effort User acceptance testing % of development effort (First time effort only) Small projects Medium projects Large projects Very large projects Result: Average Cost of Quality Distribution 100% 90% 11.2 19 Percentage Effort 80% 70% 22.5 43.3 32.1 23.5 32.4 60% 3 50% 40% 32.7 12.6 2.5 30% 20% 10% 24.3 36 24 51 Cost of Execution Cost of Appraisal Cost of Prevention 30 Cost of Failure 0% Type1 Type2 Type3 Type4 Proje ct Type The results showed disparate performance across project types. One of the project types (type 2) showed high cost of prevention. The analysis suggested that this project type had high cost of appraisal to cost of prevention ratio (2.6:1). The interpretation was that opportunities for improvement exist in design and development. 8 Benchmarking Software Quality – With Applied Cost of Quality Phase analysis of CoSQ components indicated high injection of defects in the analysis and design phase of large projects, leading to higher cost of prevention during building phase. The average spent on defect prevention during the building phase was significantly higher than industry average. Per cent a ge of Def ect s wi t h i n P r oj ect Ty p e Project Type Wise Distribution of Defects 40% 35% 30% Very large 25% Large 20% Medium 15% Small 10% 5% Industry Average 0% Company Average Analysis Design Build Testing Rollout Phases of Development On further analysis of the defects in building phase, almost two-thirds of the defects were found to be requirement related. This suggested potential opportunities for improvement in analysis and design. Defect Distribution in Building Phase 27% 11% 62% Requirement related defects Configuration related defects Others Word of Caution Since the methodology is based on a survey questionnaire, one needs to guard against measurement errors associated with survey questionnaires. These errors can typically be controlled by paying careful attention to: • Choice of appropriate representative sample l Customization of questionnaire for the organization l Facilitation sessions before administering the survey 9 Benchmarking Software Quality – With Applied Cost of Quality Concluding Remarks Cost of Quality has emerged as a tool for looking at quality from the perspective of enhancing competitiveness. By cutting down the cost of quality, we are improving the overall health of the line of business, which in this case is software. Its strength lies in its ability to provide a unified benchmarking metric that can be further analyzed to identify focus areas for improvements, which otherwise would remain obscure. For instance, a high cost of appraisal may reveal a reactive approach to quality where sufficient attention is not being paid to preventing defects to occur in the first place. However, challenges lie in the implementation of theoretical models and mapping those with the granular activities of the software development lifecycle to gather real data. The survey-based approach to establish the CoSQ financial baseline in IT organizations is a viable and proven alternative in this respect. References 1. 2. 3. 4. 5. A Review Research on Cost of Quality Models and Best Practices, Andrea Schiffauerova, Vince Thomson, 2006 Modeling the Cost of Software Quality, Stephen T. Knox, Copyright Digital Equipment Corporation 1999 Software Process Improvement the Road to a Professional Software Company SASPIN Nov 2002 Cost of Software Quality Herb Krasner SASPIN Sep 1999 Phil Crosby - Quality is Free, McGraw Hill 1979. Note: CMMI® and CMM® are registered trademarks of Software Engineering Institute, Carnegie Mellon University 10 About Tata Consultancy Services (TCS) About TCS IT Process and Service Management Consulting Tata Consultancy Services Limited is an IT services, business IT Process and Service Management Consulting partners with solutions and outsourcing organization that delivers real results to organizations to enable IT process improvement aligned to global businesses, ensuring a level of certainty no other firm can TCS' experience in successfully match. TCS offers a consulting-led, integrated portfolio of IT and IT- adopting multiple frameworks like CMMI®, ISO-9001, ITIL®, enabled services delivered through its unique Global Network business needs. Leveraging 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. A part of the Tata Group, India's largest industrial conglomerate, Service areas include: TCS has over 94,000 of the world's best trained IT consultants in 47 l CMMI® Appraisal Services and Training countries. The company generated consolidated revenues of US $4.3 billion for fiscal year ended 31 March 2007 and is listed on the l ITIL deployment and assessment National Stock Exchange and Bombay Stock Exchange in India. For l Agile development for Distributed Environment more information, visit us at www.tcs.com l Six Sigma based improvements l Quality Improvement Initiatives l Digitized enablers, which reduce 'Time to Deploy' and sustain 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 © 2007 Tata Consultancy Services Limited www.tcs.com
Similar documents
GCP - Productivity Improvement
Change management is a process designed to assist teams in telling the process improvement story from initial actions to the improved state. It describes the goals, the motivation for improving, th...
More information