Пост о "предсказуемости" производительности. На
эту тему много чего написано. А тут в частности очень простой пример есть. В
общем, почитать - поразмышлять.
Взято отсюда http://artkoshelev.github.io/posts/team-capacity-results/ (Автор - Артём Кошелев из yandex.ru)
К гадалке не ходи
Месяц назад я писал о процессах, по которым работают
наши команды автоматизации. Тогда я пообещал подробнее рассказать про наблюдения
за производительностью команд и построение прогнозов. Что ж, время пришло
=)
Напомню, как таковых релизов у нас в команде нет – как только
задача сделана, новый код сразу идёт “в бой”. Однако чтобы сделанные задачи не
мешались на борде, я раз в неделю формирую формальный релиз, в который попадают
все сделанные за неделю задачи. Это позволяет мне наблюдать за тем, сколько
задач делается за неделю. Вот как это выглядит:
При беглом просмотре может показаться, что число задач в
неделю – совершенно случайная величина. Так оно и есть =). Но это не значит, что
её нельзя предсказать.
Как и большинство случайных величин, наша величина каким-то
образом распределяется. Будем считать это распределение нормальным. Разобъем все
недели на три группы. Первая – малопроизвоидительные недели, в них делается от 0
до 4 тасков. Вторая – обычные недели – от 5 до 9 тасков. И третья –
высокопродуктивные недели – 10 тасков и больше.
Имея эти данные, не сложно посчитать вероятность попадения
недели в каждую из групп. Для этого делим количество таких недель на общее
число. Получается 0.375 для первой, 0.458 для второй и 0.167 для третьей группы.
Следующий шаг – подсчитываем матожидание. Если взять для прогноза 4 недели, то
из них в среднем 1.5 недели будут малопроизводительными, 1.83
недель – обычных и 0,67 недель высокопроизводительными. Округлив эти числа,
получим наиболее вероятные исходы – 2-2-0 (~18%) и 1-2-1 (~16%). Вероятность не
ахти какая. Однако если делать прогноз для исхода: от 0 до 2
малопроизводительных, от 1 до 3 средних и от 0 до 1 высокопроизводительных
недель, то получается внушительная цифра в 67%. Довольно сильный прогноз,
правда?
А теперь самая интересная часть – как распределились
задачи в нашей команде за прошедший месяц? Я до последнего надеялся, что будет
хоть одна высокопроизводительная неделя, но сработал самый высоковероятный исход
2-2-0 =). Вообще это не первый раз, когда я исползую эту мат. модель для
прогнозирования и могу сказать что она работает. Изначально идея была
подсмотрена у Макса Дорофеева, за что ему
большое спасибо. Кстати, у него в блоге можно найти и много других интересных
штук про процессы управления и разработки – рекомендую!
Артём Кошелев