Software Quality & Process Improvement Dr. Ita Richardson Lero – the Irish Software Engineering Research Centre and Department of Computer Science & Information Systems University of Limerick Lero© 2010 1 LECTURE 1: SOFTWARE QUALITY WITHIN TOTAL QUALITY MANAGEMENT Lero© 2010 Software Quality • Define Software Quality within framework of Total Quality Management Lero© 2010 What is Quality? VS VS Lero© 2010 What is Quality? • Three dimensions to quality: – Quality of the product – On-time delivery – Cost • Producer match competitor in any two and beat them in the third, then they have competitive advantage » Calloway & Chadwell, 1990 Lero© 2010 “Good-Enough Software” Software cycle-time & its predictability Software functionality “Good-enough Software” SW dev’t productivity / predictability SW process capability & maturity Lero© 2010 Software quality TOTAL QUALITY MANAGEMENT Lero© 2010 Total Quality Management • • • • Fitness to Standard Fitness to Use Fitness of Cost Fitness to Latent Requirement Lero© 2010 Fitness to Standard Company Focus Customer Focus Standardisation Statistical Process Control Inspection Fitness to standard Lero© 2010 Fitness to Standard - Software • Statistically based measurements • Errors per line of code: Number of Defects Discovered Number of lines of code • Readability - Fog Index: 0.4 * No of words in sentence + % of words with more than two syllables Lero© 2010 “Good-Enough Software” • Fitness to Standard: – What metrics do we use? – What are our limits and controls? – “Testing is emphasised as a verification technique” Lero© 2010 Fitness to Use Company Focus Customer Focus Standardisation Statistical Process Control Inspection Fitness to standard Market research Cross-functional involvement Fitness to use Lero© 2010 Fitness to Use - Software • "The hardest single part of building a software system is deciding precisely what to build... No other part of the work so cripples the resulting system if it is done wrong. No other part is more difficult to rectify later.” – Fred Brooks Jr. "No Silver Bullet" 1986 • Quality of Use Lero© 2010 Requirements Engineering • “The development and use of cost-effective technology for the elicitation, specification and analysis of the stakeholder requirements which are to be met by software intensive systems” – Berry and Ryan, 1999 Lero© 2010 Quality of Use • Can computer systems be used – by the novice? – by the subject expert? • Usability issues • Efficiency issues • Outstanding errors Lero© 2010 “Good Enough Software” • Fitness to Use: – How do we gather requirements? – How important are requirements from the ‘gemba’? – Does it matter whether the customer can use our product efficiently? – How do we determine this? – “No company uses requirements gathering models” Lero© 2010 Fitness of Cost Company Focus Customer Focus Standardisation Statistical Process Control Inspection Fitness to standard Market research Cross-functional involvement Fitness to use QC Circle 7QC steps, 7 QC tools = improvement methods Fitness of cost Lero© 2010 Fitness of Cost - Software • Development costs • High cost of testing • Maintenance costs • Focus on Software Process Lero© 2010 Software Process Models • Capability Maturity Model • Software Process Improvement and Capability dEtermination (ISO15504) • ISO9000 (not strictly Software Process) Lero© 2010 “Good Enough Software” • Fitness of Cost – – – – Lero© 2010 Can we reduce the cost of production? Will this affect the quality of the product? Does improving the software process actually reduce cost? “Improving the process improves the quality of the product; it also improves implementation and maintenance” Fitness to Latent Requirement Company Focus Customer Focus Standardisation Statistical Process Control Inspection Fitness to standard Market research Cross-functional involvement Fitness to use QC Circle 7QC steps, 7 QC tools = improvement methods Fitness of cost QFD 7 Management Tools Fitness to latent requirement Lero© 2010 Fitness to Latent Requirement • Determining customer requirements even though customer does not realise they have them • Seven management and planning tools Lero© 2010 Latent Requirements - Software • Requirements Engineering carried out using Quality Function Deployment and the Analytic Hierarchy Process » Karlsson and Ryan, 1997 Lero© 2010 “Good Enough Software” • Fitness to Latent Requirement – Can we establish latent requirements? – Is it cost-effective to do so? – Can we gain competitiveness through establishing latent requirements? – “.. The requirements actually selected for implementation have a profound impact on the final product” » Karlsson Lero© 2010 Total Quality Management Company Focus Customer Focus Standardisation Statistical Process Control Inspection Fitness to standard Market research Cross-functional involvement Fitness to use QC Circle 7QC steps, 7 QC tools = improvement methods Fitness of cost QFD 7 Management Tools Fitness to latent requirement Lero© 2010 TQM & Software • Fitness to Standard – Metrics • Fitness to Use – Requirements Engineering • Fitness of Cost – Software Process • Fitness to Latent Requirement – Methods for latent requirement collection Lero© 2010 Software Quality • Software Quality has been defined within the framework of Total Quality Management Lero© 2010 Acknowledgements • The information presented in these slides has been collected from a variety of sources including: – Software Quality Assurance: From Theory to Implementation by Daniel – – – – • Lero© 2010 Galin, 2003 Software Process Improvement: Practical Guidelines for Business Success by Sami Zahran, 1998 Research carried out by post-doctoral researchers and PhD students at Lero – the Irish Software Engineering Research Centre, Ireland under the supervision of Dr. Ita Richardson Software Process: Improvement and Practice (journal) The SPIRE Handbook: Better, Faster, Cheaper Software Development in Small Organisations, edited by Marty Sanders (Version 1, 1998) and Jill Pritchet (Version 2, 2000) The research presented in this lecture has been partially supported by Science Foundation Ireland funded through Global Software Development in SMEs Cluster Grant (no 03/IN3/1408C) and Lero – the Irish Software Engineering Research Centre (CSET grant no 03CE2/I303.1). References • Calloway, Dave and Brain Chadwell, 1990. "Manufacturing Strategic Plan QFD and the Winchester Gear Transfer", Transactions from the Second Symposium on Quality Function Deployment, Novi, Michigan, U.S.A., June 8-10th, 1990, pp 370-380. • Brooks Jr, Fredrik P., 1986. “No Silver Bullet – Essence and Accidents of Software Engineering”, Information Processing, pp 1069-1076. • Berry, Daniel M. and Kevin Ryan, 1999. Presentation in RENOIR URL www.cs.ucl.ac.uk/research/renoir, Requirements Engineering Network of International Co-operating Research Groups, Accessed in July, 1999. • Karlsson, J and Ryan, K, 1997. A Cost-Value Approach for Prioritizing Requirements, IEEE Software, Volume 14, Issue 5 pp. 67 - 74 Lero© 2010 © S-Cube – 29/<Max>