Метод побудови нормалізованого розкладу реалізації задач проєкту з розробки програмного забезпечення для scum-команди без диференціації спеціалізацій

Abstract

З погляду бізнесу одним із ключових аспектів проєктів із розроблення програмного забезпечення є потреба у прогнозованості часу та ресурсів, необхідних для їх успішного виконання. Від цієї оцінки істотно залежить перебіг реалізації та її результати – часто наслідками недооцінки стають неуспішність чи навіть провали проєктів. Розклад реалізації задач є однією із основних складових оцінки проєкту. Посилення конкуренції у сфері розроблення програмного забезпечення накладає все жорсткіші вимоги на оцінки проєктів – що вищі точність та рівень деталізації оцінки та що менше робочого часу витрачено на її підготовку, то більші шанси випередити конкурентів. Тому автоматизація побудови розкладу реалізації задач проєкту є актуальним науковим та технічним завданням. У статті висвітлено метод побудови розкладу реалізації задач проєкту із розроблення програмного забезпечення, що виконує scrum-команда без диференціації спеціалізацій інженерів-розробників. Обмеження на ресурси враховують, збалансовуючи оцінки трудомісткості задач та спроможності розроблення проєктної команди на кожному зі спринтів. Вимірювання як трудомісткості, так і спроможності розроблення здійснюють із застосуванням підходу “нормалізації”, абстрагуючись від рівня компетентності інженерів-розробників. Послідовність внесення задач у розклад враховує залежності між ними та ґрунтується на використанні методу диспетчеризації (List Scheduling). У результаті застосування розробленого методу отримують множину допустимих розкладів реалізації, для порівняння яких визначено функцію штрафу, що мінімізує час простоювання проєктної команди, враховуючи, що простоювання команди на початку проєкту менш бажане, ніж на етапі завершення. Розроблений метод, який рекомендовано застосовувати разом із методом поетапного оцінювання, дає змогу скоротити робочий час, який експерти витрачають на підготовку оцінки проєкту. Завдяки простоті поточної версії методу відповідну програмну реалізацію можна здійснити без написання вихідного коду, наприклад, із звикористанням лише табличного редактора. Серед наступних кроків з розвитку методу найпріоритетнішими є підтримка scrum-команд із диференційованими та змішаними спеціалізаціями, а також додавання можливості переходу від нормалізованого до “повного” розкладу реалізації, враховуючи життєвий цикл задач проєкту та структуру робочого часу інженерів-розробників.
From the business standpoint, predictability of the resources and time required for successful project completion is one of the key aspects of software development. This estimate significantly impacts project implementation and its outcomes – underestimation often leads to failures. An implementation schedule is one of the key ingredients of software development project estimation. Over recent years, the software development business has become even more competitive which, in turn, has imposed more demanding requirements on estimates – the more accurate an estimate is, and the less working time is spent on its preparation, the higher chance to overperform the competitors. This is why automation of such a manual assignment as project implementation schedule preparation is a relevant scientific and technical task. The current article is devoted to a method of building a software development project tasks implementation schedule. The project is supposed to be done by a scrum team with non-differentiated specializations. The resource constraints are expressed as balancing of the task effort estimates and the project team development capacity for each of the sprints. In order to unify measurement of software development productivity, a “normalization” approach is applied. The order of adding tasks to a schedule considers dependencies between the tasks and utilizes the List Scheduling method. As the method's outcomes, a set of feasible project implementation schedules is produced. Over a feasible schedule, a fine objective function is defined. This objective function minimizes the project team’s idle time assuming that such idle time in the beginning of the project is “worse” than in its ending. Being applied along with the Multi-Stage Estimation method, the method proposed in the current article allows to reduce the working time spent by experts on preparation of estimates. Because of its simplicity, the software implementation of the current method version can be done without writing source code – a spreadsheet editor can be used instead. The priority ways of the further evolution of the method are the following: supporting of scrum teams with differentiated and mixed specializations; transition from a normalized project implementation schedule to the “full” one considering the project tasks' lifecycle and the structure of software developers’ working time.

Description

Citation

Теслюк В. М. Метод побудови нормалізованого розкладу реалізації задач проєкту з розробки програмного забезпечення для scum-команди без диференціації спеціалізацій / В. М. Теслюк, А. Є. Батюк, В. В. Войтишин // Український журнал інформаційних технологій. — Львів : Видавництво Львівської політехніки, 2024. — Том 6. — № 2. — С. 11–19.

Endorsement

Review

Supplemented By

Referenced By