8 этапов разработки мобильного приложения для iOS и Android
Подробно разбираем каждый этап разработки — от заключения договора до релиза — на примере Siberian.pro.
Перед началом разработки клиенту важно узнать, как будет выстроена работа и в какие сроки, какие ресурсы понадобятся, чтобы создать мобильное приложение — это поможет решить все вопросы на берегу и избежать недопониманий с командой разработчиков.
Мы выстраиваем процесс для каждого клиента индивидуально, но есть шаги, через которые проходят почти все проекты. Расскажу о них подробнее в статье.
Начинать можно с любого этапа — все зависит от того, что у вас есть. Это может быть только идея или уже готовое мобильное приложение, которое нужно улучшить. Наша команда может разработать проект с нуля, доработать приложение или обеспечить его техподдержку и развитие.
Чтобы начать обсуждение, клиенту нужно описать его верхнеуровневые бизнес-требования. Вот что туда входит:
- задачи, которые нужно решить с помощью приложения;
- какие бизнес-процессы будут автоматизированы в продукте;
- с какой системой будет интегрироваться приложение: корпоративным сайтом, CRM, 1C-Бухгалтерией и т. д.;
- какой планируется бюджет;
- примеры интерфейсов или визуальных решений, которые нравятся;
- демо-версия проекта, если приложение уже готово.
Это поможет создать ТЗ, оценить сроки и стоимость работ.
Как только нужная информация собрана и сформирован запрос, время переходить к основным этапам: определить объем работ, подписать договор, собрать команду и начать работать над приложением.
Разберем каждый этап подробнее.
Здесь определяется бюджет, сроки и объем работ по проекту. Цель этапа: сформировать документ с целями и задачами, оценить каждую фичу в часах работы и оценить их стоимость, описать технологии, потенциальные риски и ответственность сторон.
Например, так выглядит график этапов работ по каждому направлению:
Какие шаги может включать данный этап:
- Отдел продаж связывается с заказчиком и формирует окончательный запрос.
- Команда аналитики описывает все функции, которые нужны клиенту.
- Разработчики и дизайнеры прописывают, сколько времени понадобится для реализации каждой функции, какие будут использоваться технологии и инструменты.
- Готовый документ согласовывается с клиентом.
Как только мы обсудили с клиентом общие моменты, переходим к конкретике: уточняем юридические моменты, подписываем документы и формируем команду.
Когда клиент принимает решение о сотрудничестве, подписывается договор. В нем указывается, какие услуги будут оказаны, какие планируются работы и в какие этапы, составляется календарный план и правила отчетности.
Мы в Siberian.pro предлагаем разные варианты сотрудничества.
- Аутсорсинг — берем на себя разработку вашего проекта.
- «Аутстаффинг» — предоставляем своих разработчиков, которые будут работать у вас и выполнять определенные задачи.
- Fix Price — фиксируем точный объем работ, сроки и стоимость до начала разработки.
- Time & Material — берем оплату за время, потраченное на разработку.
Мы обсуждаем и документируем подходящий формат в договоре.
Состав команды зависит от специфики проекта. При разработке игры важны специалисты по анимации и звуку, а создание банковского мобильного приложения невозможно без специалиста по безопасности. Количество участников в каждой роли тоже может быть разным: на десять разработчиков может приходиться один аналитик и один дизайнер или три аналитика и пять дизайнеров.
Обычно на проекте есть следующие роли:
Здесь подробно обсуждаются способы отчетности и согласований. С помощью каких каналов вести коммуникацию, в какое время команда находится на связи в случае обычных и экстренных ситуаций, как часто предоставлять отчеты о работе, кто несет ответственность за общение и т.д.
Например, мы в Siberian.pro каждую неделю докладываем клиенту статус проекта. Все юридические вопросы решаем по почте, а переписку по проекту ведем в мессенджерах: Slack, Telegram, WhatsApp, Skype, Zoom. Закрывающие документы и оплаты проводим через ЭДО, если он есть у клиента. Для каждого проекта выделяем отдельного аккаунт-менеджера и менеджера проекта. Первый отвечает за взаимоотношения с клиентами, второй — управляет самим проектом и процессом создания продукта.
На этом этапе детально прорабатываются все элементы системы: описываются бизнес-процессы, необходимые функции, требования к безопасности, производительности, масштабируемости и отказоустойчивости. Все это собирается в техническое задание. Подробнее об этапе аналитики рассказываю в статье.
В Siberian.pro аналитик плотно работает с дизайнером для проработки визуальной концепции и с техлидом для описания технических решений. Это позволяет убедиться, что описанные решения реализуемы и не несут рисков для бюджета и сроков.
Дизайн делится на два больших этапа:
Главная задача UX — понять целевого пользователя и создать для него понятный интерфейс. Дизайнер разрабатывает прототипы — примерные изображения экранов, которые показывают общую концепцию приложения и пользовательский путь.
После согласования прототипов дизайнер детально прорабатывает визуальную концепцию приложения. Результат работы над UI — полноценный дизайн пользовательского интерфейса, благодаря которому приложение узнают с первого взгляда.
Tech Lead разработки разбивает каждый блок проекта на задачи. Например, начинает с авторизации и личного кабинета, затем переходит к каталогу товаров, корзине и оплате. Он помогает менеджеру продукта ставить задачи разработчикам, а сам определяет архитектуру и стек технологий, берет на себя часть задач и помогает остальным решать возникающие вопросы.
Как правило, во время разработки всплывают нюансы, которые не были учтены на предыдущих этапах — это нормально. Для этого в работу включаются остальные участники команды, чтобы оперативно вносить правки и отвечать на вопросы по своим блокам задач.
Как мы выстраиваем работу на удаленке и помогаем клиентам сократить стоимость проекта на 40-60%, рассказываю здесь.
Ни один проект нельзя сделать идеально с первого раза: где-то могут возникнуть ошибки. QA, следуя составленному ранее тест-плану, проверяют блоки проекта один за другим и находят баги.
Как только ошибки исправлены, проект отправляется в регрессионное тестирование — оно помогает убедиться, что новые изменения никак не повлияли на работу других разделов приложения.
Когда все ошибки исправлены, приложение отправляется к конечному пользователю. В зависимости от проекта это может быть публикация в сторах, интеграция с другими сервисами компании или релиз новой версии приложения.
После релиза работа над продуктом не заканчивается. Приходит обратная связь от пользователей, рано или поздно обнаруживаются ошибки, появляются новые идеи и «хотелки». Процесс стартует заново, начиная с этапа аналитики и оценки.
В статье я описал общие этапы, которые есть в каждом проекте. Сроки и подробности мы обсуждаем с каждым клиентом лично — где-то добавляем дополнительные этапы, в каких-то ситуациях, наоборот, сокращаем сроки и шаги до релиза. Мы уже успели наступить на все возможные грабли, поэтому знаем, что принесет результат, а от чего лучше отказаться в самом начале.
Если у вас есть вопросы по поводу процессов разработки мобильных приложений, пишите в комментариях — обсудим каждый этап.
Этапы разработки мобильных приложений
Взглянем на каждый этап: его задачи, результат, сроки и стоимость.
1. Продуктовая аналитика
Как правило, в начале есть представление или «видение» продукта. Однако нет формализации, достаточной для старта разработки.
Задача этапа — определить и формализовать:
- ЦА;
- Задачу продукта, KPI;
- Ценность продукта для ЦА, УТП;
- Продуктовые гипотезы: верхнеуровневое описание функционала.
Сначала ставят задачу продукта: например, продавать подписку или сопутствующий товар. Далее анализируют рынок и конкурентов, включая непрямых. Формулируют ответ на вопрос «Почему этим продуктом будут пользоваться?». Наконец, описывают видение продукта, принципы и механики его работы. Формируется MVP (минимально жизнеспособный продукт).
Сроки и стоимость аналитики зависят от продукта и рынка. Как правило, от 100 человекочасов, или от 1 месяца.
2. Спецификация и вайрфреймы
Задача этапа — подготовить технические требования к мобильному приложению, необходимые для разработчиков. Для этого разрабатываются спецификация и вайрфреймы приложения.
Спецификация — документ, который содержит описание мобильного приложения, необходимое для разработчика. А именно:
- Логику системы, пользовательские механики;
- Требования к безопасности, надежности, документированию;
- Требования к пользовательскому интерфейсу;
- Материалы для наполнения сервиса.
Иногда используется техническое задание на разработку приложения. Однако, в отличие от него, спецификация не описывает способ реализации. Разработчик сам подбирает оптимальные решения. Такой подход сокращает сроки реализации — не меняя вид, функциональность, работоспособность, надежность, масштабируемость конечной системы.
Вайрфрейм — черно-белый план страницы сайта. Он отображает расположение элементов: кнопок, изображений, текстов. По совокупности вайрфреймов становится наглядна схема взаимодействия пользователя с будущим приложением.
В конечном счете получается исчерпывающая и однозначная формализация, из чего состоит приложение. Спецификация помогает точно оценить: сколько стоит и сколько времени занимает разработка мобильного приложения. А также избежать перерасходов.
Сроки и стоимость этапа зависят от объема требований, полученных в результате продуктовой аналитики. Как правило, от 100 человекочасов, или от 1 месяца.
3. Оценка и планирование
На основе спецификации составляется смета проекта, или эстимейт. Документ описывает план разработки приложения в следующем разрезе:
- Объем работ — краткое описание структуры мобильного приложения;
- Трудозатраты в часах по специалистам;
- Стоимость работ;
- Сроки реализации;
- Риски с вероятностью их наступления и мерами по предотвращению.
Как правило, на это уходит 3 дня.
4. Дизайн
Задача этапа — создать дизайн приложения, который наиболее эффективно работает на задачу продукта (п. 1). А именно разрабатывается:
- Дизайн-концепция,
- Набор компонентов интерфейса (UI-кит),
- Дизайн-макеты,
- Интерактивные прототипы.
Сначала создают дизайн-концепцию. Она отображает стилистику и общее настроение.
Далее разрабатывают UI-кит: кнопки, поля, формы. Повторное использование готовых элементов позволяет ускорить создание дизайна. Затем прорабатывают все экраны приложения, включая различные состояния: например, при наличии или отсутствии данных. Финальным этапом добавляется анимации интерфейса для взаимодействия с пользователями и «оживления» приложения.
По срокам и стоимости: как правило, уходит от 80 человекочасов (от 2 недель).
5. Программирование
Задача этапа — реализовать продукт.
При этом важно учесть будущие потребности. Например, заложить архитектуру системы под дальнейшее масштабирование продукта или высоконагруженность.
Сроки и стоимость, если приложение программируется с нуля, — обычно от 160 человекочасов (от 1 месяца).
6. Тестирование
Задача этапа — обеспечить качество продукта: отказоустойчивость, надежность, безопасность.
Так как существует огромное количество устройств, операционных систем и экранов, а также различные конфигурации установленного ПО (приложений) и эксплуатационных характеристик устройств, предотвратить ошибки заранее невозможно. Поэтому обычно в процесс создания приложения включается тестировщик, который прорабатывает различные сценарии работы приложения и пропускает его в релиз только тогда, когда в нем отсутствуют значимые, с точки зрения спецификации, дефекты.
Тестирование предполагает проверку качества системы специалистом, который не участвовал в непосредственной разработке ПО, что повышает вероятность обнаружения дефектов еще в процессе разработки. А стоимость часа такого специалиста значительно ниже стоимости часа разработчика. Таким образом, тестирование удешевляет и ускоряет процесс, повышая качество конечного продукта.
Результатом этапа может быть отчет с детализацией обнаруженных багов, их критичности и последующими исправлениями.
Касательно сроков и стоимости, обычно уходит не менее 40 человекочасов (1 недели).
7. Запуск приложения
Сборка проекта загружается в магазин приложений. AppStore и Google Play для платформ iOS и Android соответственно.
Прежде чем приложение станет доступным для пользователей, оно проходит модерацию. Длительность проверки зависит от многих факторов: категории приложения, его истории, разработчика и загрузки команды модерации.
Проект разворачивается на «боевом» сервере. Для обеспечения бесперебойной работы приложения, настраивают систему мониторинга.
Этапы создания приложений — резюме
Суммарно все этапы занимают от 4 месяцев, стоят порядка 1 млн рублей и выше.
Каждый этап разработки мобильных приложений — важный.
Чтобы получить такую широкую экспертизу, нужна команда из узких специалистов: продуктового аналитика, дизайнеров, программистов, QA-специалистов.