OPTIMIZATION OF PROGRAMMING TEAMS ON COMPATIBILITY OF PROGRAMMERS

UDC 004.4-004.9

 

Prihozhy Anatoly Alekseevich − DSc (Engineering), Professor, Professor, the Department of Computer and System Software. Belarusian National Technical University (65, Nezalezhnasti Ave., 220013, Minsk, Republic of Belarus). E-mail: prihozhy@yahoo.com

 

DOI: https://doi.org/ 10.52065/2520-6141-2023-272-2-15.

 

Key words: programmer, compatibility of programmers, team formation problem, project, runtime, optimization.

 

For citation: Prihozhy А. А. Optimization of programming teams on compatibility of programmers. Proceedings of BSTU, issue 3, Physics and Mathematics. Informatics, 2023, no 2 (272), pp. 104–110. DOI: 10.52065/2520-6141-2023-272-2-15.

 

Abstract

The programming team formation problem has been solved using different optimization criteria: programmer and programming team competences; required set of skills, productivity of teams, etc. This paper formulates the problem of optimizing programming teams accounting for pairwise compatibility of programmers described by a matrix whose elements are changes of the programmer and team runtimes when two programmers are included in the same team. When the matrix element is positive the runtime increases, when it is negative the runtime decreases. The problem is formulated as to partition a set of programmers into a set of teams in such a way that the overall teams’ runtime is minimal. The graph clique partitioning problem is related to the team formation problem. It maximizes the overall sum of constant weights of edges located within the cliques. The team formation problem differs because it searches for a solution by changing the graph edge weights. Both problems are NP-hard. The paper proposes a greedy algorithm of stepwise pairwise merge of programming teams and provides a software for team optimization. Experimental results show that the algorithm finds partitions of large sets of programmers and generates teams which reduce the runtime by up to 36 % compared to the one-programmer teams and the single team.

 

Download

References

1.Masood Z., Hoda R., Blincoe K. Exploring Workflow Mechanisms and Task Allocation Strategies in Agile Software Teams. In: Baumeister H., Lichter H., Riebisch M. (eds). Agile Processes in Software Engineering and Extreme Programming. XP 2017. Lecture Notes in Business Information Processing, 2017, vol. 283. Springer, Cham. https://doi.org/10.1007/978-3-319-57633-6_19.

  1. Britto R., Neto P. S., Rabelo R., Ayala W. and Soares T. A hybrid approach to solve the agile team allocation problem. 2012 IEEE Congress on Evolutionary Computation, 2012, pp. 1−8, DOI: 10.1109/CEC.2012.6252999.
  2. Rachlin J. [et al.]. A-Teams: An Agent Architecture for Optimization and Decision-Support. In: Müller J. P., Rao A. S., Singh M. P. (eds). Intelligent Agents V: Agents Theories, Architectures, and Languages. ATAL, 1998. Lecture Notes in Computer Science, 1999, vol. 1555. Springer, Berlin, Heidelberg. https://doi.org/ 10.1007/3-540-49057-4_17.
  3. Wrike. Available at: https://www.wrike.com/ (accessed: 29.03.2023).
  4. Flow. Available at: https://www.getflow.com/ (accessed: 29.03.2023).
  5. Gutierrez J. H., Astudillo C. A., Ballesteros-Perez P., Mora-Melia D. and Candia-Vejar A. The multiple team formation problem using sociometry. Computers and Operations Research, 2016, vol. 75, pp. 150−162. DOI: https://doi.org/10.1016/j.cor.2016.05.012.
  6. Prihozhy A. A., Zhdanouski A. M. Method of qualification estimation and optimization of professional teams of programmers. Sistemnyy analiz i prikladnaya informatika [System analysis and applied information science], 2018, no. 2, pp. 4−11. https://doi.org/10.21122/2309-4923-2018-2-4-11 (In Russian).
  7. Prihozhy A. A. Exact and greedy algorithms of allocating experts to maximum set of programmer teams. System analysis and applied information science, 2022, no. 1, pp. 40–46. https://doi.org/ 10.21122/2309-4923-2022-1-40-46.
  8. Prihozhy A., Zhdanouski A. Genetic algorithm of optimizing the size, staff and number of professional teams of programmers. Open Semantic Technologies for Intelligent Systems, Minsk, BSUIR Publ., 2019, pp. 305–310.
  9. Prihozhy A. A., Zhdanouski A. M. Genetic algorithm of optimizing the qualification of programmer teams. System analysis and applied information science, 2020, no. 4, pp. 31–38. https://doi.org/10.21122/ 2309-4923-2020-4-31-38.
  10. Prihozhy A. A., Zhdanouski A. M. Genetic algorithm of allocating programmers to groups. Nauka – obrazovaniyu, proizvodstvu, ekonomike: materialy 13-y Mezhdunarodnoy nauchno-prakticheskoy konferentsii [Science to education, industry and economics: Proceedings of 13th international scientific and practical conference]. Minsk, 2015, vol. 1, pp. 286–287 (In Russian).
  11. Grotschel M., Wakabayashi Y. A cutting plane algorithm for a clustering problem. Mathematical Programming, 1989, vol. 45, no. 1, pp. 59–96. https://doi.org/10.1007/BF01589097.
  12. Prihozhy A. A. Optimization of data allocation in hierarchical memory for blocked shortest paths algorithms. System analysis and applied information science, 2021, no. 3, pp. 40–50. 14. Prihozhy A. A. Analysis, transformation and optimization for high performance parallel computing. Minsk, BNTU Publ., 2019. 229 p.

 

15.04.2023