FLEX-RCA: a lean-based method for root cause analysis in software process improvement

Software process improvement (SPI) is an instrument to increase the productivity of, and the quality of work, in software organizations. However, a majority of SPI frameworks are too extensive or provide guidance and potential improvement areas at a high level, indicating only the symptoms, not the causes. Motivated by the industrial need of two Swedish automotive companies to systematically uncover the underlying root causes of high-level improvement issues identified in an SPI project—assessing inter-departmental interactions in large-scale software systems development—this paper advances a root cause analysis (RCA) method building on Lean Six Sigma, called Flex-RCA. Flex-RCA is used to delve deeper into challenges identified to find root causes as a part of the evaluation and subsequent improvement activities. We also demonstrate and evaluate Flex-RCA’s industrial applicability in a case study. An overall conclusion is that the use of Flex-RCA was successful, showing that it had the desired effect of both producing a broad base of causes on a high level and, more importantly, enabling an exploration of the underlying root causes.

[1]  James D. Herbsleb,et al.  Modelling the Likelihood of Software Process Improvement: An Exploratory Study , 2004, Empirical Software Engineering.

[2]  Manfred Broy,et al.  Scanning Advances in Aerospace & Automobile Software Technology , 2010, Proceedings of the IEEE.

[3]  Bjørn Andersen,et al.  Root Cause Analysis: Simplified Tools and Techniques , 1999 .

[4]  Manuel Pérez Cota,et al.  Experiences in the Application of Software Process Improvement in SMES , 2004, Software Quality Journal.

[5]  Jean-Pierre Kuilboer,et al.  Software process and product improvement: an empirical assessment , 2000, Inf. Softw. Technol..

[6]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[7]  F. Paul Wilson,et al.  Root Cause Analysis : A Tool for Total Quality Management , 1993 .

[8]  Tony Gorschek,et al.  A practitioner's guide to light weight software process assessment and improvement planning , 2008, J. Syst. Softw..

[9]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[10]  Tony Gorschek,et al.  A Study Investigating Challenges in the Interface between Product Development and manufacturing in the Development of Software-Intensive Automotive Systems , 2012, Int. J. Softw. Eng. Knowl. Eng..

[11]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

[12]  Khaled El Emam,et al.  Success or Failure ? Modeling the Likelihood of Software Process Improvement , 1998 .

[13]  M. P. Thapliyal,et al.  Software Process Improvement in Small and Medium Software Organisations of India , 2010 .

[14]  Richard E. Fairley,et al.  Software Engineering Body of Knowledge (SWEBOK) , 2019 .

[15]  Manfred Broy,et al.  Engineering automotive software : For the gigabyte of costly software that will be used in intelligent cars of the future, new system and software development techniques and tools are required , 2007 .

[16]  Tony Gorschek,et al.  Identification of Improvement Issues Using a Lightweight Triangulation Approach , 2003 .

[17]  Victor R. Basili,et al.  Quantitative Evaluation of Software Methodology , 1985 .

[18]  Tony Gorschek,et al.  Packaging software process improvement issues: a method and a case study , 2004, Softw. Pract. Exp..

[19]  Forrest W. Breyfogle,et al.  Implementing Six Sigma: Smarter Solutions Using Statistical Methods , 1999 .

[20]  David N. Card,et al.  Learning from Our Mistakes with Defect Causal Analysis , 1999, IEEE Softw..

[21]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[22]  Tony Gorschek,et al.  Evaluation and Measurement of Software Process Improvement—A Systematic Literature Review , 2012, IEEE Transactions on Software Engineering.

[23]  R. Yin Case Study Research: Design and Methods , 1984 .

[24]  Roger Hoerl,et al.  SIX SIGMA AND THE FUTURE OF THE QUALITY PROFESSION , 1998 .

[25]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[26]  Jeffrey K. Liker,et al.  The Toyota Product Development System: Integrating People, Process And Technology , 2006 .

[27]  Tony Gorschek,et al.  Software Process Improvement in Inter-departmental Development of Software-Intensive Automotive Systems - A Case Study , 2013, PROFES.

[28]  Mary Poppendieck,et al.  Lean Software Development: An Agile Toolkit , 2003 .

[29]  Tony Gorschek,et al.  The lean gap: A review of lean approaches to large-scale software systems development , 2013, J. Syst. Softw..

[30]  Robert G. Mays Applications of Defect Prevention in Software Development , 1990, IEEE J. Sel. Areas Commun..

[31]  P. Jalote,et al.  Using defect analysis feedback for improving quality and productivity in iterative software development , 2005, 2005 International Conference on Information and Communication Technology.

[32]  Sami Zahran Software process improvement - practical guidelines for business success , 1998 .

[33]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[34]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[35]  Reidar Conradi,et al.  Improving Software Process Improvement , 2002, IEEE Softw..

[36]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[37]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[38]  Sylwia Męcfal Recenzja książki. Robert K. yin, Case Study Research. Design and Methods (fourth Edition), thousand Oaks, CA: Sage Publications, 2009 , 2012 .

[39]  Mark C. Paulk,et al.  The Capability Maturity Model: Guidelines for Improving the Software Process , 1994 .

[40]  Christiane Gresse von Wangenheim,et al.  Experiences on establishing software processes in small companies , 2006, Inf. Softw. Technol..

[41]  Venkataramani Sumantran Accelerating product development in the automobile industry , 2004, Int. J. Manuf. Technol. Manag..

[42]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[43]  Dewayne E. Perry,et al.  A case study in root cause defect analysis , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[44]  Klaus Grimm Software technology in an automotive company - major challenges , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[45]  Mario Piattini,et al.  Software process improvement in small and medium software enterprises: a systematic review , 2008, Software Quality Journal.

[46]  F. Charfi,et al.  Overview on dependable embedded systems in modem automotive , 2004, 2004 IEEE International Conference on Industrial Technology, 2004. IEEE ICIT '04..

[47]  Johan Malmqvist,et al.  Requirements management in practice: findings from an empirical study in the automotive industry , 2006 .

[48]  Mario Piattini,et al.  Using Scrum to guide the execution of software process improvement in small organizations , 2010, J. Syst. Softw..

[49]  Steven C. Wheelwright,et al.  Revolutionizing Product Development: Quantum Leaps in Speed, Efficiency and Quality , 1992 .