Advertisement

Software Quality Journal

, Volume 27, Issue 1, pp 389–428 | Cite as

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

  • J. PernstålEmail author
  • R. Feldt
  • T. Gorschek
  • D. Florén
Article

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.

Keywords

Organizational management and coordination Communication Software engineering Software-intensive systems Automotive industry Case study Lean product development Agile Process improvement 

Notes

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.

References

  1. ABG. (1994). V-model: development standard for IT-systems of the Federal Republic of Germany. Lifecycle Process Model,Google Scholar
  2. Abran, A., Moore, J. W., et al. (2004). Guide to the software engineering body of knowledge (SWEBOK®). IEEE Computer Society Guide.Google Scholar
  3. 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.CrossRefGoogle Scholar
  4. Andersen, B., & Fagerhaug, T. (2000). Roo1 cause analysis: simplified tools and techniques. Milwaukee: ASQ Quality Press.Google Scholar
  5. 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.
  6. Basili, V. R. (1985). Quantitative evaluation of software methodology. College Park: University of Maryland.CrossRefGoogle Scholar
  7. Beck, K. (2004). Extreme programming explained: embrace change (2nd ed.). Addison-Wesley.Google Scholar
  8. Breyfogle, F. W. (1999). Implementing Six Sigma: smarter solutions using statistical methods. New York: Wiley.Google Scholar
  9. Broy, M., Kruger, I. H., Pretschner, A., & Salzmann, C. (2007). Engineering automotive software. Proceedings of the IEEE, 95(2), 2007.CrossRefGoogle Scholar
  10. 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.CrossRefGoogle Scholar
  11. Card, D. N. (1998). Learning from our mistakes with defect causal analysis. IEEE Softw., 15(1), 56–63.CrossRefGoogle Scholar
  12. 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.Google Scholar
  13. 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.
  14. Conradi, R., & Fugetta, A. (2002). Improving software process improvement. IEEE Software, 19(4), 92–100.CrossRefGoogle Scholar
  15. 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.CrossRefGoogle Scholar
  16. 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.zbMATHCrossRefGoogle Scholar
  17. Gorschek, T., & Wohlin, C. (2004). Packaging software process improvement issues—a method and a case study. Software: Practice & Experience, 34, 1311–1344.Google Scholar
  18. Gorschek, T., Wohlin, C. (2003). Identification of improvement issues using a lightweight triangulation approach. In: The European Software Process Improvement Conference. Graz. Austria.Google Scholar
  19. Grimm, K. (2003). Software technology in an automotive company—major challenges. In: Proc. of the 25th International Conference on Software Engineering, IEEE.Google Scholar
  20. Hoerl, R. W. (1998). Six Sigma and the future of the quality profession. Quality Progress, 31, 35–42.Google Scholar
  21. Humphrey, W. S. (1989). Managing the software process. Reading: Addison-Wesley.Google Scholar
  22. ISO/IEC Std. 15504 (1998–2005): Information technology-process assessment, part 1 to part 5, International Organization for Standardization.Google Scholar
  23. 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).Google Scholar
  24. Kotonya, G., & Sommerville, I. (1998). Requirements engineering: processes and techniques. New York: John Wiley.Google Scholar
  25. Kraut, R., & Streeter, L. A. (1995). Coordination in software development. Communications of the ACM, 38(3), 69–81.CrossRefGoogle Scholar
  26. Kuilboer, J. P., & Ashrafi, N. (2000). Software process and product improvement: an empirical assessment. Information and Software Technology, 42(1), 27–34.CrossRefGoogle Scholar
  27. 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.Google Scholar
  28. Mays, R. G. (1990). Applications of defect prevention in software development. IEEE Journal on Selected Areas in Communications, 8(2), 164–168.CrossRefGoogle Scholar
  29. Morgan, J., & Bering-Jones, M. (2009). Lean Six Sigma for dummies. Chichester: Wiley.Google Scholar
  30. Morgan, J. M., & Liker, J. K. (2006). The Toyota product development system: integrating people, process, and technology. New York: Productivity.CrossRefGoogle Scholar
  31. 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.Google Scholar
  32. 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.CrossRefGoogle Scholar
  33. 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.Google Scholar
  34. 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.CrossRefGoogle Scholar
  35. 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).Google Scholar
  36. 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.CrossRefGoogle Scholar
  37. 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.CrossRefGoogle Scholar
  38. 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.CrossRefGoogle Scholar
  39. Poppendieck, M., & Poppendieck, T. (2003). Lean software development: an agile toolkit. Addison-Wesley.Google Scholar
  40. Robson, C. (2002). Real world research: a resource for social scientists and practitioners-researchers (2nd ed.). Blackwell.Google Scholar
  41. Runesson, P., & Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering, 14(2), 131–164.CrossRefGoogle Scholar
  42. 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.Google Scholar
  43. Schwaber, K., & Beedle, M. (2001). Agile software development with Scrum. Upper Saddle River: Prentice Hall.Google Scholar
  44. 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.
  45. Sumantran, V. (2004). Accelerating product development in the automobile industry. Int. Journal of Manufacturing Technology and Management, 6(3/4), 361.CrossRefGoogle Scholar
  46. 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.CrossRefGoogle Scholar
  47. 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..Google Scholar
  48. Venkatesh Prasad, K., Broy, M., Krueger, I. (2010). Scanning advances in aerospace & automobile software technology. Proc. of the IEEE 2010; 98, 510–514.Google Scholar
  49. 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.CrossRefGoogle Scholar
  50. Wheelwright, S. C., & Clark, K. B. (1992). Revolutionizing product development-quantum leaps in speed, efficiency, and quality. New York: Free.Google Scholar
  51. Wilson, P. F., Dell, L. D., & Anderson, G. F. (1993). Root cause analysis—a tool for total quality management. Milwaukee: American Society for Quality.Google Scholar
  52. Yin, R. (2003). Case study research: design and methods (3rd ed.). Thousand Oaks: Sage Publications Inc..Google Scholar
  53. Zahran, S. (1998). Software process improvement: practical guidelines for business success. Reading: Addison-Wesley.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Volvo CarsGothenburgSweden
  2. 2.Chalmers University of TechnologyGothenburgSweden
  3. 3.Blekinge Institute of TechnologyKarlskronaSweden

Personalised recommendations