ОПТИМИЗАЦИЯ ПРОГРАММИСТСКИХ КОМАНД ПО СОВМЕСТИМОСТИ ПРОГРАММИСТОВ

УДК 004.4-004.9

 

  • Прихожий Анатолий Алексеевич − доктор технических наук, профессор, профессор кафедры программного обеспечения информационных систем и технологий. Белорусский национальный технический университет (220013, г. Минск, пр. Независимости, 65, Республика Беларусь). E-mail: prihozhy@yahoo.com

 

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

Ключевые слова: программист, совместимость программистов, задача формирования команд, проект, время выполнения, оптимизация.

 

Для цитирования: Прихожий А. А. Оптимизация программистских команд по совместимости программистов // Труды БГТУ. Сер. 3. Физико-математические науки и информатика. 2023. № 2 (272). С. 104–110. DOI: 10.52065/2520-6141-2023-272-2-15 (In English).

 

Аннотация

Задача формирования команд программистов решалась с использованием различных критериев оптимизации: компетенций программиста и команды программистов; требуемого набора навыков, производительности команд и др. В статье формулируется задача оптимизации команд с учетом попарной совместимости программистов, описываемых матрицей, элементами которой являются изменения времен работы программистов и команд при попарном включении программистов в одну команду. Если элемент матрицы положительный, время работы увеличивается, если отрицательный, время работы уменьшается. Задача формулируется так, чтобы разделить множество программистов на множество команд таким образом, чтобы общее время работы команд было минимальным. Задача кликового разбиения графа связана с задачей формирования команд. Она максимизирует общую сумму постоянных весов ребер в кликах графа. Задача формирования команд отличается тем, что она ищет решение, изменяя веса ребер графа. Обе задачи являются NP-трудными. В статье предлагается жадный алгоритм пошагового слияния команд и разрабатывается программное обеспечение для оптимизации команд. Экспериментальные результаты показали, что алгоритм находит разбиение больших множеств программистов и генерирует команды, сокращающие время работы до 36% по сравнению с командами из одного программиста и единой командой.

 

Скачать

Список литературы

  1. Masood Z., Hoda R., Blincoe K. Exploring Workflow Mechanisms and Task Allocation Strategies in Agile Software Teams // Agile Processes in Software Engineering and Extreme Programming H. Baumeister, H. Lichter, M. Riebisch (eds). XP 2017 [et. al.] // Lecture Notes in Business Information Processing. 2017. Vol. 283. Springer, Cham. https://doi.org/10.1007/978-3-319-57633-6_19.
  2. A hybrid approach to solve the agile team allocation problem / R. Britto [et. al.] // 2012 IEEE Congress on Evolutionary Computation. 2012. P. 1−8. https://doi: 10.1109/CEC.2012.6252999. 3. A-Teams: An Agent Architecture for Optimization and Decision-Support / J. Rachlin [et al.] // Intelligent Agents V: Agents Theories, Architectures, and Languages, ATAL 1998 / J. P. Müller, A. S. Rao, M. P. Singh (eds) // Lecture Notes in Computer Science. 1999. Vol. 1555. Springer. 1999. https://doi.org/ 10.1007/3-540-49057-4_17.
  3. Wrike. URL: https://www.wrike.com/ (дата обращения: 29.03.2023).
  4. Flow. URL: https://www. getflow.com/ (дата обращения: 29.03.2023).
  5. The multiple team formation problem using sociometry / Gutierrez J. H. [et al.] // Computers and Operations Research. 2016. Vol. 75. P. 150−162. https://doi.org/10.1016/j.cor.2016.05.012. 7. Прихожий А. А., Ждановский А. М. Метод оценки квалификации и оптимизация состава профессиональных групп программистов // Системный анализ и прикладная информатика. 2018. №. 2. С. 4−11. https://doi.org/10.21122/2309-4923-2018-2-4-11.
  6. 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.
  7. 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, 2019, pp. 305–310.
  8. 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.
  9. Прихожий А. А., Ждановский А. М. Генетический алгоритм разбиения коллектива программистов на группы // Наука – образованию, производству, экономике: материалы 13-й Междунар. науч.-практ. конф. Минск: БНТУ, 2015. Т. 1. С. 286–287.
  10. Grotschel M., Wakabayashi Y. A cutting plane algorithm for a clustering problem // Mathematical Programming. 1989. Vol. 45, no. 1. P. 59–96. https://doi.org/10.1007/BF01589097.
  11. 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.
  12. Prihozhy A. A. Analysis, transformation and optimization for high performance parallel computing. Minsk: BNTU, 2019. 229 p. I

 

Поступила 15.04.2023