Так, для себя, на будущее.
Часто забываю, что лучше придерживаться четкого порядка.
Универсальный план работ по любому веб-проекту:
- Тщательное изучение ТЗ, прояснение каких-либо неоднозначных мест;
- Обсуждение всех userstories (пользовательских историй);
- Составление макетов интерфейса;
- Составление WebAPI (адреса и форматы передачи данных);
- Создание архитектуры проекта;
- Планирование работ по реализации архитектуры (максимально подробное);
- Создание костяка проекта, отражающего скелет будущей архитектуры;
- Собственно реализация, кодирование (желательно через модульное тестирование);
- Внедрение системы безопасности;
- Внедрение логирования (в основном для разработчика: исключения, предупреждения и проч. важные сообщения);
- Сборка проекта (из разных модулей), интеграционное тестирование;
- Функциональное тестирование;
- Создание пользовательской документации;
- Создание дистрибутива, сдача проекта;
- Поддержка проекта, исправление ошибок и, возможно, доработка, если ТЗ было неполным.
По сути это каскадная модель. Возможно она уже и устарела, но, тем не менее, я считаю её полезной. Разве что добавил бы пункт "Корректировка планов по результатам выполнения работ" после каждого шага.