Знакомство с проектом, идеями, целями заказчика. Написание технического задания (документации) или перенос ТЗ заказчика в удобный формат. Сбор всех сведений.
От общего к частному анализируется проект. По ТЗ (документации) и макетам (дизайну) расписываются все особенности проекта. Необходимо получить формализованное ТЗ разработчика - иерархический перечень функций и составных частей проекта. Выявляются проблемы, недоработки в ТЗ или идеях проекта. Своевременное разрешение проблем в ТЗ. Выясняются необходимые компетенции команды разработчиков и какие инструменты применять.
Определяются фронты разработки и конкретные задачи на каждый фронт. Задачи распределяются через выявление зависимостей, общности и прочих особенностей. Цель - оптимальным образом сгруппировать/распределить все работы.
Сперва разрабатываются мелкие компоненты. Из них собираются крупные. Компоненты могут разрабатываться в виде каталога в рамках проекта или внешних модулей. Создаётся скелет приложения с проработкой роутинга, заготовкой контейнеров под все разделы проекта. Далее ведется основная работа по сборке разделов из ранее созданных компонентов, программированию логики и интегрции АПИ.
Фронтами работ могут быть:
- разработка типовых компонентов (базовых, элементов форм, списков),
- архитектурные задачи (каркас, серверный рендер, интеграция со стороними сервисами, навигация, требования к апи),
- разработка каждого раздела (страницы сайта, экраны приложения).
Задачи формируются не для конкретного специалиста, а с целью получения составных частей проекта и их композиции - конечного результата. Дизайн, вёрстка, проектирование, програмирование, тестирование, отладка, документирование - все специализации в разной степени сочетаются для исполнения задачи.
Оцениваются все задачи. С учётом различных зависимостей между задачами и внешними факторами составляется план последовательного испольнения с делением на спринты. Спринт равен двум неделям. План работ согласуется с заказчиком. В плане могут учитываться ключевые даты релизов, под которые необходимо подстраивать весь план и прибегать к неравномерному распределению нагрузок специалистов.
Ориентируясь на план к проекту подключаются соответсвующие специалисты. По плану создаются конкретные задачи разработчикам, верстальщикам и прочим специалистам. Реальные задачи могут расходиться со строчками в плане из-за дополнительной детализации.
Постановка задач в трекере, их исполнение, ревью кода, тестирование, исправление багов. Ежедневные созвоны с командой для решения накопившихся вопросов и корректировки курса.
Возможны внесения изменений в ТЗ, в задачи и планы. Созвоны с заказчиком для рапортирования успеваемости и для согласования возникнувших вопрсов и предложений.