Solving Agile Software Development Problems with Swarm Intelligence Algorithms

  • Lucija BrezočnikEmail author
  • Iztok FisterJr.
  • Vili Podgorelec
Conference paper
Part of the Lecture Notes in Networks and Systems book series (LNNS, volume 76)


This paper outlines a short overview of swarm intelligence algorithms that are used within the software engineering area. Swarm intelligence algorithms have been used in many software engineering tasks, e.g., grammatical inference or mutation testing. However, their presence in the agile software development field is still awakening. As there are some promising results of solving different problems of agile software development with swarm intelligence, this paper discusses such problems and the proposed solutions within the last decade. Based on the results we propose a systematic classification of swarm intelligence algorithms according to problems within agile software development, i.e., next release problem, risk, software design, software cost estimation, and software effort estimation. Afterwards, we present papers that fall in the scope of the proposed classification, and provide highlights of each paper for researchers, conducting research in this and associated fields. In this manner, we provide some conclusions for each of the classified problem groups, and, in the end, we review the guidelines for the future.


Agile software development Swarm intelligence Optimization Search-based software engineering 



The authors acknowledge the financial support from the Slovenian Research Agency (Research Core Funding No. P2-0057).


  1. 1.
    Agrawal, R., Singh, D., Sharma. A.: Prioritizing and optimizing risk factors in agile software development. In: 2016 Ninth International Conference on Contemporary Computing (IC3), pp. 1–7 (2016)Google Scholar
  2. 2.
    Aloka, S., Singh, P., Rakshit, G., Srivastava, P.R.: Test Effort Estimation-Particle Swarm Optimization Based Approach, pp. 463–474. Springer, Heidelberg (2011)Google Scholar
  3. 3.
    Azzeh, M.: Adjusted Case-Based Software Effort Estimation Using Bees Optimization Algorithm, pp. 315–324. Springer, Heidelberg (2011)Google Scholar
  4. 4.
    Beniand, G., Wang, J.: Swarm Intelligence in Cellular Robotic Systems, pp. 703–712. Springer, Heidelberg (1993)Google Scholar
  5. 5.
    Brezočnik, L., Fister, I., Podgorelec, V.: Scrum task allocation based on particle swarm optimization. In: Korošec, P., Melab, N., Talbi, E.-G. (eds.) Bioinspired Optimization Methods and Their Applications, pp. 38–49. Springer International Publishing, Cham (2018)CrossRefGoogle Scholar
  6. 6.
    Brezočnik, L., Podgorelec, V.: Applying weighted particle swarm optimization to imbalanced data in software defect prediction. In: Karabegović, I. (ed.) New Technologies, Development and Application, pp. 289–296. Springer International Publishing, Cham (2019)CrossRefGoogle Scholar
  7. 7.
    Brezočnik, L., Fister, I., Podgorelec, V.: Swarm intelligence algorithms for feature selection: a review. Appl. Sci. 8(9) (2018)CrossRefGoogle Scholar
  8. 8.
    Chaves-González, J.M., Pérez-Toledano, M.A., Navasa, A.: Software requirement optimization using a multiobjective swarm intelligence evolutionary algorithm. Knowl.-Based Syst. 83, 105–115 (2015)CrossRefGoogle Scholar
  9. 9.
    de Souza, J.T., Maia, C.L.B., do Nascimento Ferreira, T., de do Carmo, R.A.F., de Brasil, M.M.A.: An AntColony Optimization Approach to the Software Release Planning with Dependent Requirements, pp. 142–157. Springer, Heidelberg (2011)Google Scholar
  10. 10.
    delSagrado, J., del Águila, I.M., Orellana, F.J.: Multi-objective ant colony optimization for requirements selection. Empirical Softw. Eng. 20(3), 577–610 (2015)CrossRefGoogle Scholar
  11. 11.
    do Nascimento Ferreira, T., Arajo, A.A., Neto, A.D.B., de Souza, J.T.: J.T.: Incorporating user preferences in ant colony optimization for the next release problem. Appl. Soft Comput. 49, 1283–1296 (2016)CrossRefGoogle Scholar
  12. 12.
    Harman, M.: The current state and future of search based software engineering. In: 2007 Future of Software Engineering, pp. 342–357. IEEE Computer Society (2007)Google Scholar
  13. 13.
    Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Trans. Softw. Eng. 37(5), 649–678 (2011)CrossRefGoogle Scholar
  14. 14.
    Jiang, H., Zhang, J., Xuan, J., Ren, Z., Hu, Y.: A hybrid ACO algorithm for the next release problem. In: The 2nd International Conference on Software Engineering and Data Mining, pp. 166–171. IEEE (2010)Google Scholar
  15. 15.
    Jiang, J.-J., Yang, X., Yin, M.: Cooperative control model of geographically distributed multi-team agile development based on MO-CSO. In: Proceedings of the 2nd International Conference on E-Education, E-Business and E-Technology, ICEBT 2018, pp. 121–125, New York, NY, USA. ACM (2018)Google Scholar
  16. 16.
    Kaushik, A., Verma, S., Singh, H.J., Chhabra, G.: Software cost optimization integrating fuzzy system and COA-Cuckoo optimization algorithm. Int. J. Syst. Assur. Eng. Manag. 8(2), 1461–1471 (2017)CrossRefGoogle Scholar
  17. 17.
    KhatibiBardsiri, V., Jawawi, D.N.A., Hashim, S.Z.M., Khatibi, E.: A PSO-based modelto increase the accuracy of software development effort estimation. Softw. Qual. J. 21(3), 501–526 (2013)CrossRefGoogle Scholar
  18. 18.
    Khuat, T., Le. M.: A Novel Hybrid ABC-PSO algorithm for effort estimation of software projects using agile methodologies. J. Intell. Syst. 1–18 (2017)Google Scholar
  19. 19.
    Khuat, T., My Hanh, L.: Applying teaching-learning to artificial bee colony for parameter optimization of software effort estimation model. J. Eng Sci. Technol 12(5), 1178–1190 (2017)Google Scholar
  20. 20.
    Manga, I., Blamah, N.: A particle swarm optimization-based framework for agile software effort estimation. Int. J. Eng. Sci. (IJES) 3, 30–36 (2014)Google Scholar
  21. 21.
    Mernik, M., Hrnčič, D., Bryant, B.R., Sprague, A.P., Gray, J., Liu, Q., Javed, F.: Grammar inference algorithms and applications in software engineering. In: 2009 XXII International Symposium on Information, Communication and Automation Technologies. ICAT 2009, pp. 1–7. IEEE (2009)Google Scholar
  22. 22.
    Prasad Reddy, P.V.G.D., Hari, C.V.M.K.: Fuzzy Based PSO for Software Effort Estimation, pp. 227–232. Springer, Heidelberg (2011)Google Scholar
  23. 23.
    Ranjith, N., Marimuthu, A.: A multi objective teacher-learning-artificial bee colony(MOTLABC) optimization for software requirements selection. Indian J. Sci.Technol. 6 (2016)Google Scholar
  24. 24.
    Rao, G.S., Krishna, C.V.P., Rao, K.R.: Multi Objective Particle Swarm Optimization for Software Cost Estimation, pp. 125–132. Springer International Publishing (2014)Google Scholar
  25. 25.
    Simons, C.L., Smith, J., White, P.: Interactive ant colony optimization (iACO) for early lifecycle software design. Swarm Intell. 8(2), 139–157 (2014)CrossRefGoogle Scholar
  26. 26.
    Sörensen, K.: Metaheuristics–the metaphor exposed. Int. Trans. Oper. Res. 22(1), 3–18 (2013). Scholar
  27. 27.
    Srivastava, P.R., Varshney, A., Nama, P., Yang, X.-S.: Software test effort estimation: a model based on cuckoo search. Int. J. Bio-Inspired Comput. 4(5), 278–285 (2012)CrossRefGoogle Scholar
  28. 28.
    Venkataiah, V., Mohanty, R., Pahariya, J.S., Nagaratna, M.: Application of Ant Colony Optimization Techniques to Predict Software Cost Estimation, pp. 315–325. Springer, Singapore (2017)Google Scholar
  29. 29.
    VersionOne. VersionOne 12th Annual State of Agile Report (2018)Google Scholar
  30. 30.
    Wu, D., Li, J., Liang, Y.: Linear combination of multiple case-based reasoning with optimized weight for software effort estimation. J. Supercomput. 64(3), 898–918 (2013)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Lucija Brezočnik
    • 1
    Email author
  • Iztok FisterJr.
    • 1
  • Vili Podgorelec
    • 1
  1. 1.Faculty of Electrical Engineering and Computer ScienceUniversity of MariborMariborSlovenia

Personalised recommendations