Abstract
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.
Similar content being viewed by others
References
ABG. (1994). V-model: development standard for IT-systems of the Federal Republic of Germany. Lifecycle Process Model,
Abran, A., Moore, J. W., et al. (2004). Guide to the software engineering body of knowledge (SWEBOK®). IEEE Computer Society Guide.
Almefelt, L., Berglund, F., Nilsson, P., & Malmqvist, J. (2006). Requirement management in practice: findings from an empirical study in the auto-motive industry. Research in Engineering Design, 17(3), 113–134.
Andersen, B., & Fagerhaug, T. (2000). Roo1 cause analysis: simplified tools and techniques. Milwaukee: ASQ Quality Press.
Automotive SIG. (2010). The SPICE User Group, Automotive SPICE Process Assessment Model v2.5 and Process Reference Model v4.5, Available on: http://www.automotivespice.com. Accessed on Dec 2017.
Basili, V. R. (1985). Quantitative evaluation of software methodology. College Park: University of Maryland.
Beck, K. (2004). Extreme programming explained: embrace change (2nd ed.). Addison-Wesley.
Breyfogle, F. W. (1999). Implementing Six Sigma: smarter solutions using statistical methods. New York: Wiley.
Broy, M., Kruger, I. H., Pretschner, A., & Salzmann, C. (2007). Engineering automotive software. Proceedings of the IEEE, 95(2), 2007.
Calvo-Manzano, J. A., Cuevas, G., San Feliu, T., De Amescua, A., & Pérez, M. (2002). Experiences in the application of software process improvement in SMES. Software Quality Journal, 10(3), 261–273.
Card, D. N. (1998). Learning from our mistakes with defect causal analysis. IEEE Softw., 15(1), 56–63.
Charfi, F., Sellami, F. (2004). Overview on dependable embedded systems in modern automotive. In: Proc. of the 2004 I.E. Int. Conference on Industrial Technology.
CMMI. (2010). Capability Maturity Model Integration version 1.3. Technical report CMU/SEI-2010-TR-033. Software Engineering Institute (SEI). Available on: http://www.sei.cmu.edu/cmmi/. Accessed on Dec 2017.
Conradi, R., & Fugetta, A. (2002). Improving software process improvement. IEEE Software, 19(4), 92–100.
Dybå, T., & Dingsøyr, T. (2008). Empirical studies of agile software development: a systematic review. Journal of Information and Software Technology, 50(9-10), 833–859.
El Emam, K. D., Goldenson, D. J., McCurley, J., & Herbsleb, J. (2001). Modeling the likelihood of software process improvement: an exploratory study. Empirical Software Engineering, 6(3), 207–229.
Gorschek, T., & Wohlin, C. (2004). Packaging software process improvement issues—a method and a case study. Software: Practice & Experience, 34, 1311–1344.
Gorschek, T., Wohlin, C. (2003). Identification of improvement issues using a lightweight triangulation approach. In: The European Software Process Improvement Conference. Graz. Austria.
Grimm, K. (2003). Software technology in an automotive company—major challenges. In: Proc. of the 25th International Conference on Software Engineering, IEEE.
Hoerl, R. W. (1998). Six Sigma and the future of the quality profession. Quality Progress, 31, 35–42.
Humphrey, W. S. (1989). Managing the software process. Reading: Addison-Wesley.
ISO/IEC Std. 15504 (1998–2005): Information technology-process assessment, part 1 to part 5, International Organization for Standardization.
Jalote, P., & Agrawal, N. (2005). Using defect analysis feedback for improving quality and productivity in iterative software development. In: Proc. of the Information Science and Communications Technology (ICICT 2005) (pp. 701–714).
Kotonya, G., & Sommerville, I. (1998). Requirements engineering: processes and techniques. New York: John Wiley.
Kraut, R., & Streeter, L. A. (1995). Coordination in software development. Communications of the ACM, 38(3), 69–81.
Kuilboer, J. P., & Ashrafi, N. (2000). Software process and product improvement: an empirical assessment. Information and Software Technology, 42(1), 27–34.
Leszak, M., Perry, D. E., & Stoll, D. (2000). A case study in root cause defect analysis. Proc. of the 2000 International Conference on Software Engineering, 428–437.
Mays, R. G. (1990). Applications of defect prevention in software development. IEEE Journal on Selected Areas in Communications, 8(2), 164–168.
Morgan, J., & Bering-Jones, M. (2009). Lean Six Sigma for dummies. Chichester: Wiley.
Morgan, J. M., & Liker, J. K. (2006). The Toyota product development system: integrating people, process, and technology. New York: Productivity.
Paulk, M. C., Curtis, B., Chrissis, M. B., & Weber, C. V. (1994). The capability maturity model: guidelines for improving the software process. Reading: Addison-Wesley.
Pernstal, J., Magazinius, A., & Gorschek, T. (2012). A study investigating challenges in the interface between product development and manufacturing in the development of software intensive automotive systems. International Journal of Software Engineering and Knowledge Engineering, 22(7), 965–1004.
Pernstal, J., Gorschek, T., Florén, D., & Feldt, R. (2013a). Software process improvement in inter-departmental development of software-intensive automotive systems—a case study, Product-focused software process improvement/lecture notes in computer science (Vol. 7983, pp. 93–107). Springer.
Pernstal, J., Feldt, J., & Gorschek, T. (2013b). The lean gap: a review of lean approaches to large-scale software systems development. Journal of Systems and Software, 86(11), 2797–2821.
Petersen, K., Feldt, R., Mujtaba, S., & Mattsson, M. (2008). Systematic mapping studies in software engineering. In 12th International Conference on Evaluation and Assessment in Software Engineering (pp. 71–80).
Pettersson, F., Ivarsson, M., Gorschek, T., & Öhman, P. (2008). A practitioner’s guide to light weight software process assessment and improvement planning. The Journal of Systems and Software, 81(6), 972–995.
Pino, F., Garcia, F., & Piattini, M. (2008). Software process improvement in small and medium software enterprises: a systematic review. Software Quality Journal, 16(2), 237–261.
Pino, F. J., Pedreira, O., García, F., Rodríguez Luaces, M., & Piattini, M. (2010). Using Scrum to guide the execution of software process improvement in small organizations. Journal of Systems and Software, 83(10), 1662–1677.
Poppendieck, M., & Poppendieck, T. (2003). Lean software development: an agile toolkit. Addison-Wesley.
Robson, C. (2002). Real world research: a resource for social scientists and practitioners-researchers (2nd ed.). Blackwell.
Runesson, P., & Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering, 14(2), 131–164.
SCAMPI-ADT. (2001). Standard CMMI Appraisal Method for Process Improvement (SCAMPI) version 1.1 (CMU/SEI-2001-HB-001) (p. 245). Pittsburgh: Carnegie Mellon SEI.
Schwaber, K., & Beedle, M. (2001). Agile software development with Scrum. Upper Saddle River: Prentice Hall.
Sivie, J., Forrester, E. (2004). Enabling technology transition using Six Sigma. In Bergey, J et al., Results of SEI independent research and development projects and report on emerging technologies and technology trends, (chapter 5) (CMU/SEI-2004-TR-018). Software Engineering Institute, Carnegie Mellon University, Pittsburgh. Available on: http://www.sei.cmu.edu/library/abstracts/reports/04tr018.cfm. Accessed on Dec 2016.
Sumantran, V. (2004). Accelerating product development in the automobile industry. Int. Journal of Manufacturing Technology and Management, 6(3/4), 361.
Unterkalmsteiner, M., Gorschek, T., Islam, M., Cheng, C., Permadi, R., & Feldt, R. (2012). Evaluation and measurement of software process improvement—a systematic literature review. IEEE Transactions on Software Engineering, 38(2), 398–424.
Vanden Heuvel, L. N., Lorenzo, D. K., Hanson, W. E., Jackson, L. O., Rooney, J. R., & Walker, D. A. (2008). Root cause analysis handbook—a guide to efficient and effective incident investigation (3rd edn.). ABS Consulting ed.). Houston: Rothstein Associates Inc..
Venkatesh Prasad, K., Broy, M., Krueger, I. (2010). Scanning advances in aerospace & automobile software technology. Proc. of the IEEE 2010; 98, 510–514.
Volvo Cars. (2016). Available on https://www.media.volvocars.com/global/enhanced/en-gb/Media/Preview.aspx?mediaid=41678. Accessed on Dec. 2017.
Volvo Trucks. (2016). Available on: http://www.volvotrucks.com/trucks/global/en-gb/newsmedia/quick_facts_about_volvo_trucks/pages/quick_facts_about_volvo_trucks.aspx . Accessed on Dec. 2017.
Wangenheim, C. G., Weber, S., Rossa Hauck, J. C., & Trentin, G. (2006). Experiences on establishing software processes in small companies. Information and Software Technology, 48(9), 890–900.
Wheelwright, S. C., & Clark, K. B. (1992). Revolutionizing product development-quantum leaps in speed, efficiency, and quality. New York: Free.
Wilson, P. F., Dell, L. D., & Anderson, G. F. (1993). Root cause analysis—a tool for total quality management. Milwaukee: American Society for Quality.
Yin, R. (2003). Case study research: design and methods (3rd ed.). Thousand Oaks: Sage Publications Inc..
Zahran, S. (1998). Software process improvement: practical guidelines for business success. Reading: Addison-Wesley.
Acknowledgements
The authors would like to express their gratitude to all those somehow involved in this study and especially the participants at Volvo Cars and Volvo Trucks.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix 1. Structure of the causal variables and root causes and their classification and links to goals
The tree diagram in Fig. 12 shows the structure of the causal variables and root causes, and Table 10 summarizes each root causes’ classification and links to the goals. The goals are described and triangulated in Table 11.
Appendix 2 Questionnaire
The questionnaire consists of two parts and is used to gather feedback on the method used for root cause analysis and to collect issues regarding the communication between R&D and manufacturing. Section A collects background information. In Section B, the root cause analysis method is evaluated through capturing your view of using the method.
Rights and permissions
About this article
Cite this article
Pernstål, J., Feldt, R., Gorschek, T. et al. FLEX-RCA: a lean-based method for root cause analysis in software process improvement. Software Qual J 27, 389–428 (2019). https://doi.org/10.1007/s11219-018-9408-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-018-9408-8