Advertisement

Software Quality Journal

, Volume 22, Issue 4, pp 593–609 | Cite as

An empirically validated simulation for understanding the relationship between process conformance and technology skills

  • Santiago MatalongaEmail author
  • Martín Solari
  • Tomás San Feliu
Article

Abstract

Software development is a fast-paced environment where developers need constant update to ever-changing technologies. Furthermore, process improvement initiatives have been proven useful in increasing the productivity of a software organization. As such, these organizations need to decide where to invest their training budget. As a result, training in technological update to their workforce or training in process conformance with its productive processes become conflicting alternatives. This paper presents a system dynamics simulation of a software factory product line. The objective of this simulation is to understand the changes in behavior when selecting either one of the above-training alternatives. The system dynamics model was validated with an expert panel, and the simulation results have been empirically validated—using statistical process control—against the performance baseline of a real software development organization. With the simulation under statistical control and performing like the baseline, the independent variables representing process conformance (process training) and technology skills (skills training) were modified to study their impact on product defects and process stability. Our results show that while both variables have positive impact on defects and process stability, investment in process training results in a process with less variation and with fewer defects.

Keywords

Simulation Software process improvement Statistical process control System dynamics 

Supplementary material

11219_2013_9214_MOESM1_ESM.pdf (413 kb)
Supplementary material 1 (PDF 412 kb)

References

  1. Abdel-Hamid, T., & Madnick, S. (1991). Software project dynamics: An integrated approach. New Jersey: Prentice Hall PTR.Google Scholar
  2. Albrecht, A. J. (1983). Software function, source lines of code, and development effort prediction: A software science validation. IEEE Transactions on Software Engineering, 9(6), 639–648.CrossRefGoogle Scholar
  3. Anderson, D. (2003). Agile management for software engineering: Applying the theory of constraints for business results. In P. Coad (Ed.), Coad series on software engineering. New Jersey: Prentice Hall PTR.Google Scholar
  4. Barros, M. O., Werner, C. M. L., & Travassos, G. H. (2000). Using process modeling and dynamic simulation to support software process quality management. XIV Simpósio Brasileiro de Engenharia de Software, Workshop de Qualidade de Software. João Pessoa: SBC.Google Scholar
  5. CMMI Product Team. (2010). CMMI for Development, Version 1.3. Improving processes for developing better products and services. Software Engineering Institute.Google Scholar
  6. Cocco, L., Mannaro, K., Concas, G., & Marchesi, M. (2011). Simulating Kanban and scrum versus waterfall with system dynamics. 12th International conference agile processes in software engineering and extreme programming, Madrid 2011. doi: 10.1007/978-3-642-20677-1_9.
  7. Feller, W. (1968). An introduction to the probability theory and its applications. New York: Wiley.Google Scholar
  8. Florac, W. A., Park, R. E., & Carleton, A. (1997). Practical software measurement: measuring for process management and improvement (CMU/SEI-97-HB-003). Pittsburgh: Software Engineering Institute. Retrieved from http://www.sei.cmu.edu/library/abstracts/reports/97hb003.cfm.
  9. Forrester, J. W. (1969). Urban dynamics. Waltham, MA: Pegasus Communications.Google Scholar
  10. IEEE. (1990). IEEE STD 610.12-1990. Standard glossary of software engineering terminology. (Institute of Electrical and Electronics Engineers, (Ed) IEEE STD 610.12-1990.Google Scholar
  11. ISO. (2008). ISO 9001:2008(E). Quality management systemsrequirements. (International Standards Organization, Ed).Google Scholar
  12. ISO. (2012). ISO 19011:2012—quality management system auditing. (International Standards Organization, Ed).Google Scholar
  13. Kellner, M. I. (1999). Software process simulation modeling: Why? What? How? Journal of Systems and Software, 46(2–3), 91–105. doi: 10.1016/S0164-1212(99)00003-5.CrossRefGoogle Scholar
  14. Madachy, R. J. (2008). Software process dynamics. New Jersey: Wiley-IEEE Press.CrossRefGoogle Scholar
  15. Matalonga, S., & San Feliu, T. (2009). Using defects to account for the investment in support process areas. Europe SEPG 09. Prague, Czech Republic.Google Scholar
  16. Matalonga, S., & San Feliu, T. (2010). Using process and product quality assurance audits to measure process business alignment. International conference of software and systems engineering and their applications. Paris, France.Google Scholar
  17. Müller, M., & Pfahl, D. (2008). Simulation methods. In F. Shull, J. Singer, & D. I. K. Sjoberg (Eds.), Guide to advances empirical software engineering. Lysaker, Norway: Springer.Google Scholar
  18. Pfahl, D., Klemm, M., & Ruhe, G. (2001). A CBT module with integrated simulation component for software project management education and training. Journal of Systems and Software, 59(3), 283–298. doi: 10.1016/S0164-1212(01)00069-3.CrossRefGoogle Scholar
  19. Pfahl, D., & Lebsanft, K. (1999). Integration of system dynamics modelling with descriptive process modelling and goal-oriented measurement. Journal of Systems and Software, 46(2–3), 135–150. doi: 10.1016/S0164-1212(99)00007-2.CrossRefGoogle Scholar
  20. Pyzdek, T. (2003). The six sigma handbook: The complete guide for greenbelts, blackbelts, and managers at all levels (2nd ed.). New York: McGraw-Hill.Google Scholar
  21. Schwaninger, M., & Grösser, S. (2008). System dynamics as model-based theory building. Systems Research and Behavioral Science, 25, 447–465. doi: 10.1002/sres.914.CrossRefGoogle Scholar
  22. Senge, P. (2006). The fifth discipline: The art and practice of the learning organization (1st ed.). New York: Broadway Books.Google Scholar
  23. Shewhart, W. (1980). Economic Control of Quality of Manufactured Product. American Society for Quality.Google Scholar
  24. Software Engineering Institute. (2011). CMMI ® for SCAMPI class A appraisal results 2011 mid-year update. (S. E. Institute) CMMI Maturity Profile. Pittsburgh: Carnegie Mellon University. Retrieved from http://www.sei.cmu.edu/cmmi/casestudies/profiles/pdfs/upload/2011SeptCMMI-2.pdf.
  25. Wohlin, C., Höst, M., Runeson, P., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2000). Experimentation in software engineering: An introduction. Norwell, Massachusetts: Kluwer Academic Publishers.CrossRefGoogle Scholar
  26. Zhang, H., Kitchenham, B. A., & Pfahl, D. (2008a). Software process simulation modeling: Facts, trends and directions. ASPEC’08 15th Asia Pasific Software engineering Conference, (pp. 59–66). Beijing: IEEE. doi: 10.1109/APSEC.2008.50.
  27. Zhang, H., Kitchenham, B., & Pfahl, D. (2008b). Reflections on 10 years of software process simulation modeling: A systematic review. In Q. Wang, D. Pfahl, & D. Raffo (Eds.), Making globally distributed software development a success story (Vol. 5007, pp. 345–356). Berlin, Heidelberg: Springer. doi: 10.1007/978-3-540-79588-9_30.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Santiago Matalonga
    • 1
    Email author
  • Martín Solari
    • 1
  • Tomás San Feliu
    • 2
  1. 1.Facultad de IngenieríaUniversidad ORT UruguayMontevideoUruguay
  2. 2.Facultad de InformáticaUniversidad Politécnica de MadridMadridSpain

Personalised recommendations