Для примера возьмём стандартный проект - web-приложение.
Важно понимать, что разработка web-приложения начинается не тогда, когда программист начинает писать код, а раньше, с постановки целей и задач. После определения целей и задач проекта, необходимо выявить фокусную группу потенциальных пользователей и провести среди них социологический опрос. Затем подготовить базу данных. Затем, на основании полученных данных разработать макет приложения. Потом начать с разработки бэкенд части. Когда бэкенд будет формировать данные для главной страницы и другую основу для фронтенда (например, авторизацию), тогда можно переключаться на фронт. С этого момента начинается тесное взаимодействие бэка и фронта. Суть разработки web-приложения в этом и заключается - паралельная разработка фронтенд и бэкенд частей. Бэк и фронт должны уметь тесно взаимодействовать друг с другом. На стороне фронта формируется визуализация и отправка запросов на бэк. А на бэке - формируется ответ фронту (чаще всего и удобнее в формате JSON, который понимают все современные фронтовые фрэймворки). Т.е. Request - это то, что должен отправить фронт, и что принимает бэк. Response - это то, что отправляет бэк, и на основании чего фронт формирует вид. Часто это взаимодействие бывает сложным, и на этом этапе необходимо внедрять тестирование и дисциплины управления проектом.
Web-приложение должно быть размещено на сервере, который тоже необходимо обслуживать. И особенностью разработки web-приложений (в сравнении со стационарными приложениями) является то, что web-приложение должно разрабатываться и поддерживаться постоянно. Следующие этапы разработки: разрабтка бэка, разработка фронта, тестирование, обслуживание сервера и управление проектом - это постоянный процесс.
Итак, выделим основные этапы разработки web-приложения.
- формирование команды
- определение целей и задач
- выявление фокусной группы пользователей
- проведение социологических опросов среди выявленной группы
- формирование дизайна на основе социологических опросов
- вёрстка макета главной страницы приложеня
- подготовка сервера
- создание базы данных
- бэкенд (подключение и последующая разработка)
- фроненд (взаимодействие с бэкендом и последующая разработка)
- тестирование
- управление проектом.