Разработка мобильного приложения: Этапы и стадии
Сделать мобильное приложение — интересная, но непростая задача. Как и в любом крупном проекте, отсутствие четкого плана действий вводит в стресс. Это приводит к «топтанию» на одном месте, срыву дедлайнов и отсутствию результатов. Чтобы избежать непоняток внутри команды и держать всё под контролем, нужно использовать правильный подход.
В статье рассказываем, какие стадии разработки мобильных приложений существуют, и как их пройти. Полезная информация для тех, кто хочет создать свой продукт и сформировать реалистичные ожидания от команды.
Разработка мобильного приложения: Этапы и стадии
Сделать мобильное приложение — интересная, но непростая задача. Как и в любом крупном проекте, отсутствие четкого плана действий вводит в стресс. Это приводит к «топтанию» на одном месте, срыву дедлайнов и отсутствию результатов. Чтобы избежать непоняток внутри команды и держать всё под контролем, нужно использовать правильный подход.
В статье рассказываем, какие стадии разработки мобильных приложений существуют, и как их пройти. Полезная информация для тех, кто хочет создать свой продукт и сформировать реалистичные ожидания от команды.
Гибкая разработка: Agile-подход и Scrum
Перед тем, как вникать в этапы разработки мобильных приложений, рассмотрим основные принципы управления IT-проектами. Новые технологии, появление стартапов конкурентов заставляют выкатывать приложение как можно раньше. Но не получится составить один раз план и идти по нему — реальность меняется быстрее.
Чтобы каждый раз «вписываться» в рамки стремительно развивающегося цифрового мира, используется итеративный подход. Команды руководствуются философией Agile, позволяющей создавать продукты с учётом изменчивых требований.
Один из фреймворков, применяемых в рамках Agile-подхода, это Scrum. В его основе — работа
итерациями, регулярные обсуждения промежуточных результатов. Работа делится на этапы с понятным итогом, а этапы — на спринты.
На спринт даётся 2-3 недели. За это время команда выполняет набор задач. Результат спринта — конкретный ответ бизнесу. Например, на стадии разработки мобильного приложения это готовая фича, которая приносит пользователю пользу.
Задачи на спринт программисты размещают на рабочей доске, в которой 4 колонки: нужно сделать, в работе, готов к тестированию или проверке, готово.
В конце спринта команда вновь анализирует проект и выбирает, какую задачу нужно взять в приоритет. Периодический анализ проекта раз в 2-3 недели позволяет исполнителям легко реагировать на изменения, подстраивать продукт под потребности пользователей.
Гибкая разработка: Agile-подход и Scrum
Перед тем, как вникать в этапы разработки мобильных приложений, рассмотрим основные принципы управления IT-проектами. Новые технологии, появление стартапов конкурентов заставляют выкатывать приложение как можно раньше. Но не получится составить один раз план и идти по нему — реальность меняется быстрее.
Чтобы каждый раз «вписываться» в рамки стремительно развивающегося цифрового мира, используется итеративный подход. Команды руководствуются философией Agile, позволяющей создавать продукты с учётом изменчивых требований.
Один из фреймворков, применяемых в рамках Agile-подхода, это Scrum. В его основе — работа
итерациями, регулярные обсуждения промежуточных результатов. Работа делится на этапы с понятным итогом, а этапы — на спринты.
На спринт даётся 2-3 недели. За это время команда выполняет набор задач. Результат спринта — конкретный ответ бизнесу. Например, на стадии разработки мобильного приложения это готовая фича, которая приносит пользователю пользу.
Задачи на спринт программисты размещают на рабочей доске, в которой 4 колонки: нужно сделать, в работе, готов к тестированию или проверке, готово.
В конце спринта команда вновь анализирует проект и выбирает, какую задачу нужно взять в приоритет. Периодический анализ проекта раз в 2-3 недели позволяет исполнителям легко реагировать на изменения, подстраивать продукт под потребности пользователей.
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, следуя составленному ранее тест-плану, проверяют блоки проекта один за другим и находят баги.
Как только ошибки исправлены, проект отправляется в регрессионное тестирование — оно помогает убедиться, что новые изменения никак не повлияли на работу других разделов приложения.
Когда все ошибки исправлены, приложение отправляется к конечному пользователю. В зависимости от проекта это может быть публикация в сторах, интеграция с другими сервисами компании или релиз новой версии приложения.
После релиза работа над продуктом не заканчивается. Приходит обратная связь от пользователей, рано или поздно обнаруживаются ошибки, появляются новые идеи и «хотелки». Процесс стартует заново, начиная с этапа аналитики и оценки.
В статье я описал общие этапы, которые есть в каждом проекте. Сроки и подробности мы обсуждаем с каждым клиентом лично — где-то добавляем дополнительные этапы, в каких-то ситуациях, наоборот, сокращаем сроки и шаги до релиза. Мы уже успели наступить на все возможные грабли, поэтому знаем, что принесет результат, а от чего лучше отказаться в самом начале.
Если у вас есть вопросы по поводу процессов разработки мобильных приложений, пишите в комментариях — обсудим каждый этап.