IH Инженерный вестник Дона. №1 (2018) Н| ivdon.ru/ru/magazine/arcliive/nly2018/4916
Прогнозирование краткосрочной производительности в IT-проектах
И.Н. Мощенко, Е.В. Пирогов Южный федеральный университет, Ростов-на-Дону
Аннотация: В настоящий момент одной из наиболее передовых гибких методологий управления IT-проектами является SCRUM технология. Ее особенность - разбиение всей работы на непродолжительные итерации (спринты), каждая из которых представляет собой цикличный процесс, повторяющийся постоянно на всем пути разработки продукта. Это позволяет постоянно отслеживать появляющиеся риски и минимизировать их последствия. Каждый спринт начинается с планирования, которое задает темп работ и стимулирует высокую производительность. Ключевым моментом планирования является прогнозирование уровня сфокусированности команды на выполнении поставленных задач, так называемый фокус-фактор. Он представляет собой отношение производительности к трудоемкости. В работе представлены результаты численных экспериментов по выявлению оптимальных методов прогноза этого показателя. В их основу положены производственные данные одной из проектных групп реальной коммерческой фирмы в сфере IT.
Исследованы экстраполяционные методы прогнозирования, со скользящей базой по предыдущим фактическим результатам. При этом варьировались как ширина базы (от одного до семи предыдущих периодов), так и вид экстраполирующей функции. Рассмотрены аппроксимирующие полиномы нулевой, первой и второй степени. Определенное внимание уделено также методу экспоненциального сглаживания и Байесовскому подходу к диагностике и прогнозированию. Для интегральной характеристики качества прогнозирования использовалась величина среднеквадратичной относительной ошибки оценки производительности.
По результатам экспериментов отобраны три оптимальных варианта. Первым является прогноз по скользящему арифметическому среднему фактических фокус-факторов за 3-4 предыдущих периода. Во втором варианте опять же берется скользящее среднее фактических фокус-факторов за 3-5 спринта, но не арифметическое, а геометрическое. В третей методике для предсказания используется произведение теоретического фокус-фактора на фактический. Берется скользящее геометрическое среднее за 1-2 спринта. В среднеквадратичной норме для обеих методик ошибка прогноза одинакова, порядка 5,8%. Если ее оценивать не по среднему квадратичной метрике, а по максимальному отклонению, то последний вариант чуть лучше. Полученные результаты предназначены для уточнения интуитивного планирования спринтов при выполнении реальных проектов.
Ключевые слова: управление, IT-проект, SCRUM технология, планирование спринта, прогноз, фокус-фактор, скользящее среднее, линейная и квадратичная регрессия, экспоненциальное сглаживание, Байесовский подход, среднеквадратичная ошибка, оптимальный вариант.
В настоящее время большинство IT-проектов выполняется по Agile методологии, а именно - используя фреймворк SCRUM [1-4]. На рисунке 1 показана общая структурно функциональная модель жизненного цикла проекта. А на рисунке 2 - декомпозиция блока выполняемого в рамках
фреймворка Scrum. Подробно останавливаться на описании элементов жизненного цикла не будем, отсылая заинтересованных читателей к имеющейся обширной литературе [1-4].
Основная идеология технологии Scrum заключается в следующем: весь процесс разработки делится на итерации. Каждая итерация представляет собой цикличный процесс, повторяющийся постоянно на всем пути разработки продукта. На рисунке 1 мы можем видеть обратную связь из блока 4 в блок 3, которая обозначает возврат готового функционала обратно в процесс разработки при нахождении в нем ошибок или несоответствий. На рисунке 2 также присутствует обратная связь - выходящая из блока 3 в блок 1, проходя через блок 2. Эта связь определяет основу методологии. Весь процесс разработки делится на итерации - спринты. После завершения спринта проводится ретроспектива - обзор прошедшего спринта, и выводы, полученные в результате этого мероприятия, учитываются при планировании следующей двухнедельной итерации.
Рис 1. - Структурно функциональная модель жизненного цикла проекта
IH Инженерный вестник Дона. №1 (2018) Н| ivdon.ru/ru/magazine/arcliive/nly2018/4916
Рис 2. - Структурно функциональная модель жизненного цикла проекта.
Декомпозиция блока "Doing Scrum".
Каждый спринт начинается с этапа планирования. На первом шаге данного этапа рассчитывается теоретическая трудоемкость (ТТ) спринта исходя из планируемой загрузки членов команды и продолжительности спринта. Обычно трудоемкость считается не в человеко/днях, а в других единицах (сторипоинты, попугаи и т.д. [1-4]), для этого полученные человеко/дни нужно умножить на соответствующий коэффициент. Далее по результатам предыдущих спринтов прогнозируется теоретический фокус-фактор (ФТ), в тех же единицах, что и трудоемкость. Под фактическим фокус-фактором (ФФ) понимается сфокусированность работников на выполнении поставленных задач. Считается он как отношение фактической производительности (в тех же единицах, что и трудоемкость) к фактической трудоемкости
ФФ=ПФ/ТФ. (1)
На следующем шаге по полученному прогнозному фокус-фактору (ФТ) и теоретической оценке трудоемкости (ТТ) рассчитывается теоретическая производительность на будущий спринт
Планирование заканчивается отбором из всех поставленных задач наиболее приоритетных, с учетом полученной производительности. Наиболее слабым элементом в такой методике является прогнозирование фокус-фактора.
Следует отметить, что планирование задает темп работы на спринт. Объем планируемых работ должен быть реально выполним, но при этом близок к верхней границе возможностей команды. Только тогда планирование стимулирует высокую производительность. Неправильный прогноз фокус-фактора резко снижает это влияние и расхолаживает коллектив..
Целью нашей работы является проведение численных экспериментов по выявлению способов наиболее точной оценки теоретического фокус-фактора. В основу такого симулирования положены производственные данные одной из проектных групп реальной коммерческой фирмы в сфере 1Т. На рисунке 3 для примера приведен небольшой фрагмент этих данных.
Здесь во втором столбце приведены номера спринтов, в первом - их длительность. Третья и четвертая колонки посвящены трудоемкости спринтов. Фактическая оценивается после выполнения спринта, по трудозатратам членов команды. Теоретическая наоборот, прогнозируется в начале, по планируемым трудозатратам. В рассматриваемом случае трудоемкость измерялась в сторипоинтах sp (одна треть человеко/дня).
В пятом и шестом столбцах приведена производительность (в тех же единицах, sp). Опять же, фактическая (колонка шесть) и теоретическая (колонка пять). Первая рассчитывалась после выполнения спринта по выполненным задачам. Вторая оценивалась по вышеприведенной формуле
ПТ=ФТ°ТТ.
(2)
(2). Используемый для этого теоретический фокус-фактор показан в восьмом столбце. Он прогнозировался социальным аналитиком команды разработчиков (в SCRUM методологии управления проектом эта должность называется иначе - скрам мастер). Фактический фокус-фактор (столбец девять) определялся по измеренным в конце спринта производительности и
трудоемкости (см. (1)).
Рис. 3. - Фрагмент производственных данных, на базе которых проводились численных эксперименты по анализу различных методов прогноза фокус-
фактора.
Качество всего этапа планирования спринта характеризуется таким показателем, как точность оценки производительности, приведенным в седьмой колонке. Он равен отношению полученной производительности к планируемой
ТО=ПФ/ПТ. (3)
Для рассматриваемого фрагмента производственных данных, этот показатель приведен на рисунке 4.
Рис. 4. - Точность оценки производительности. Видно, что он колеблется около 1, но амплитуда отклонений довольно велика, почти до 0,4 вверх и вниз. И обусловлены эти отклонения в основном вариациями точности прогнозирования фокус-фактора, которая показана на рисунке 5.
Рис. 5. - Точность оценки фокус-фактора. Эта характеристика рассчитывалась нами как отношение достигнутого в конце спринта фокус-фактора к планируемому.
Прогнозирование чаще всего связывают с процессом предсказания будущего на основе некоторой информации из прошлого [5,6]. Но существуют и другие виды, не связанные со временем. К примеру, диагностика в медицине [5]. В нашем случае мы имеем дело с временными дискретно событийными рядами.
Всего известно около 150 методов прогноза, но на практике в основном используются 20-30 из них [6]. По степени формализации они подразделяются на интуитивные и формализованные. В литературе обычно отмечают, что первые методы используются в случае отсутствия информации количественного характера об объекте, либо ее слабой структурированности. Но это не совсем так. Иногда и для вполне подходящих к формализации параметров применяют интуитивный подход, если он дает хорошие результаты.
К примеру, в используемых нами производственных данных (см. рис. 3) для планирования теоретического фокус-фактора использовался интуитивный групповой коллективный прогноз. В нем участвовала вся команда, конечно с превалирующей ролью скрам мастера. Это не значит, что оценка будущего фокус-фактора происходила наобум. На основе предыдущего опыта у команды уже были выработаны нечеткие правила выбора прогнозного уровня, просто эти правила не были выявлены и формализованы, а использовались подсознательно. Полученные таким образом теоретические данные для вышеупомянутого фрагмента представлены на рисунке 6 совместно с фактическими.
Формализованные методы прогноза применяются при количественных хорошо структурированных исходных данных, когда влияние различных факторов можно учесть математическими формулами [5]. В этой группе наиболее распространенны методы экстраполяции. Они достаточно просты, не требуют для расчетов больших исходных статистических данных,
:
реализуемые на широко распространенном математическом обеспечении (типа майкрософтовского Ехсе11 ).
140 120 100 80 60 40 20 0
Л
Л г\
А /Л Л/г^
\г V
V V
Тсор01ич (ФТ)
Факт (ФФ) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
#1 и2 из М и5 № П7 #8 Я9 #101Ш#12#14Я15#16#17Я181П9Я20#21#22Я23#24#25Я26
Рис. 6. - Прогнозируемый и полученный фокус-фактор для фрагмента данных, представленных на рис. 3.
Эта методология заключается в продлении предыдущих тенденций на будущее. Она базируется на двух допущениях [5,6]:
о основные факторы, тенденции прошлого, не изменяться и в будущем;
о временное поведение характеристик исследуемого объекта является в среднем достаточно гладким и его можно описать математической кривой.
В работе исследованы простейшие (и опять, же наиболее распространенные) типы экстраполяции, когда в качестве таких аппроксимирующих кривых используются полиномы нулевой, первой и второй степеней. Определенное внимание уделено также методу экспоненциального сглаживания и Байесовскому подходу к диагностике и прогнозированию. Для интегральной характеристики качества
прогнозирования использовалась величина среднеквадратичной относительной ошибки оценки планируемой производительности. При этом под истинным значением производительности понимался ее фактический уровень на конец спринта, а качество прогноза характеризовалось отношением этого уровня к планируемой величине (точность оценки производительности). Для идеального планирования оно должно быть равным единице, Среднеквадратичное (по всему исследуемому диапазону данных) отклонение этой величины от единицы бралось нами в качестве интегральной ошибки прогноза.
Для всех рассмотренных экстраполяционных методов использовалась скользящая база по предыдущим фактическим результатам. При этом варьировались не только тип экстраполяционной функции, но и глубина базы (от одного до семи предыдущих периодов). Для метода экстраполяции, использующего полином нулевой степени, влияние ширины базы, по которой вычисляются прогнозные значения, на ошибку, показано в Табл. 1. Здесь при глубине 1 в качестве прогнозного бралось фактическое значение предыдущего фокус-фактора, при глубинах от 2 до 7 - скользящее среднее этих фактических фокус-факторов по предыдущему ряду соответствующей ширины. С чем и связано общее название такой технологии прогнозирования - метод скользящего среднего. В своем пределе, когда глубина базы берется максимально возможная, по всему предыдущим значениям, он переходит в метод среднего уровня ряда [6,7]. Результаты для этого случая приведены в таблице в последней колонке.
Таблица 1.
Зависимость ошибки прогноза от ширины базы, метод скользящего
арифметического среднего, расчет по (Фф)
Глубина базы 1 2 3 4 5 6 7 тах
прогноза И
Относительная 6,8 6,0 5,8 5,9 6,1 6,2 6,3 5,6
среднеквадратичная
ошибка Oq, %
Из таблицы видно, что для наших данных в методе скользящего среднего оптимальной базой прогноза являются 3-4 предыдущих периода. Метод среднего уровня показывает еще лучшие результаты. Но разница не очень велика, а в вычислениях он сложнее. Кроме того, этот способ прогнозирования плохо реагирует на изменение трендов в поведении исследуемого параметра. Поэтому, на наш взгляд, все таки следует остановиться не на нем, а на методе скользящего среднего за 3-4 периода.
Среднеквадратичные ошибки прогнозирования по методике, использующей в качестве аппроксимирующей функции полином первой степени показаны в Табл. 2. Как и в предыдущем варианте, здесь приведена зависимость ошибки от глубины базы прогноза.
Таблица 2.
Зависимость ошибки прогноза от ширины базы, метод линейной регрессии.
Глубина базы прогноза И 2 3 4 5 6 7
Относительная среднеквадратичная ошибка Oq, % 24 14 15 14 14 14
Здесь при базе равной двум предыдущим периодам, линейная функции определяется непосредственно по двум точкам. Для остальных глубин она рассчитывается методом наименьших квадратов. И в статистике более точное название такой технологии - линейная регрессия [8]. Полученные результаты показывают, что для наших данных эта методика не очень подходит, ошибка более чем в два раза больше по сравнению с прогнозом по скользящим средним.
Квадратическая регрессия, когда в качестве аппроксимирующего потенциала используется параболическая функция, параметры которой определяются опять же методом наименьшего квадрата, показала еще худщие результаты, чем линейна. Ошибке для любой базы прогноза (глубиной до 7 периодов) была не менее 18%.
Для определения тенденций, сложившихся к моменту последних результатов и выявления базисных трендов часто используют метод экспоненциального сглаживания [6,9]. В нем, как и в линейной регрессии, в качестве прогнозирующего ряда используется линейная временная функция [9]. Параметры которой вычисляются по экспоненциальным сглаженным средним. Достоинство этого метода заключается в том, что он не просто экстраполирует существующие тенденции, а адаптируется при изменении трендов. Однако он очень критичен от выбора начального значения взвешенной средней и параметров сглаживания.
Проведенные численные эксперименты показали, что, к сожалению, и этот метод прогнозирования не подходит для наших целей. Ошибка оказалась того же порядка, что и в технологии линейной регрессии. Скорее всего, это связано с тем, что линейная функция, используемая в обеих методиках, для наших данных подчеркивает не существующий тренд, а случайные временные возмущения.
В конце прошлого - начале нынешнего столетия сильно начали развиваться методики прогнозирования, основанные на Байесовском подходе [10-12]. Более того, появились работы, в которых доказывается, что в условиях неопределенности, для минимизации рисков человек использует именно такой подход. Конечно, никто и никогда специально вероятности рисков не считает. Все это происходит на интуитивном уровне. Просто Байесовская модель дает оптимальный результат по минимизации рисков, и в
процессе естественного эволюционного отбора она закрепилась в поведении [10].
Нами была сделана попытка внедрить такую технологию для прогнозирования краткосрочной производительности в 1Т-проектах. Во всех вариантах использовании теории Байесовса оперируют с априорными, апостериорными и условными вероятностями [12]. В рассматриваемых задачах вероятностный подход напрямую не используется. Поэтому мы ввели вероятности формально, сконструировав величины, обладающие теми же свойствами, что и реальные вероятности. Для этого был введен параметр
Кп=Пт+Пф. (4)
И псевдовероятности Рт Рф
Рт= Пт/ Кп, (5)
Рф= Пф/ Кп. (6)
Обе эти величины меньше единицы, а их сумма равна 1. Они напоминают вероятности двух альтернативных событий.
Используя эти псевдовероятности были рассчитаны два Байесовских варианта прогноза. Один непосредственно по формуле Байеса для определения апостериорной вероятности по априорной и известной условной вероятности некоторого события. Для него ошибка прогноза оказалась на том же уровне, что и для линейной регрессии - 14%. Для второго варианта был применен метод последовательного статистического анализа А. Вальда, эффективно использующийся для задач диагностики [12]. К сожалению и для него ошибка оказалась высока, порядка 20%. Полученные результаты не означают неприменимость теории Байеса к планированию задач в 1Т-проектах в принципе. Неудачен оказался предложенный нами вариант с псевдовероятностями. Для исследования возможности применения к данным задачам Байесовского подхода надо на базе статистического материала определять вероятности распределения уровней фактического фокус-фактора
и уже на этой основе строить модель типа диагностической. Но эта задача выходит из рамок настоящей работы.
В статистике кроме арифметического усреднения известно еще геометрическое и иногда оно изредка используется при экстраполяции по методу скользящего среднего. Такой вариант также был нами исследован, полученная при этом зависимость среднеквадратичной ошибки от глубины базы показана в Табл. 3. Здесь при единичной глубине базы прогнозное значение фокус-фактора вычислялось как средне геометрическое между предыдущими планируемыми и фактическими значениями. При ширине равной двум периодам как среднегеометрическое между двумя предыдущими фактическими значениями. Для глубины равной трем спринтам - как кубический корень из произведение трех предыдущих фактических значений, и т.д.
Таблица 3.
Зависимость ошибки прогноза от ширины базы, метод скользящего
геометрического среднего, расчет по (Фф)
Глубина базы прогноза И 1 2 3 4 5 6 7 8
Относительная среднеквадратичная ошибка Oq, % 5,8 6,0 5,8 5,8 5,8 6,1 6,2 6,3
Получено, что при использовании скользящего геометрического среднего прогноз немного лучше, чем для при арифметическом усреднении. Минимальная ошибка здесь та же, но она наблюдается не только для расчетов при глубине равввной трем предыдущим периодам (как в Табл. 1), но и при глубинах, равных одному, четырем и пяти спринтам.
Следует отметить, что расчеты планируемого фокус-фактора не по предыдущим фактическим значениям, а по их произведению на предыдущие
теоретические, уже для глубины базы в один период показали хорошие результаты (см. Табл. 3, 2-ю колонку). Это заставило нас провести исследование и такого метода для различных глубин базы прогноза. Выявленные уровни погрешностей для этого случая показаны в таблице 4.
Таблица 4.
Зависимость ошибки прогноза от ширины базы, метод скользящего геометрического среднего, расчет по (ФтФф)
Глубина базы прогноза И 1 2 3 4 5 6 7
Относительная среднеквадратичная ошибка Oq, % 5,8 5,8 5,9 5,9 5,9 5,9 5,9
Получены хорошие результаты для всех рассмотренных глубин базы прогнозирования. Минимальная ошибка наблюдается при усреднении по одному и двум предыдущим периодам. Но и при учете большего числа спринтов она возрастает не значительно.
В заключении кратко приведем основные результаты работы.
По проведенным численным экспериментоам отобраны три оптимальных варианта краткосрочного планирования фокус-фактора. Первым является прогноз по скользящему арифметическому среднему фактических фокус-факторов за 3-4 предыдущих периода. Во втором варианте опять же берется скользящее среднее фактических фокус-факторов за 3-5 спринта, но не арифметическое, а геометрическое. В третей методике для предсказания используется произведение теоретического фокус-фактора на фактический. При этом используется скользящее геометрическое среднее за 1-2 спринта. В среднеквадратичной норме для обеих методик ошибка прогноза одинакова, порядка 5,8%. Если ее оценивать не по среднему
квадратичной метрике, а по максимальному отклонению, то последний
вариант чуть лучше. Полученные результаты предназначены для уточнения
интуитивного планирования спринтов при выполнении реальных проектов.
Выполнено по гранту ЮФУ № ВнГр-07/2017-20.
Литература.
1. Schwaber K. and Sutherland J. The Definitive Guide to Scrum: The Rules of the Game. URL: scrumguides.org/scrum-guide.html.
2. Сазерленд Д. Scrum. Революционный метод управления проектами. М.: Манн, Иванов и Фербер, 2016. 288 с.
3. Вольфсон Б. Гибкие методологии разработки URL: tados.ru/wp-content/uploads/2017/04/Борис_Вольфсон_Гибкие_методологии.pdf.
4. Kniberg H. Scrum and XP from the Trenches URL: wwwis.win.tue.nl/2R690/doc/ScrumAndXpFromTheTrenchesonline07-31.pdf.
5. Методы прогнозирования. URL: studopedia.ru/6_28915_metodi-prognozirovaniya.html. Дата обращения 01.12.2017.
6. Методы прогнозирования. URL: studopedia.ru/2_98787_metodi-prognozirovaniya.html. Дата обращения 01.12.2017.
7. Методы простой экстраполяции. URL: studopedia.ru/6_28916_metodi-prostoy-ekstrapolyatsii.html. Дата обращения 01.12.2017.
8. Линейная регрессия. URL: studopedia.ru/6_28913_lineynaya-regressiya.html. Дата обращения 01.12.2017.
9. Клевцов С.И. Моделирование алгоритма краткосрочного прогнозирования изменения быстроизменяющейся физической величины в реальном времени. Инженерный вестник Дона, 2012, №3. URL: ivdon.ru/ru/magazine/archive/n3y2012/920.
10. Мощенко И.Н., Бугаян И.Ф., Мощенко О.А. Вероятностные модели внутриличностных конфликтов. Инженерный вестник Дона, 2017, №3. URL: ivdon.ru/ru/magazine/archive/N3y2017/4530.
11. Антонова А.С., Аксенов К.А. Многокритериальное принятие решений в условиях риска на основе интеграции мультиагентного, имитационного, эволюционного моделирования и численных методов. Инженерный вестник Дона, 2012, №4, ч.2. URL: ivdon.ru/ru/magazine/archive/n4p2y2012/1466.
12. Байесовский подход к диагностике и прогнозированию. Последовательный анализ Вальда. URL: studopedia.ru/6_28923 _bayesovskiy-podhod-k-diagnostike-i-prognozirovaniyu-posledovatelniy-analiz-valda.html. Дата обращения 01.12.2017.
Referances
1. Schwaber K. and Sutherland J. The Definitive Guide to Scrum: The Rules of the Game. URL: scrumguides.org/scrum-guide.html.
2. Sazerland D. Scrum. Revolyutsionniy metod upravleniya proektami [Scrum. Revolutionary project management method]. M. Mann, Ivanov I Ferber, 2016. 288 p.
3. Vol'fson B. Gibkie metodologii razrabotki [Flexible development methodologies]. URL: tados.ru/wpcontent/uploads/2017/04/Борис_Вольфсон_Гибкие_ методологии^£
4. Kniberg H. Scrum and XP from the Trenches URL: wwwis.win.tue.nl/2R690/doc/ScrumAndXpFromTheTrenchesonline07-31.pdf.
5. Metodi prognozirovaniya [Forecasting method]. URL: studopedia.ru/6_28915_metodi-prognozirovaniya.html. Date accessed
01.12.2017.
6. Metodi prognozirovaniya [Forecasting method]. URL: studopedia.ru/2_98787_metodi-prognozirovaniya.html. Date accessed
01.12.2017.
7. Metodi prostoy kstrapolyatsii [Simple extrapolation methods]. URL: studopedia.ru/6_28916_metodi-prostoy-ekstrapolyatsii.html. Date accessed 01.12.2017.
studopedia.ru/6_28913_lineynaya-regressiya.html. Date accessed 01.12.2017.
9. Klevtsov S.I. Inzenernyj vestnik Dona (Rus), 2012, №3. URL: ivdon.ru/ru/magazine/archive/n3y2012/920.
10. Moshchenko I.N., Bugayan I.F., Moshchenko O.A. Inzenernyj vestnik Dona (Rus), 2017, №3.URL: ivdon.ru/ru/magazine/archive/N3y2017/4530.
11. Antonova A.S., Aksenov K.A. Inzenernyj vestnik Dona (Rus), 2012, №4 p.2.URL: ivdon.ru/ru/magazine/archive/n4p2y2012/1466.
12. Bayesovskiy podhod k diagnostike I prognozirovaniyu. Posledovatelniy analiz Valda. URL: studopedia.ru/6_28923_bayesovskiy-podhod-k-diagnostike-i-prognozirovaniyu-posledovatelniy-analiz-valda.html. Date accessed 01.12.2017.
8. Lineynaya
regressiya
[Linear regression].
URL: