A Reliability-Focused Adaptation of Scrum: An Empirical Study on Software Reliability in Agile Teams
محورهای موضوعی : پردازش چند رسانه ای، سیستمهای ارتباطی، سیستمهای هوشمند
1 - Associate Professor, Department of Computer Science, Faculty of Mathematical Sciences, Shahrekord University, Shahrekord, Iran
کلید واژه: Agile Software Development, Software Reliability, Scrum, Case Study,
چکیده مقاله :
Software products should be reliable enough to gain customer satisfaction. Paying more attention to the development of highly reliable software products requires additional time and effort in software projects, often leading to increased development overhead. This issue presents a challenge when employing Agile methods, which prioritize flexibility and rapid iterations. While Agile methodologies emphasize adaptability, integrating extra practices to ensure objective reliability remains a critical concern. In recent years, the demand for high-quality and failure-resistant software has significantly increased, necessitating new strategies to incorporate reliability engineering into Agile frameworks. Given the growing complexity of modern software systems, achieving a balance between agility and reliability is crucial for software development teams.
This paper investigates the combination of Scrum, the most widely adopted Agile method, with software reliability engineering (SRE) practices. The study evaluates the additional cost of implementing reliability-focused practices in a Scrum-based project through a case study. A comprehensive analysis was conducted to assess the impact of these practices on project timelines, software defects, and overall team performance. The study also examined the extent to which reliability-focused modifications influence team productivity and customer satisfaction. The results indicate that the modifications made to Scrum led to approximately 3.9% higher human effort. However, the integration of SRE practices significantly reduced the number of failures and rework occurrences, demonstrating the effectiveness of the proposed approach. Moreover, the study highlights the importance of structured reliability assessment techniques, which can aid teams in proactively identifying and mitigating potential software failures before product deployment.
These findings suggest that, despite a marginal increase in project cost, the enhanced reliability justifies the investment. The proposed methodology can serve as a model for Agile teams seeking to improve software quality while maintaining development speed and flexibility. This study highlights the potential of balancing agility and reliability in software development, offering valuable insights for Agile teams aiming to improve software quality without compromising efficiency.
Software products should be reliable enough to gain customer satisfaction. Paying more attention to the development of highly reliable software products requires additional time and effort in software projects, often leading to increased development overhead. This issue presents a challenge when employing Agile methods, which prioritize flexibility and rapid iterations. While Agile methodologies emphasize adaptability, integrating extra practices to ensure objective reliability remains a critical concern. In recent years, the demand for high-quality and failure-resistant software has significantly increased, necessitating new strategies to incorporate reliability engineering into Agile frameworks. Given the growing complexity of modern software systems, achieving a balance between agility and reliability is crucial for software development teams.
This paper investigates the combination of Scrum, the most widely adopted Agile method, with software reliability engineering (SRE) practices. The study evaluates the additional cost of implementing reliability-focused practices in a Scrum-based project through a case study. A comprehensive analysis was conducted to assess the impact of these practices on project timelines, software defects, and overall team performance. The study also examined the extent to which reliability-focused modifications influence team productivity and customer satisfaction. The results indicate that the modifications made to Scrum led to approximately 3.9% higher human effort. However, the integration of SRE practices significantly reduced the number of failures and rework occurrences, demonstrating the effectiveness of the proposed approach. Moreover, the study highlights the importance of structured reliability assessment techniques, which can aid teams in proactively identifying and mitigating potential software failures before product deployment.
These findings suggest that, despite a marginal increase in project cost, the enhanced reliability justifies the investment. The proposed methodology can serve as a model for Agile teams seeking to improve software quality while maintaining development speed and flexibility. This study highlights the potential of balancing agility and reliability in software development, offering valuable insights for Agile teams aiming to improve software quality without compromising efficiency.
[1] VersionOne, "14 annual state of Agile report," 2020. Accessed: June 2020. [Online]. Available: https://stateofagile.com/#ufh-c-7027494-state-of-agile
[2] T. J. Gandomani and M. Z. Nafchi, "Agile transition and adoption human-related challenges and issues: A Grounded Theory approach," Computers in Human Behavior, vol. 62, pp. 257-266, 2016.
[3] T. J. Gandomani, H. Zulzalil, A. A. A. Ghani, A. M. Sultan, and M. Z. Nafchi, "Obstacles to moving to agile software development; at a glance," Journal of Computer Science, vol. 9, no. 5, pp. 620-625, 2013, doi: 10.3844/jcssp.2013.620.625.
[4] D. A. Lawong and O. Akanfe, "Overcoming team challenges in project management: The scrum framework," Organizational Dynamics, p. 101073, 2024.
[5] T. Javdani Gandomani and M. Ziaei Nafchi, "An empirically-developed framework for Agile transition and adoption: A Grounded Theory approach," Journal of Systems and Software, vol. 107, pp. 204-219, 2015, doi: 10.1016/j.jss.2015.06.006.
[6] B. A. A. Ammourah and S. A. Pitchay, "Challenges of Applying Scrum Model and Knowledge Management for Software Product Management," in RITA 2018: Springer, 2020, pp. 123-130.
[7] Q. Li and H. Pham, "A generalized software reliability growth model with consideration of the uncertainty of operating environments," IEEE Access, vol. 7, pp. 84253-84267, 2019.
[8] P. Roy, G. S. Mahapatra, and K. N. Dey, "Forecasting of software reliability using neighborhood fuzzy particle swarm optimization based novel neural network," IEEE/CAA Journal of Automatica Sinica, vol. 6, no. 6, pp. 1365-1383, 2019.
[9] U. Samal and A. Kumar, "Metrics and trends: a bibliometric approach to software reliability growth models," Total Quality Management & Business Excellence, vol. 35, no. 11-12, pp. 1274-1295, 2024.
[10] Y.-S. Huang, K.-C. Chiu, and W.-M. Chen, "A software reliability growth model for imperfect debugging," Journal of Systems and Software, vol. 188, p. 111267, 2022.
[11] J. D. Musa, Software reliability engineering: more reliable software, faster and cheaper. Tata McGraw-Hill Education, 2004.
[12] S. Khurshid, A. Shrivastava, and J. Iqbal, "Effort based software reliability model with fault reduction factor, change point and imperfect debugging," International Journal of Information Technology, pp. 1-10, 2019.
[13] G. Islam and T. Storer, "A case study of agile software development for safety-Critical systems projects," Reliability Engineering & System Safety, p. 106954, 2020.
[14] P. Sharma and A. L. Sangal, "Soft Computing Approaches to Investigate Software Fault Proneness in Agile Software Development Environment," in Applications of Machine Learning: Springer, 2020, pp. 217-233.
[15] M. F. M. Fudzee and J. Wadata, "A Mechanism to Support Agile Frameworks Enhancing Reliability Assessment for SCS Development: A Case Study of Medical Surgery Departments," in Recent Advances on Soft Computing and Data Mining: Proceedings of the Fourth International Conference on Soft Computing and Data Mining (SCDM 2020), Melaka, Malaysia, January 22– 23, 2020, 2019, vol. 978: Springer Nature, p. 66.
[16] S. Ali, Y. Hafeez, S. Hussain, and S. Yang, "Enhanced regression testing technique for agile software development and continuous integration strategies," Software Quality Journal, pp. 1-27, 2019.
[17] K. Beck, A. Cockburn, R. Jeffries, and J. Highsmith. "Agile manifesto." http://www.agilemanifesto.org (accessed Feb. 2020. [18] S. Dwivedi and N. K. Goyal, "Effect of Fault Correction Delay on Software Relia
bility Modelling in Agile Software Development," in International Conference on Reliability, Safety, and Hazard, 2024: Springer, pp. 795-802.
[19] K. Schwaber, "Scrum development process," in Business object design and implementation: Springer, 1997, pp. 117-134.
[20] M. Cohn, Succeeding with Agile: Software Development Using Scrum. Boston, MA: Addison-Wesley Professional, 2009.
[21] M. Hron and N. Obwegeser, "Why and how is Scrum being adapted in practice: A systematic review," Journal of Systems and Software, vol. 183, p. 111110, 2022.
[22] ANSI/IEEE, "Standard Glossary of Software Engineering Terminology," 1991.
[23] M. R. Lyu, Handbook of software reliability engineering. IEEE computer society press CA, 1996.
[24] K. Sahu and R. Srivastava, "Revisiting software reliability," in Data Management, Analytics and Innovation: Springer, 2019, pp. 221-235.
[25] U. Samal and A. Kumar, "Empowering software reliability: Leveraging efficient fault detection and removal efficiency," Quality Engineering, vol. 37, no. 1, pp. 118-129, 2025.
[26] W. D. Van Driel, J. W. Bikker, M. Tijink, and A. Di Bucchianico, "Software reliability for agile testing," Mathematics, vol. 8, no. 5, p. 791, 2020.
[27] N. Barraza, "Software Reliability Modeling for Dynamic Development Environments," in Recent Advancements in Software Reliability Assurance: CRC Press, 2019, pp. 29-37.
[28] P. Jain, A. Sharma, and L. Ahuja, "A customized quality model for software quality assurance in agile environment," International Journal of Information Technology and Web Engineering (IJITWE), vol. 14, no. 3, pp. 64-77, 2019.
[29] S. Rawat, N. Goyal, and M. Ram, "Software reliability growth modeling for agile software development," International Journal of Applied Mathematics and Computer Science, vol. 27, no. 4, pp. 777-783, 2017.
[30] S. Munawar, R. Yousaf, and M. Hamid, "Extended Scrum Process Model Using Software Reliability Engineering Concerns," Journal of Information Communication Technologies and Robotic Applications, pp. 1-10, 2018.
[31] M. Esteki, T. Javdani Gandomani, and H. Khosravi Farsani, "A Risk Management Framework for Distributed Scrum using PRINCE2 Methodology," Bulletin of Electrical Engineering and Informatics, vol. 9, no. 3, 2020.
[32] M. Mousaei and T. Javdani Gandomani, "A new project risk management model based on scrum framework and Prince2 methodology," International Journal of Advanced Computer Science and Applications, vol. 9, no. 4, pp. 442-449, 2018, doi: 10.14569/IJACSA.2018.090461.
[33] M. Afshari and T. J. Gandomani, "A novel risk management model in the Scrum and extreme programming hybrid methodology," International Journal of Electrical & Computer Engineering (2088-8708), vol. 12, no. 3, pp. 2911-2921, 2022, doi: 10.11591/ijece.v12i3.