Искусство
предсказания
Как давать более точные оценки
времени проекта
Андрей Степанов
О себе
• Технический директор
• Digital-агенство
• eConsultancy Top 100 в UK
• Лондон, Лидс, Челябинск
«Все программисты — оптимисты.
Возможно, эта современная
разновидность колдовства особенно
привлекательна для тех, кто верит в
хэппи-энды и добрых фей. Возможно,
сотни неудач отталкивают всех, кроме
тех, кто привык сосредоточиваться на
конечной цели.»
Фредерик Брукс
«Мифический человеко-месяц», 1975
Статистика успешности проектов
https://www.cnet.com/news/pennsylvania-sues-ibm-over-jobless-unemployment-claims-system-upgrade-170-million/
http://www.dailymail.co.uk/news/article-2040259/NHS-IT-project-failure-Labours-12bn-scheme-scrapped.html
NHS Connecting for Health £12 млд
Проект
IBM Pennsylvania Jobless Claims
System upgrade $170 млн
HealthCare.gov $1500 млн
£2 млд
$110 млн
$93 млн
Оценка Реальность
Статистика успешности проектов
CHAOS report 2015
https://www.infoq.com/articles/standish-chaos-2015
Successful
29%
Challenged
52%
Failed
19%
Дисклеймер
Ошибки в управлении проектом мы в учет не берем
Слайд про мозг
Project manager Team lead
Сколько нужно времени на проект?
Сколько мне нужно времени,
чтобы это закодить?
Project manager Team lead
Сколько мне нужно времени
на все?
Project manager Team lead
Project manager Team lead
Кстати, это будет твой проект!
За сколько я точно все
сделаю?
Project manager Team lead
1 год.
Project manager Team lead
@$#, это слишком много!
Project manager Team lead
Как быстро я могу
успеть?
Project manager Team lead
Окей – тогда 1 месяц
Project manager Team lead
Недооценка и переоценка
Точность оценки
100%
Издержки,
бюджет,
срок
Недооценка
Нелинейный –
аврал, грязные
хаки, баги и т.д.
Переоценка
Линейный – закон
Паркинсона
Сколько обычно нужно моей
команде, чтобы сделать
подобный проект?
Правильный вопрос:
?
6 SSO
¯_(ツ)_/¯
Уменьшаем непонятки
• Какая точность нужна?
• Подумайте о неявных или забытых требованиях
• Задавайте вопросы
• клиенту
• продукт-менеджеру или бизнес-аналитику
• дизайнеру / UX
• Задокументируйте предположения и риски
• Разделяйте проект на понятные части: фазы, модули и т.д.
?
Командная оценка
• 2-4 человека из разных областей: разработка, продукт-
менеджмент и др.
• Опыт — обязательно
• Независимые эксперты: люди, которые не будут участвовать в
разработке
• Слепые независимые оценки
• Блиц-оценка типа “Х недель для Y разработчиков”
Подходы к оценке — Bottom-up (WBS)
Подходы к оценке — Bottom-up (WBS)
Подходы к оценке — Bottom-up (WBS)
• Плюсы:
• Выглядит понятно и вселяет уверенность в клиентов
• Минусы:
• Заставляет фокусироваться на понятном и забывать о непонятном или
пропущенном
• Более детально = больше фич / факторов всплывает = завышенная
оценка
• Пропишите, что включается в оценку, например:
• Проработка требований, разработка, внутренние совещания,
тестирование и исправление багов
Подходы к оценке — Сравнительный
Подходы к оценке — Сравнительный
• “Проект А = Проект Б ± Дельта“
• Факторы
• Стек технологии: эффективности либо риски
• Сложности клиента или предметной области, например, медицина или
финансы
• Сила команды, если известна
Проверяем по историческим данным
• Time-tracking tools
• Данные должны быть доступны всем оценщикам
• Время в таске JIRA — это оценка снизу
• На крайний случай — можно просто спросить
• По данным можно проверять точность оценок
Используем две оценки — Low и High
Используем две оценки — Low и High
• Low — “агрессивно, но возможно”, 50% вероятность
• “Обычно я доезжаю до работы за 15 минут”
• High — “очень вероятно”, 90% вероятность
• “Чтобы точно успеть, выйду за 40 минут”
• Большая разница между Low и High — повод поговорить
• Буфер проекта — квадратный корень из суммы квадратов High-Low
B𝑢𝑓𝑓𝑒𝑟 =
𝑖=0
𝑛
(𝐻𝑖𝑔ℎ𝑖 − 𝐿𝑜𝑤𝑖)2
Исследуем и прототипируем
• Интеграции с другими продуктами
• Новые технологии и фреймворки
• Работа с другими командами
• Реальные данные
Итого
• Задаем вопросы, чтобы уменьшить непонятки
• Документируем риски и предположения
• Оцениваем командой
• Используем различные подходы к оценке
• Проверяем по историческим данным
• Используем две оценки – Low и High
• Исследуем и делаем прототипы
andrey.stepanov@deleteagency.com
andrey_stepanov
fuse8.ru deleteagency.com

Искусство предсказания: как давать более точные оценки времени проекта / Андрей Степанов (Delete Agency)

Editor's Notes

  • #3 2/3 английская, 1/3 российский Технический сложные сайты и приложения
  • #21 - Крупнее
  • #35 Примеры