вторник, 10 сентября 2013 г.

Простая мат.статистика по "предсказанию" производительности команды

Пост о "предсказуемости" производительности. На эту тему много чего написано. А тут в частности очень простой пример есть. В общем, почитать - поразмышлять.

Взято отсюда 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 =). Вообще это не первый раз, когда я исползую эту мат. модель для прогнозирования и могу сказать что она работает. Изначально идея была подсмотрена у Макса Дорофеева, за что ему большое спасибо. Кстати, у него в блоге можно найти и много других интересных штук про процессы управления и разработки – рекомендую!
Артём Кошелев

среда, 4 сентября 2013 г.

Хорошие советы про ant

Хорошие советы, "странный" перевод.

Содержание:
  • Сборка только в IDE
  • Копировать-и-вставить
  • Длинные объекты
  • Большие файлы сборки
  • Не чистить
  • Сильно закодированные значения
  • Успешная сборка при неуспешных тестах
  • Волшебные машины
  • Недостаток стиля

Автоматизация для людей: Очищаем скрипты сборки от запахов