Многих разработчиков привлекает фраза "проект с нуля". Это как искать девственницу - мало кто ответит на вопрос "что ты будешь с ней делать?" Гораздо проще улучшать существующий проект, чем создавать с нуля свой. Проект с нуля это огромный объем работ, который нужно сделать чтобы запуститься.
Для PM это GAP-анализ (чего нет чтобы было), стратегическое планирование, создание плана коммуникаций и выбор методологии управления. Для аналитика это подготовка и детализация сотни страниц в базе знаний, описывающих функционал гораздо детальнее, чем в ТЗ. Для разработчиков это выбор технологий с учетом ситуации на рынке труда, собственных компетенций и требований (функциональных и нефункциональных).
Это как спроектировать дом в чистом поле. Нужно учесть всё: ландшафт, климат, доступность стройматериалов и рабочих, площадь участка и обязательно - пожелания заказчика. Учесть нужно также внезапно возникающие требования в середине строительства. Например, заказчик может захотеть камин, хотя летом он от камина отказывался.
При планировании работ надо помнить о праздниках, отпусках и больничных, особенностях работы с квалифицированными и не очень людьми.
В моей практике было только два проекта с нуля. И вот мои усвоенные уроки:
- Прежде чем браться за проект, нужно понимать какой объем работ действительно осуществим в текущих условиях. Это должны быть конкретные рамки (scope of work). Остальное можно оставить на потом если хватит средств. Часто выбор очевиден - ради ускорения сайта с 10 до 1 секунды можно переписывать софт пару лет, чтобы получить современный SPA, или пригласить эксперта чтобы он настроил Webpack за день.
- Верхнеуровневую оценку после подписания договора можно сразу выбрасывать и начинать делать детальный план работ от простого к сложному. Половину этого плана тоже придётся выбросить после первой демонстрации успехов. Требования меняются. Коммуникации важнее начального ТЗ. Основная ценность проектирования и разработки в том, что мы, делая итеративные поставки, даём заказчику понимание, что он в итоге хочет.
- Хорошая практика - в середине проекта объявить о том, что вы готовы поработать ещё пару месяцев за те же деньги (при условии, что это было учтено в изначальной оценке)
- Очень важно (!!!) сразу создать план коммуникации со всеми заинтересованными лицами (регулярность обсуждений план-факта, структурность общения, своевременную и качественную обработку предложений). Иначе бывает сложно обеспечить доступность выгодоприобретателей. На каждой встрече должен быть человек, который будет слушать внимательнее всех и не вмешиваться.
- Отлично если удастся убедить заказчика провести мини-исследование осуществимости задуманного. Двухнедельный discovery-проект поможет составить чёткое видение будущего продукта и показать возможности и риски ещё до подписания договора.