МЕТОД ПОБУДОВИ НОРМАЛІЗОВАНОГО РОЗКЛАДУ РЕАЛІЗАЦІЇ ЗАДАЧ ПРОЄКТУ З РОЗРОБКИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ SCRUM-КОМАНДИ БЕЗ ДИФЕРЕНЦІАЦІЇ СПЕЦІАЛІЗАЦІЙ

https://doi.org/10.23939/ujit2024.02.011
Надіслано: Жовтень 12, 2024
Прийнято: Листопад 19, 2024
1
Національний університет "Львівська політехніка", м. Львів, Україна
2
Національний університет "Львівська політехніка", м. Львів, Україна
3
Національний університет “Львівська політехніка”, інститут комп’ютерних наук та інформаційних технологій, кафедра АСУ

З погляду бізнесу одним із ключових аспектів проєктів із розроблення програмного забезпечення є потреба у прогнозованості часу та ресурсів, необхідних для їх успішного виконання. Від цієї оцінки істотно залежить перебіг реалізації та її результати – часто наслідками недооцінки стають неуспішність чи навіть провали проєктів. Розклад реалізації задач є однією із основних складових оцінки проєкту. Посилення конкуренції у сфері розроблення програмного забезпечення накладає все жорсткіші вимоги на оцінки проєктів – що вищі точність та рівень деталізації оцінки та що менше робочого часу витрачено на її підготовку, то більші шанси випередити конкурентів. Тому автоматизація побудови розкладу реалізації задач проєкту є актуальним науковим та технічним завданням. У статті висвітлено метод побудови розкладу реалізації задач проєкту із розроблення програмного забезпечення, що виконує  scrum-команда без диференціації спеціалізацій інженерів-розробників. Обмеження на ресурси враховують, збалансовуючи оцінки трудомісткості задач та спроможності розроблення проєктної команди на кожному зі спринтів. Вимірювання як трудомісткості, так і спроможності розроблення здійснюють із застосуванням підходу “нормалізації”, абстрагуючись від рівня компетентності інженерів-розробників. Послідовність внесення задач у розклад враховує залежності між ними та ґрунтується на використанні методу диспетчеризації (List Scheduling). У результаті застосування розробленого методу отримують множину допустимих розкладів реалізації, для порівняння яких визначено функцію штрафу, що мінімізує час простоювання проєктної команди, враховуючи, що простоювання команди на початку проєкту менш бажане, ніж на етапі завершення. Розроблений метод, який рекомендовано застосовувати разом із методом поетапного оцінювання, дає змогу скоротити робочий час, який експерти витрачають на підготовку оцінки проєкту. Завдяки простоті поточної версії методу відповідну програмну реалізацію можна здійснити без написання вихідного коду, наприклад, із звикористанням лише табличного редактора. Серед наступних кроків з розвитку методу найпріоритетнішими є підтримка scrum-команд із диференційованими та змішаними спеціалізаціями, а також додавання можливості переходу від нормалізованого до “повного” розкладу реалізації, враховуючи життєвий цикл задач проєкту та структуру робочого часу інженерів-розробників.

1. Blazewicz, J., Lenstra, J. K., & Kan, A. H. G. R. (1983). Scheduling subject to resource constraints: Classification and complexity. Discrete Applied Mathematics, 5(1), 11‑24. https://doi.org/10.1016/0166-218X(83)90012-4

2. Boehm, B. W., Abts, C., Brown, A. W., Devnani-Chulani, S., Clark, B. K., Horowitz, E., Madachy, R. J., Reifer, D. J., & Steece, B. (2000). Software Cost Estimation with COCOMO II. Prentice-Hall: Saddle River.

3. Brucker, P. (2007). Scheduling Algorithms (5. 5th ed. 2007). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-69516-5

4. Brucker, P., Drexl, A., Möhring, R., Neumann, K., & Pesch, E. (1999). Resource-constrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research, 112(1), 3‑41. https://doi.org/10.1016/S0377-2217(98)00204-5

5. Bureau of Naval Weapons, United States, Special Projects Office. (1958). Program Evaluation Research Task PERT Summary Report: Phase 1 (p. 35). Special Projects Office, Bureau of Naval Weapons, Department of the Navy.

