Abstract
Scrum is an agile process that incrementally, iteratively and continuously delivers software based on sprints. It is comprised of user stories stored in product backlogs and delivered through sprints by a Scrum team consisting of developers, a Scrum Master and a Product Owner. The performance of a Scrum team is largely dependent on the capabilities of team members and the technical practices they adopt. One such practice, pair programming has been studied in a variety of contexts but not extensively in a Scrum context. Pair programming is a technique where two programmers work side by side to design, code, and test their program.
A multi agent system is used to simulate a scrum environment where a team (with varying team members’ capability) work on delivering user stories (which consists of multiple tasks with varying complexities) in multiple sprints. Using this simulated environment, various strategies of compulsory pairing and voluntary pairing are investigated. Impact is measured based on the team’s work efficiency, completion time, effort time and idle time.
Experiments were performed to test these strategies in varying environments and results showed that a hybrid pairing strategy performed the best in fixed environments as it avoided negative pairing situations. An adaptive strategy (which changes strategy depending of the composition of the team and the tasks to be completed) performed best in the random setting as it was able to use the best strategy based on the current environment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
This is a slight variation from the Scrum setting where developers (including the Scrum Master) negotiate on which tasks they want to work on. In this implementation, we have made Scrum Master a coordinator agent to reduce communication threads between all the agents. However, all tasks are allocated based on the agents’ preferences.
References
Abar, S., Theodoropoulos, G.K., Lemarinier, P., O’Hare, G.M.P.: Agent based modelling and simulation tools: a review of the state-of-art software. Comput. Sci. Rev. 24, 13–33 (2017). https://doi.org/10.1016/j.cosrev.2017.03.001
Agarwal, R.: A flexible model for multi-agent based simulation of software development process. Auburn University (2007)
Agarwal, R., Umphress, D.: A flexible model for simulation of software development process. In: Paper presented at the Proceedings of the 48th Annual Southeast Regional Conference, Oxford, Mississippi (2010)
Ali, S., et al.: Multi-agent system using scrum methodology for software process management, Singapore (2019)
Alsalemi, A.M., Yeoh, E.: A survey on product backlog change management and requirement traceability in agile (Scrum). In: Paper presented at the 2015 9th Malaysian Software Engineering Conference (MySEC) (2015)
Argote, L., Fahrenkopf, E.: Knowledge transfer in organizations: The roles of members, tasks, tools, and networks. Organ. Behav. Hum. Decis. Process. 136, 146–159 (2016). https://doi.org/10.1016/j.obhdp.2016.08.003
Arisholm, E., Gallis, H., Dyba, T., Sjoberg, D.I.K.: Evaluating pair programming with respect to system complexity and programmer expertise. IEEE Trans. Softw. Eng. 33(2), 65–86 (2007). https://doi.org/10.1109/TSE.2007.17
Beck, K., Fowler, M.: Planning Extreme Programming (2001)
Bellifemine, F.: Develpoing Multi-Agent Systems with JADE (2007)
Boulahbel-Bachari, S., El Saadi, N.: Migration and self-selection: an agent-based model. In: Silhavy, Radek, Silhavy, Petr, Prokopova, Zdenka (eds.) Computational Statistics and Mathematical Modeling Methods in Intelligent Systems: Proceedings of 3rd Computational Methods in Systems and Software 2019, Vol. 2, pp. 288–303. Springer International Publishing, Cham (2019). https://doi.org/10.1007/978-3-030-31362-3_28
da Silva, F.Q.B., et al.: Team building criteria in software projects: a mix-method replicated study. Inf. Softw. Technol. 55(7), 1316–1340 (2013). https://doi.org/10.1016/j.infsof.2012.11.006
Dybå, T., Arisholm, E., Sjøberg, D.I.K., Hannay, J.E., Shull, F.: Are two heads better than one? on the effectiveness of pair programming. IEEE Softw. 24(6), 12–15 (2007). https://doi.org/10.1109/MS.2007.158
Gilbert, N., Troitzsch, K.G.: Simulation for the Social Scientist. Open University Press (2005)
Griffith, I., Taffahi, H., Izurieta, C., Claudio, D.: A simulation study of practical methods for technical debt management in agile software development. In: Paper presented at the Proceedings of the Winter Simulation Conference (2014)
Han, J., Liu, J., Lei, H.: Agent-based simulation of emergency response of urban oil and gas pipeline leakage. In: Paper presented at the Proceedings of the 11th International Conference on Computer Modeling and Simulation, North Rockhampton, QLD, Australia (2019)
Hannay, J., Dybå, T., Arisholm, E., Sjøberg, D.: The effectiveness of pair programming: a meta-analysis. Inf. Softw. Technol. 51(7), 1110–1122 (2009). https://doi.org/10.1016/j.infsof.2009.02.001
Hashimoto, A., Takata, K., Ito, N., Matoba, R., Tani, K., Maeda, Y.: Study of the influence of an obstacle on the evacuation behavior using multi-agent simulation where the intimate space around each agent is considered. In: Paper presented at the Proceedings of the 11th International Conference on Computer Modeling and Simulation, North Rockhampton, QLD, Australia (2019)
Ivanov, D., Kapustyan, S., Kalyaev, A., Korovin, I.: Decision support systems for the oil fields with cloud multiagent service. In: Silhavy, Radek, Silhavy, Petr, Prokopova, Zdenka (eds.) CoMeSySo 2019 2019. AISC, vol. 1047, pp. 16–23. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31362-3_3
Joslin, D., Poole, W.: Agent-based simulation for software project planning. Paper presented at the Proceedings of the Winter Simulation Conference (2005)
Jun, L.: Context-aware task allocation for distributed agile team. In: Paper presented at the Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, Silicon Valley, CA, USA (2013)
Jun, L.: Human Factors in Agile Software Development (2015). ArXiv, abs/1502.04170
Jun, L., Han, Y., Zhiqi, S.: An Empirical Analysis of Task Allocation in Scrum-based Agile Programming (2014). ArXiv, abs/1411.6201
Justice, J.: The 3–5–3 of Scrum (2018). https://www.scruminc.com/the-3-5-3-of-Scrum/
Kent, B., James, G., Robert, C.M.: Manifesto for Agile Software Development (2020). https://agilemanifesto.org/
Košinár, M., Štrba, R.: Simulations of agile software processes for healthcare information systems development based on machine learning methods. IFAC Proc. Vol. 46(28), 175–180 (2013). https://doi.org/10.3182/20130925-3-CZ-3023.00028
Lin, J., Han, Y., Zhiqi, S., Chunyan, M.: Studying task allocation decisions of novice agile teams with data from agile project management tools. In: Paper presented at the Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, Vasteras, Sweden (2014)
Lin, M., Zhang, Q.: Time scales of knowledge transfer with learning and forgetting. Physica A 525, 704–713 (2019). https://doi.org/10.1016/j.physa.2019.03.084
Lui, K., Chan, K.: Pair programming productivity: Novice–novice vs. expert–expert. Int. J. Hum.-Comput. Stud. 64(9), 915–925 (2006). https://doi.org/10.1016/j.ijhcs.2006.04.010
Lunesu, M.I., Münch, J., Marchesi, M., Kuhrmann, M.: Using simulation for understanding and reproducing distributed software development processes in the cloud. Inf. Softw. Technol. 103, 226–238 (2018). https://doi.org/10.1016/j.infsof.2018.07.004
Macal, C.M., North, M.J.: Tutorial on agent-based modeling and simulation PART 2: how to model with agents. In: Paper presented at the Proceedings of the 2006 Winter Simulation Conference (2006)
Macal, C.M., North, M.J.: Agent-based modeling and simulation: ABMS examples. In: Paper presented at the Proceedings of the 40th Conference on Winter Simulation, Miami, Florida (2008)
Mahnič, V., Hovelja, T.: On using planning poker for estimating user stories. J. Syst. Softw. 85(9), 2086–2095 (2012). https://doi.org/10.1016/j.jss.2012.04.005
Masood, Z., Hoda, R., Blincoe, K.: Motivation for self-assignment: factors agile software developers consider. In: Paper presented at the 2017 IEEE/ACM 10th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE) (2017)
Mehmood, S., Ahmed, S., Kristensen, A.S.: Application of integrated model of evacuation psychology in an agent-based simulation. In: Paper presented at the Proceedings of the 11th International Conference on Computer Modeling and Simulation, North Rockhampton, QLD, Australia (2019)
Nadler, D., Hackman, J.R., Lawler, E.E.: Managing organizational behavior (1979)
Nilsson, K.: Increasing quality with pair programming - an investigation of using pair programming as a quality tool (2003)
Noori, F., Kazemifard, M.: Simulation of pair programming using multi-agent and MBTI personality model. In: Paper presented at the 2015 Sixth International Conference of Cognitive Science (ICCS) (2015)
Orłowski, C., Bach-Dąbrowska, I., Kapłański, P., Wysocki, W.: Hybrid fuzzy-ontological project framework of a team work simulation system. Procedia Comput. Sci. 35, 1175–1184 (2014). https://doi.org/10.1016/j.procs.2014.08.214
Phillips, J.: Team-RUP: an agent-based simulation study of team behavior in software development organizations (2006)
Plonka, L., Sharp, H., van der Linden, J., Dittrich, Y.: Knowledge transfer in pair programming: an in-depth analysis. Int. J. Hum. Comput. Stud. 73, 66–78 (2015). https://doi.org/10.1016/j.ijhcs.2014.09.001
Ramanujam, R., Lee, I.: Collaborative and competitive strategies for agile scrum development. Paper presented at the The 7th International Conference on Networked Computing and Advanced Information Management (2011)
Schwaber, K., Sutherland, J.: The Scrum Guide (2017)
Silva, I.J.D., Rayadurgam, S., Heimdahl, M.P.E.: A reference model for simulating agile processes. In: Paper presented at the Proceedings of the 2015 International Conference on Software and System Process, Tallinn, Estonia (2015)
Song, H., et al.: Development and validation of the primary care team dynamics survey. Health Serv. Res. 50(3), 897–921 (2015). https://doi.org/10.1111/1475-6773.12257
Stober, T., Hansmann, U.: Considerations on teaming and leadership. in agile software development: best practices for large software development projects, pp. 75–92. Springer, Heidelberg
Tamburri, D.A., Razo-Zapata, I.S., Fernández, H., Tedeschi, C.: Simulating awareness in global software engineering: a comparative analysis of Scrum and Agile Service Networks. In: Paper presented at the 2012 4th International Workshop on Principles of Engineering Service-Oriented Systems (PESOS) (2012)
Tyrychtr, J., Pelikán, M., Kvasnička, R., Ander, V., Benda, T., Vrana, I.: Multi-agent system in smart econometric environment. In: Silhavy, Radek, Silhavy, Petr, Prokopova, Zdenka (eds.) CoMeSySo 2019 2019. AISC, vol. 1046, pp. 434–442. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-30329-7_38
Wang, X., Wang, J., Zhang, R.: The optimal feasible knowledge transfer path in a knowledge creation driven team. Data Knowl. Eng. 119, 105–122 (2019). https://doi.org/10.1016/j.datak.2019.01.002
William, R., Uri, W.: An introduction to agent-based modeling: modeling natural, social, and engineered complex systems with NetLogo (2015)
Williams, L., Kessler, R.R., Cunningham, W., Jeffries, R.: Strengthening the case for pair programming. IEEE Softw. 17(4), 19–25 (2000). https://doi.org/10.1109/52.854064
Wooldridge, M., Jennings, N.: Agent theories, architectures, and languages: a survey. In: Wooldridge, Michael J., Jennings, Nicholas R. (eds.) ATAL 1994. LNCS, vol. 890, pp. 1–39. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58855-8_1
Yilmaz, L., Phillips, J.: The impact of turbulence on the effectiveness and efficiency of software development teams in small organizations. Softw. Process Improve. Pract. 12(3), 247–265 (2007). https://doi.org/10.1002/spip.318
Zhen, Y., Wanpeng, Z., Hongfu, L.: Artificial intelligence techniques on real-time strategy games. In: Paper presented at the Proceedings of the 2018 2nd International Conference on Computer Science and Artificial Intelligence, Shenzhen, China (2018)
Zieris, F., Prechelt, L.: On knowledge transfer skill in pair programming. In: Paper presented at the Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, Torino, Italy (2014)
Zualkernan, I.A., Darmaki, H.A., Shouman, M.: A methodology for building simulation-based e-learning environments for Scrum. In: Paper presented at the 2008 International Conference on Innovations in Information Technology (2008)
Acknowledgments
Sincerely, Thanks for Dr Patricia Anthony and Dr. Stuart Charters at Lincoln University, New Zealand to support this PhD research, also thanks for Pro. Guojian Cheng at Xi’an Petroleum University, China. Dr Gang Li at Deakin University, Australia and Professor Longbing Cao at University of Technology Sydney provides funding in the related data analysis and machine learning research which I was doing my invited research at UTS, Australia. I also thanks to Edinburgh Napier University, United Kingdom where I get my MSc in Advanced Software Engineering. They are all my best Supervisors support me to growth and become more and more professional.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Wang, Z. (2021). Multi-agent Simulation of Agile Team Dynamics: Experiments on Team Strategies Comparisons. In: Silhavy, R., Silhavy, P., Prokopova, Z. (eds) Software Engineering Application in Informatics. CoMeSySo 2021. Lecture Notes in Networks and Systems, vol 232. Springer, Cham. https://doi.org/10.1007/978-3-030-90318-3_24
Download citation
DOI: https://doi.org/10.1007/978-3-030-90318-3_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-90317-6
Online ISBN: 978-3-030-90318-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)