20 рисков, которые необходимо учесть при расчёте сложного проектаПроцессы и формулы
Олег Бунин[email protected]
Как увеличить прибыль?
Ведь более половины бюджета уходит на ФОТ
Ошибки в определении
стоимости крайне болезненны!
Себестоимость проекта =
стоимость ресурсов * количество требуемых
ресурсов
Логика презентации
Готовим описание проекта / фичи /
итерации
Проектирование технического
дизайна
Разные точки сборки:• Разработка на заказ – как опыт компании,
реализовавшей несколько десятков крупных проектов по водопадной модели (РИА Новости, Woman.RU, Sports.RU, Setup.RU и другие);
• Agile-проекты – как перечень рисков, про которые полезно помнить и которые часто забывают;
• Заказчику – для того, чтобы понять почему цена именно такая и насколько зрел выбранный им подрядчик.
Как пользоваться презентацией?• Позаимствовать опыт и не повторять наших ошибок;
• Скопировать себе элементы бизнес-процесса – он написан кровью
• Проверить своего подрядчика на зрелость и понимание того, что ему предстоит;
• Ещё раз убедиться в том, что правильно выбрали agile
Стадия №1Подготовим описание
задачи
Техническое задание поступает аналитикам и
менеджеру
(Никакого контакта заказчика с
разработчиками!)
Задача аналитика – подготовить эпики
для передачи в технический отдел
В описании эпика должна содержаться вся необходимая информация:
1. Верхнеуровневое описание; 2. Детальное описание бизнес-логики; 3. Дизайн-макеты; 4. Ссылки на страницы в прототипе; 5. Критерии приёмки для тестирования; 6. Ответы на потенциальные вопросы; 7. Описание перспектив развития функционала; 8. Нетехнические требования.
Это не совсем техническое задание
– это документ, удобный для разработки
Стадия №2Подключается тимлид.
Проектирование технического дизайна и
архитектуры.
Стадия №3Декомпозиция на
задачи
Требования к описаниям задач:
1. Задачи атомарны; 2. Чем меньше по объёму – тем лучше (< 1 дня); 3. Грамотный русский язык; 4. Запрещается копипастить из скайпа; 5. Дизайн-макеты, скриншоты – всё для фронта; 6. Задача не меняется со временем; 7. Запрещено использовать кванторы всеобщности, типа “заменить на всех страницах”; 8. Все устные обсуждения фиксируются в описании; 9. Запрещено ставить подзадачи в комментариях.
Результат стадии №3
Сформирован список задач
Мы забыли примерно 20 пунктов
Добавьте инфраструктурные задачи: 1. Нагрузочное тестирование; 2. Пуско-наладочные работы; 3. Разработка JS-машины; 4. Кроссбраузерность (и мобильные браузеры); 5. Мультиязычность; 6. Тестирование безопасности; 7. Отказоустойчивость; 8. Миграция данных;
Проверьте, не забыли ли: 1. Заложено ли время на сборку страниц? 2. Разработка заглушек для SOA; 3. Время на проектирование API; 4. Согласование взаимодействие между серверными и клиентскими разработчиками; 5. Code review – в крупном проекте тимлид будет занят только им; 6. Разработка документации для редакторов, коммуникация специалистов с заказчиком; 7. Время на изучение новых технологий; 8. Юнит-тесты; 9. Время на изготовление рыб (изображений, текстов, объектов) для демонстрации; 10. Аналитические работы; 11. Время на технический дизайн; 12. Обновление и модификацию технического задания.
Результат стадии №3++
Вот теперь действительно сформирован список
задач.
Стадия №4Планниг-покер
Результат стадии №4
Матрица задачи -> часы специалистов разных
специальностей
Стадия №5
Корректировка результата
Разработчики всегда ошибаются!
Разные коэффициенты для
разных специальностей
Разные коэффициенты для
разных классов задач (обычные и
инфраструктурные)
Результат стадии №5
Реальный объём проекта
Но объём проекта не равен
календарному плану!
Стадия №6Формирование
календарного плана
Что важно учитывать:
1. Взаимосвязи между разработчиками; 2. Взаимосвязи между задачами; 3. Атомарность этапов; 4. Управление процессом:
- время на SCRUM;- время на планёрки;- время на ретроспективы.
До 20% уходит на планирование!
Нужно ли учитывать тот факт, что эффективное время работы менее 8
часов в сутки?
Что мы забыли в календарном
плане?
Проверьте, не забыли ли: 1. Время на регрессионное тестирование перед сдачей этапов; 2. Время на деплои этапов; 3. Известные (и неизвестные отпуска); 4. Буферное время между этапами; 5. Время на технический долг; 6. Праздники и отходняк; 7. Текучка кадров, время на поиск и обучение сотрудников; 8. Корпоративные мероприятия, выезды для объединения команды и поднятия боевого духа; 9. Время на обработку изменений (не реализацию, а обработку); 10. Поиск и вовлечение подрядчиков.
PS: Даже если у вас Agile и горизонт планирование в две недели вы всё равно могли это забыть
Результат стадии №6
Диаграмма Ганта
Добавляем аналитиков и менеджеров
(как целое, 67% менеджера не бывает)
Результат стадии №6
Диаграмма Ганта с менеджерами
Стадия №7Составляем смету
Мы переводим календарный план, в котором учтено всё, в смету.
Умножаем месяцы из календарного плана на ставки специалистов.
Поздравляю!
Вы получили себестоимость
проекта.
Логика презентации
Готовим описание проекта / фичи /
итерации
Проектирование технического
дизайна