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