An empirically validated simulation for understanding the relationship between process conformance and technology skills
- 270 Downloads
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.
KeywordsSimulation Software process improvement Statistical process control System dynamics
- Abdel-Hamid, T., & Madnick, S. (1991). Software project dynamics: An integrated approach. New Jersey: Prentice Hall PTR.Google Scholar
- 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
- 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
- CMMI Product Team. (2010). CMMI for Development, Version 1.3. Improving processes for developing better products and services. Software Engineering Institute.Google Scholar
- 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.
- Feller, W. (1968). An introduction to the probability theory and its applications. New York: Wiley.Google Scholar
- 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.
- Forrester, J. W. (1969). Urban dynamics. Waltham, MA: Pegasus Communications.Google Scholar
- 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
- ISO. (2008). ISO 9001:2008(E). Quality management systems—requirements. (International Standards Organization, Ed).Google Scholar
- ISO. (2012). ISO 19011:2012—quality management system auditing. (International Standards Organization, Ed).Google Scholar
- 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
- 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
- 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
- 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
- Senge, P. (2006). The fifth discipline: The art and practice of the learning organization (1st ed.). New York: Broadway Books.Google Scholar
- Shewhart, W. (1980). Economic Control of Quality of Manufactured Product. American Society for Quality.Google Scholar
- 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.
- 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.
- 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