6. Bureau of Naval Weapons, United States, Special Projects Office. (1958). Program Evaluation Research Task PERT Summary Report: Phase 2 (p. 108). Special Projects Office, Bureau of Naval Weapons, Department of the Navy.

7. Ciupe, A., Meza, S., & Orza, B. (2016). Heuristic Optimization for the Resource Constrained Project Scheduling Problem: A Systematic Mapping. 619‑626. https://doi.org/10.15439/2016F389

8. Gantt, H. L. (1903). A Graphical Daily Balance in Manufacture. Transactions of the American Society of Mechanical Engineers, 24, 1322‑1331. https://doi.org/10.1115/1.4060667

9. Geraldi, J., & Lechter, T. (2012). Gantt charts revisited: A critical analysis of its roots and implications to the management of projects today. International Journal of Managing Projects in Business, 5(4), 578‑594. https://doi.org/10.1108/17538371211268889

10. Graham, R. L. (1969). Bounds on Multiprocessing Timing Anomalies. SIAM Journal on Applied Mathematics, 17(2), 416‑429. https://doi.org/10.1137/0117039

11. Graham, R. L., Lawler, E. L., Lenstra, J. K., & Kan, A. H. G. R. (1979). Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey. In Annals of Discrete Mathematics (Vol. 5, pp. 287‑326). Elsevier. https://doi.org/10.1016/S0167-5060(08)70356-X

12. Hartmann, S., & Briskorn, D. (2022). An updated survey of variants and extensions of the resource-constrained project scheduling problem. European Journal of Operational Research, 297(1), 1‑14. https://doi.org/10.1016/j.ejor.2021.05.004

13. Herroelen, W., De Reyck, B., & Demeulemeester, E. (1998). Resource-constrained project scheduling: A survey of recent developments. Computers & Operations Research, 25(4), 279‑302. https://doi.org/10.1016/S0305-0548(97)00055-5

14. Kelley, J. E., & Walker, M. R. (1959). Critical-Path Planning and Scheduling. Eastern Joint IRE-AIEE-ACM Computer Conference, 160‑173. https://doi.org/10.1145/1460299.1460318

15. Kolisch, R., & Hartmann, S. (1999). Heuristic Algorithms for the Resource-Constrained Project Scheduling Problem: Classification and Computational Analysis. In J. Węglarz (Ed.), Project Scheduling (Vol. 14, pp. 147‑178). Springer US. https://doi.org/10.1007/978-1-4615-5533-9_7

16. Land, A. H., & Doig, A. G. (1960). An Automatic Method of Solving Discrete Programming Problems. Econometrica, 28(3), 497. https://doi.org/10.2307/1910129

17. Pritsker, A. A. B. (1966). GERT: Graphical Evaluation and Review Technique. RM-4973-NASA. National Aeronautics and Space Administration under Contract No. NASr-21.

18. Project Management Institute (Ed.). (2021). A guide to the project management body of knowledge (PMBOK® guide) and the standard for project management (Seventh Edition). Project Management Institute, Inc.

19. Schutten, J. M. J. (1996). List scheduling revisited. Operations Research Letters, 18(4), 167‑170. https://doi.org/10.1016/0167-6377(95)00057-7

20. Teslyuk, V., Batyuk, A., & Voityshyn, V. (2022). Method of Recommending a Scrum Team Composition for Intermediate Estimation of Software Development Projects. 2022 IEEE 17th International Conference on Computer Sciences and Information Technologies (CSIT), 373‑376. https://doi.org/10.1109/CSIT56902.2022.10000432

21. Teslyuk, V., Batyuk, A., & Voityshyn, V. (2022). Method of Software Development Project Duration Estimation for Scrum Teams with Differentiated Specializations. Systems, 123(10), 1‑19. https://doi.org/10.3390/systems10040123

22. Teslyuk, V., Batyuk, A., & Voityshyn, V. (2024). Preliminary Estimation for Software Development Projects Empowered with a Method of Recommending Optimal Duration and Team Composition. Applied System Innovation, 7(3). https://doi.org/10.3390/asi7030034

23. Türkakın, O. H., Arditi, D., & Manisalı, E. (2021). Comparison of Heuristic Priority Rules in the Solution of the Resource-Constrained Project Scheduling Problem. Sustainability, 13(17), 9956. https://doi.org/10.3390/su13179956