Х этапов разработки
Классический цикл разработки проекта состоит из 7+ этапов. Все начинается с аналитики, разработки технического задания и проектирования, а заканчивается тестированием на ошибки и релизом.
На каждом из этих этапов над проектом трудятся разные специалисты, а выделенный менеджер смотрит, чтобы все шло по плану и присылает заказчику отчеты. Спустя как минимум два месяца, а чаще дольше, у готового сайта или приложения появляются первые пользователи... И можно снова начинать работу над расширением его функционала, улучшением пользовательского опыта и так далее.
Кстати, мы вот пишем, как именно разрабатываем интернет-магазины и приложения на каждой странице с описанием услуги.
Только обычно это мало кому интересно. Что тут вообще может быть интересного? Разработчики разрабатывают, дизайнеры — дизайнят! Ну и все остальные там делают какую-то магию, но при этом не мгновенно, и требуют денег.
Правда, как только дело доходит до личного проекта, так все меняется. Сразу становится интересно где, что, почем и зачем. Рассказываем по порядку.
Зачем вообще эти этапы
Потому что над проектом работают разные люди и делают очень разные вещи. Более того, каждый последующий этап требует полного завершения предыдущего, так как все элементы цикла очень зависимы друг от друга. Хочешь не хочешь, а все равно делать все и сразу не получится, даже если нанять вместо 10 человек 100.
В этом контексте разработку можно сравнить со строительством: никто не мешает выбирать обои, когда еще нет стен, но только поклеить их не получится. Да и когда уже будут стены, тоже так сразу не начнешь — крыша нужна, утепление, шпаклевки всякие. Более того, если все-таки наплевать на последовательность, и наклеить эти обои просто на кирпич — долго они не продержатся, а переделывать это потом будет в сто раз дороже.
Вот и с разработкой то же самое.
Аналитика
Первый и самый важный этап. От качества проведенной аналитики буквально зависит «взлетит» ли ваш проект.
Совершенно неважно запускаете ли вы уникальный технологичный стартап или открываете магазин по продаже обуви — аналитика нужна всем без исключения. Зачем? Чтобы сделать сайт или приложение, которое будет оправдывать ожидания целевой аудитории.
Если ваша цель получать от проекта прибыль, а не просто платить за хостинг и хвастаться наличием сайта/приложения перед друзьями, нужно тщательно подготовиться:
- разобраться кому и почему будет интересен продукт;
- выяснить особенности ниши и собрать референсы;
- обсудить идею с целевой аудиторией и узнать, что для них важно;
- проанализировать конкурентов, чтобы отстроиться от них.
В итоге, если у вас еще нет УТП (уникального торгового предложения) — оно появится, а вместе с ним и понимание, что и как должно работать, чтобы достичь ваших бизнес-целей.
Подробнее о том что, как и зачем нужно анализировать перед запуском проекта можно почитать тут.
Разработка технического задания
Результаты аналитики — сводные таблицы, диаграммы, графики и другие красивые и информативные отчеты. Их кстати можно и нужно показывать инвесторам. А еще использовать при создании ТЗ.
Итак, у нас есть сформулированная проблема, которую будет решать сайт или приложение, и представление о том, кто и как именно будет ее использовать для этой цели. Самое время:
- выработать функциональную спецификацию — требования к программе;
- продумать общую архитектуру сайта или приложения — бизнес-логику, производительность, возможность масштабирования и так далее;
- выбрать технологические решения для каждой составляющей проекта — фреймворк, базу данных, нужные интеграции и т.д.;
- определить сколько времени и денег на это потребуется.
Отдельно ТЗ используется для составления договора о сотрудничестве. Очень подробного соглашения, потому что как показывает практика, любая расплывчатая формулировка = очень конкретная головная боль для обеих сторон. А в договоре на основе ТЗ такого не будет. Тут тебе и зафиксированные сроки, чтобы подрядчик не затягивал, и прописанные обязательства, чтобы заказчик не мог требовать сделать еще что-нибудь бесплатно.
Проектирование интерфейса
Даже специалистам сложно представить, как будет выглядеть и работать программа на основе сухого ТЗ. Более того, даже самые лучшие менеджеры и вникающие во все нюансы заказчики могут не понять друг друга. И вообще, прежде чем давать добро на серьезную разработку хочется посмотреть и пощупать, как все будет выглядеть.
Для этого и создаются прототипы интерфейсов — всех уникальных страниц или экранов. Они могут быть полностью интерактивными или статичными с пояснениями, как будет работать каждый элемент.
Пока не будет утвержден окончательный вариант интерфейса, внешней части программы с которой будет взаимодействовать пользователь, никакие другие работы не ведутся.
UI Дизайн
Самая интересная с точки зрения заказчика часть разработки. На этом этапе голый каркас сайта или приложения начинают «одевать» в красивый дизайн. Можно оторваться и выбирать оттенки фирменных цветов, рассматривать предложенные варианты иконок, картинок и анимаций, а также многое другое, в рамках макета.
Backend и Frontend разработка
Параллельно с «творческой» работой дизайнеров, за дело наконец-то берутся разработчики. Backend-девелоперы занимаются созданием той самой архитектуры проекта и бизнес-логики. На самом низком уровне это проектирование классов и методов, а также выбор оптимальных технических решений для задач. И только потом они садятся и пишут код, чтобы заставить все компоненты будущего сайта или приложения работать вместе.
Современное программирование не требует от разработчика сесть и написать базу данных или что-либо еще настолько же серьезное с нуля. Их работа использовать готовые инструменты для создания максимально эффективных решений. Иногда это просто, иногда почти так же сложно, как написать базу данных. К примеру, подключить к сайту или приложению систему оплаты — очень простая задача, которая кстати, как и все другие интеграции с внешними сервисами выполняется на этом этапе. С другой стороны, для нестандартных проектов, в частности стартапов, всегда нужно потратить прилично времени, чтобы придумать как воплотить оригинальную бизнес-логику.
Фронтэнд-разработчикам или верстальщикам, которые отвечают за создание пользовательского интерфейса, повезло намного больше. Все что от них требуется, в точности перенести дизайн-макет и всю его логику в UI сайта или приложения. Это тоже долгий и кропотливый, но совершенно нетворческий труд.
Тестирование
Не так сложно написать код для функции, как заставить его работать с другими вместе.
Ваше приложение или сайт будет состоять из программных блоков, каждый из которых отвечает за свою функциональность и связан с другими. Сначала проверяется работоспособность каждого модуля, потом их собирают вместе, и снова тестируют как они работают. Для маленьких и типовых проектов этот этап может занимать несколько часов, для масштабных и нестандартных — месяцы.
У Frontend разработчиков в это же время свои трудности — сделать так, чтобы все работало одинаково красиво на всех поддерживаемых устройствах. Одна ошибка в коде и вот какая-нибудь кнопка уже не видна или не работает. Это как минимум, а как максимум проблемы могут достигать феерических масштабов.
Как только с этими задачами покончено, начинается проверка производительности и защищенности системы, и если все в порядке, значит можно публиковать результат!
Релиз и доработка
Последний этап цикла — публикация приложения в магазине или сайта на хостинге. На этом разработка окончена. Дальше только техподдержка (обязательно) и масштабирование (опционально).
Если вы захотите добавить новые функции или изменить старые — весь цикл разработки начинается заново. Почему? Да потому что у вас уже будут новые актуальные данные о поведении реальных пользователей и любые доработки нужно делать с учетом этих факторов.
Ну и конечно же, те, кто заказывает разработку в агентствах полного цикла может сразу отдать свой проект на продвижение. Вот мы, например, умеем и в сео, и в smm,и в контент-маркетинг, и конечно же в таргетированную рекламу.
Заключение
Разработка сайта или приложения состоит из нескольких этапов, каждый из которых одинаково важен для получения качественного результата. Работа над проектом всегда начинается с масштабной аналитики, а заканчивается релизом. Между этими этапами может пройти два месяца или в десятки раз больше времени, в зависимости от необычности идей и сложности их реализации. В любом случае разработка ведется в строгом соответствии с заранее утвержденным техническим заданием, в котором также указываются сроки и цена выполнения всех задач.