Unveiling the Landscape of System Thinking Modeling Tools Use in Software Engineering
Resumo
Context: Software organizations involve several processes, people, practices, culture, and other factors that affect their behavior. Understanding the organizational environment is crucial for improving processes and products. System Thinking (ST) provides several tools that help in this matter. ST views an organization as a system, comprising elements and interconnections coherently organized in a structure that produces a characteristic set of behaviors. Objective: Given ST’s successful application in different areas of industry and academia, and its potential to address Software Engineering (SE) problems, we decided to investigate how ST modeling tools have been used in SE. Our goal is to provide a panorama of the use of such tools in SE, identify gaps, and shine a light on research opportunities. Method: We carried out a systematic literature mapping, analyzing 700 publications. From these, we identified 10 publications addressing the use of ST modeling tools in SE and conducted an in-depth analysis by investigating the tools that have been used in SE, the ways of and purposes for using these tools, the SE processes that have been supported by them, and the difficulties and benefits that have been perceived when using such tools. Results: ST modeling tools have been employed to tackle SE issues in organizational contexts and to model and analyze the results of SE studies. Project Management and Requirements Engineering have been the most common processes in which these tools have been applied. ST modeling tools have helped get a holistic understanding of complex systems and identify strategies to address problematic behaviors that affect SE outcomes. Causal loop diagrams have been the predominant tool. The lack of necessary knowledge has been a challenge for using the tools. Conclusion: Using ST tools in SE holds promise. Nevertheless, they also suggest that ST modeling tools have been under-explored in this context. Hence, further investigation into their potential for enhancing SE products and processes is warranted.
Referências
Carina Andersson, Lena Karlsson, Josef Nedstam, Martin Host, and Bertil I Nilsson. 2002. Understanding software processes through system dynamics simulation: a case study. In Proceedings Ninth Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems. IEEE, 41–48. DOI: 10.1109/ECBS.2002.999821
Erika Asnina, Janis Osis, and Asnate Jansone. 2012. System thinking for formal analysis of domain functioning in the computation independent model. ENASE 2012 - Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering 2 (2012), 232–240. DOI: 10.5220/0004090602320240
Monalessa Perini Barcellos. 2020. Towards a Framework for Continuous Software Engineering. In Proceedings of the 34th Brazilian Symposium on Software Engineering (Natal, Brazil) (SBES ’20). Association for Computing Machinery, New York, NY, USA, 626–631. DOI: 10.1145/3422392.3422469
Stuart Burge. 2015. The systems thinking tool box. Burge, Hughes, Walsh (2015), 1–5.
Phoebe Mae Ching and Jose Edgar Mutuc. 2018. Evaluating agile and lean software development methods from a system dynamics perspective. In 2018 IEEE 10th International Conference on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM). IEEE, 1–6. DOI: 10.1109/HNICEM.2018.8666338
Paolo Ciancarini., Mirko Farina., Artem Kruglov., Giancarlo Succi., and Ananga Thapaliya. 2023. A Reflection on the Use of Systemic Thinking in Software Development. In Proceedings of the 18th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE. INSTICC, SciTePress, 521–529. DOI: 10.5220/0011963300003464
Luisanna Cocco, Katiuscia Mannaro, Giulio Concas, and Michele Marchesi. 2011. Simulating kanban and scrum vs. waterfall with system dynamics. Lecture Notes in Business Information Processing 77, 117–131. DOI: 10.1007/978-3-642-20677-1_9
Julia de Souza Borges, Thiago Felippe Neitzke Lahass, Paulo Sérgio Santos Júnior, Amanda Apolinario, and Monalessa P. Barcellos. 2024. Supplementary material of the study “Unveiling the Landscape of System Thinking Modeling Tools Use in Software Engineering". (2024). DOI: 10.6084/m9.figshare.25647963.v3
Paulo Sérgio dos Santos Júnior, Monalessa Perini Barcellos, and Rodrigo Fernandes Calhau. 2022. First step climbing the Stairway to Heaven Model-Results from a Case Study in Industry. Journal of Software Engineering Research and Development 10 (2022), 5–1. DOI: 10.5753/jserd.2021.1992
Manfred Drack and Wilfried Apfalter. 2007. Is Paul A. Weiss’ and Ludwig von Bertalanffy’s system thinking still valid today? Systems Research and Behavioral Science: The Official Journal of the International Federation for Systems Research 24, 5 (2007), 537–546. DOI: 10.1002/sres.855
M Fakhimi, D Robertson, and T Boness. [n.d.]. THE BASIC PRINCIPLES OF SYSTEMS THINKING AND SYSTEM DYNAMICS. ([n. d.]). DOI: 10.36819/SW21.003
Israt Fatema and Kazi Sakib. 2017. Factors Influencing Productivity of Agile Software Development Teamwork: A Qualitative System Dynamics Approach, In 24th Asia-Pacific Software Engineering Conference (APSEC). Proceedings - Asia-Pacific Software Engineering Conference, APSEC 2017-December, 737–742. DOI: 10.1109/APSEC.2017.95
Israt Fatema and Kazi Muheymin Us Sakib. 2017. Analyse agile software development teamwork productivity using qualitative system dynamics approach. ICSEA 2017 (2017), 71.
Omitted for sake of anonimization. [n.d.].
Tao Huang and Chih-Chiang Fang. 2022. Applying System Dynamics Approach for Optimizing Software Release Decisions. In 2022 2nd International Conference on Computation, Communication and Engineering (ICCCE). IEEE, 54–57. DOI: 10.1109/ICCCE55785.2022.10036236
P. John Sterman. 2000. Business Dynamics: Systems Thinking and Modeling for a Complex World with CD-ROM. McGraw-Hill Education.
DH Kim. 1993. System Archetypes I: Diagnosing Systemic Issues and Designing High-Leverage Interventions.
D.H. Kim. 2018. Introduction to System Thinking. Pegasus Communications. 1–21 pages.
B Kitchenham, L Madeyski, and D Budgen. 2022. Supplementary material for SEGRESS: Software engineering guidelines for REporting secondary studies. IEEE Transactions on Software Engineering (2022). DOI: 10.1109/TSE.2022.3174092
J Richard Landis and Gary G Koch. 1977. The measurement of observer agreement for categorical data. biometrics (1977), 159–174.
Donella H Meadows. 2008. Thinking in systems: A primer. chelsea green publishing.
Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64 (2015). DOI: 10.1016/j.infsof.2015.03.007
Paulo Sérgio dos Santos, Monalessa P Barcellos, and Rodrigo Fernandes Calhau. 2020. Am i going to heaven? first step climbing the stairway to heaven model results from a case study in industry. In Proceedings of the XXXIV Brazilian Symposium on Software Engineering. 309–318. DOI: 10.1145/3422392.3422406.
Mali Senapathi and Meghann L. Drury-Grogan. 2021. Systems Thinking Approach to Implementing Kanban: A case study. Journal of Software: Evolution and Process 33, 4 (2021), e2322. DOI: 10.1002/smr.2322 arXiv: [link].
John Sterman. 1994. Learning in and about complex systems. Systems Dynamics Review, 10, 1994. , 291–330 pages.
J. Sterman. 2010. Business Dynamics: Systems Thinking And Modeling For The Complex World. Tata McGraw Hill Education Private Limited. DOI: 10.1057/palgrave.jors.2601336
Roel Wieringa, Neil Maiden, Nancy Mead, and Colette Rolland. 2006. Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requirements engineering 11 (2006), 102–107. DOI: 10.1007/s00766-005-0021-6
DW Williams, Tracy Hall, and Michael Kennedy. 1999. A framework for improving the requirements engineering process management. Software Quality Journal 8 (1999), 133–147. DOI: 10.1023/A:1008956910828
Zhimin Zhao, ShouXi Deng, Yaofei Ma, Qiang Gao, and Na Zhao. 2023. Software project measurement based on the 5P model. Soft Computing 28 (2023), 1–23. DOI: 10.1007/s00500-023-09175-9