Создание приложения – это емкий процесс, который сравним с созданием целого бизнеса. В разработке участвует вся команда. Каждый член команды специалист в своей области и максимально эффективно решает свои задачи. 

Построить правильный порядок процесса разработки – это залог успеха проекта. За 5 лет работы мы определили эффективную стратегию, которой придерживаемся при работе над каждым проектом. Мы хотим поделиться этими знаниями, чтобы Вы могли создать действительно хороший продукт и развивать мобильную индустрию.

Наша концепция заключается в том, что первой версией продукта должна выйти MVP-версия (минимальная работоспособная версия). Такая версия, как правило, разрабатывается максимум 3-4 месяца и имеет базовый набор логики приложения, которую уже можно будет опубликовать и пройти фазу «валидации» бизнес идеи.

В нашей команде общение с клиентом происходит через CTO (Chief technology officer или технический директор). CTO и клиент вместе принимают все основные решения и контролируют процесс разработки на всех этапах. Контроль и постановка задач происходит при помощи Issue Tracker, отчетов и промежуточных версий приложения.

Для того, чтобы разработка первой версии проекта прошла правильно, она должна проводиться в соответствии с технической документацией. Для этого, первый месяц работы следует уделить следующим направлениям: знакомство с клиентом и бизнесом, анализ проекта и конкурентов, проведение онлайн или офлайн встреч, разработка UX-дизайна и технического задания.

Следующим этапом является разработка UI-дизайна (на основании готового UX и технического задания). UI-дизайн это интерфейсы всех экранов, иконка приложения и другие графические ресурсы, которые определяют внешний вид Вашего будущего проекта.

Этап разработки – это процесс создания программной части проекта. Мы рекомендуем проводить его в два этапа: создание локальной логики проекта и разработка клиент-серверной или другой функциональной реализации. Большой плюс в таком подходе заключается в том, что уже после 50% выполнения работ клиент увидит полностью готовое приложение, которое будет наполнено тестовыми данными и будет являться прототипом финального решения.

После окончания процесса разработки следует уделить время тестированию и оптимизации приложения. Наша команда осуществляет внутреннее тестирование и предоставляет клиенту готовую сборку (программу) для проведения внешнего тестирования (при участии сотрудников клиента или фокус-группы проекта). Дополнительно следует внедрить в приложение аналитику, чтобы отслеживать основные показатели и иметь инструмент измерения пользовательских событий и поведения.

Публикация проекта – это ключевое событие, после которого приложение будет доступно для всех пользователей в Google Play и App Store. Вместе с этим наступает новый этап – продвижение, поддержка и развитие проекта.

А теперь давайте вернемся немного назад. Скорее всего у Вас есть идея для Вашего будущего мобильного приложения или есть бизнес, в котором следует решить ряд задач при помощи современных технологий. Поэтому сейчас наша цель – понять как правильно и эффективно разработать мобильное приложение. Создать такой продукт, в который Вы инвестируете свои ресурсы и на выходе получите результаты, которые оправдают все Ваши ожидания. Именно о идеологии правильной организации разработки проекта и пойдет речь.

Мы приведем примеры исходя из того, как это происходит в нашей команде. Рассмотрим более подробно каждый из этапов создания приложения:

 

Анализ проекта

Цель: познакомиться с клиентом и бизнесом, определить концепцию проекта.

Мы назначаем первую встречу с клиентом, на которой определяем основную идею проекта, составляем заметки, отвечаем на основные вопросы, объясняем какие есть возможности в мобильной разработке, какие плюсы и минусы у каждого решения и формируем бриф для следующих встреч. В зависимости от объема проекта мы можем провести ряд дополнительных встреч и в конечном итоге получить готовую концепцию приложения.

Наша основная задача на данном этапе определить оптимальный список работ, которые должны быть проведены в рамках разработки первой версии проекта.

 

Создание UX-дизайна

Цель: получить визуализацию будущего приложения.

Следующим этапом следует разработать прототипы приложения (UX-дизайн). Наш дизайнер проводит отрисовку в черновом варианте всех экранов в графическом редакторе Figma и предоставляет карту переходов из экрана в экран.

В результате у нас появляется готовая визуализация экранов и их взаимодействие. На данном этапе хорошо понятен жизненный цикл приложения, а клиент может внести корректировки и пожелания перед разработкой документации.

Мы разрабатываем прототипы высокой детализации и не используем готовые решения для прототипирования, потому что каждый наш проект уникален.

 

Разработка технической документации

Цель: описать все функциональные требования к разработке будущего приложения.

В соответствии с техническим заданием происходит разработка всего будущего проекта. Каждая новая версия проекта имеет собственное техническое задание. В рамках данной работы создается документ на основании UX-дизайна, концепции и требований клиента. Документ имеет название проекта и версию, план работ с разделением по направлением разработки и подробное описание всех экранов и функций. 

Техническое задание проверяется и подписывается клиентом и является основным источником правды и руководством для будущих работ. Новые задачи, которые не вошли в техническое задание описываются и разрабатываются дополнительно. 

 

Создание UI-дизайна

Цель: создать уникальный интерфейс приложения или брендинг проекта в целом.

Создание UI-дизайна приложения – это ключевой этап, в рамках которого проводится разработка внешнего вида будущего проекта. Все наши работы соответствуют требованиям и гайдлайнам Apple и Google, при этом разработка ведется в собственном уникальном корпоративном стиле. Приложению передается стильный персональный и конкурентоспособный интерфейс, но основной акцент мы предпочитаем делать на понятность и удобство в использовании.

По окончанию разработки данного этапа у клиента будет полностью готовый и оформленный дизайн приложения, который можно запускать в разработку.

Также мы разрабатываем иконку приложения, подготавливаем ресурсы и метрику для разработчиков, создаем необходимые графические ресурсы для публикации приложения и многое другое.

 

Разработка локальной логики приложения

Цель: создать приложение, которое будет готово к демонстрации и будет выполнять локальные функции и соответствовать разработанному дизайну.

На данном этапе начинается непосредственно разработка программной части проекта. Мы изучаем проект, проектируем архитектуру системы, модели, базы данных и стараемся заложить максимум логики и гибкости в коде проекта. После выполнения 50% работ мы готовы продемонстрировать локальное приложение клиенту и получить первый отзыв.

Приложения на Android представляют собой APK-файл, который можно установить на любое Android-устройство, либо доступны другие варианты распространения, которые позволят получить приглашение на e-mail и начать тестирование по ссылке. Приложения на iOS распространяются через инструмент TestFlight, в котором также можно организовать тестирование по ссылке и установить приложение десяткам-сотням пользователей еще до релиза.

 

Разработка клиент-серверной логики приложения

Цель: успешно завершить разработку, создать все программные компоненты.

На данном этапе мы продолжаем работу над программной частью проекта. Мы дорабатываем клиент-серверную логику, подключаем API, необходимые сервисы, проводим обработку ошибок и всех состояний, подключаем реальные источники данных.

На выходе у нас получается готовое приложение, которое соответствует техническому заданию и дизайну. Приложение готово к демонстрации клиенту и требует проведения тестирования.

Мы не рекомендуем Вам и сами не создаем кроссплатформенные приложения, только нативная разработка. Пользователи чувствуют, когда перед ними проработанное, функциональное приложение и стремятся пользоваться именно такими продуктами. Мы неделями проводим время за написанием кода, созданием креативных идей и их воплощением. Мы стараемся сделать приложения, которыми хочется пользоваться постоянно. А Ваши идеи и энергия являются ключом для успеха проекта, потому что именно Вы создаете его основу.

 

Тестирование и оптимизация

Цель: проверить работоспособность приложения перед запуском.

Тестирование проводится в два этапа: внутреннее и внешнее. 

Внутреннее тестирование проводится сразу в процессе и после разработки нашими программистами. В рамках данного тестирования мы проверяем возможные дефекты в интерфейсе приложения и программном коде при разных условиях использования и разных конфигурациях Android и iOS (на реальных устройствах и при помощи симуляторов). Мы обязательно подключаем Crashlytics – сервис аналитики, который собирает возможные сбои в работе приложения для дальнейшего анализа.

Внешнее тестирование проводится на стороне клиента. По его усмотрению это может быть тестирование внутри компании или внешнее тестирование на реальных пользователях, фокус-группе проекта или привлечение стороннего независимого тестировщика.

Все возможные проблемы, которые были выявлены при тестировании называются «правки». Мы предоставляем тестовый период, в течении которого устраняем все программные или графические правки. Если правка предполагает разработку нового функционала, которые не был заявлен в техническом задании, тогда данная работа называется «дополнение». Выполнение таких задач следует согласовывать отдельно.

Этап тестирования очень важен, потому как позволяет выявить и устранить все возможные проблемы, которые могут проявиться в приложении еще до запуска в релиз.

 

Внедрение аналитики

Цель: понимать как и зачем пользователи используют приложение.

Аналитика – это важный процесс, которому следует уделить внимание в каждом проекте. Заранее невозможно узнать, что может нравится или не нравится пользователям в новом приложении. Если пользователи будут иметь негативный опыт работы с приложением, это приведет к плохому отзыву и к удалению приложения. Без аналитики мы не сможем понять на каком этапе произошли отказы, проблемы, вылеты. Подключение систем аналитики и отслеживание результатов позволяют сделать приложение удобней и правильно выстроить дальнейший процесс развития проекта. Понимать, какие функции чаще используются и сделать их приоритетными, а какие следует исключить или пересмотреть. Мы стараемся подойти к каждому проекту виртуозно и создать набор гипотез и метрик для мониторинга, которые в дальнейшем ответят на наши основные вопросы.

Основной для любой аналитики является сбор данных. Мы интегрируем в приложение специальные сервисы, которые позволяют отслеживать пользовательские взаимодействия с элементами интерфейса (нажатия на кнопки, переходы и прочее), время проведенное на конкретных экранах, установки, удаления, регистрации, покупки в приложении и прочие события.

Единой формулы для всех проектов не существует, поэтому мы планируем под конкретный продукт все возможные пользовательские события, которые важно собирать и выстраивать в маркетинговую воронку. На основании полученных данных мы сможем сделать важные выводы относительно всего проекта.

 

Публикация приложения

Цель: запустить проект и получить первые результаты.

Процедура публикации приложения в App Store и Google Play:

  1. Подготовить релизные сборки (соответствующие приложения в ipa и apk формате для загрузки в маркеты приложений с финальными данными). Подписать сборки production-сертификатами подлинности.
  2. Подготовить ASO-оптимизацию: соответствующие текстовые и графические ресурсы для отображения.
  3. Подготовить юридическую информацию и основные документы для публикации: политика конфиденциальности и пользовательское соглашение.
  4. Зарегистрировать аккаунты разработчиков и заполнить страницы приложений в маркете.
  5. Отправить приложения на проверку (каждый релиз новой версии проверяется со стороны Apple и Google вручную).
  6. Проведение диалога с review team (команда, которая делает проверку) и в отдельных случаях проведение изменений в проекте.
  7. Выпуск приложения.

Также существует практика для отдельных маркетинговых кампаний сделать отложенный релиз (pre-order release) – когда Ваше приложение будет уже доступно в App Store и Google Play до его официального выхода. Такое приложение нельзя скачать до установленной даты выхода, но пользователи смогут ознакомиться со всеми графическими и текстовыми материалами и оформить предзаказ.

Прохождение проверки приложения занимает от трех до десяти дней. В случае отклонения следует предпринять описанные доработки и отправить приложение повторно на проверку. Мы имеем экспертизу в работе с review team и правильному построению проектов, которые соответствуют правилам и обязательно помогаем нашим клиентам проводить весь цикл публикации. Мы не беремся за проекты, которые связаны с азартными играми, шпионским или вредоносным программным обеспечением или другие направления, которые запрещены правилами Apple и Google.  

После успешной публикации Ваше приложение станет доступно пользователям и Вашим будущим клиентам.

 

Поддержка и развитие проекта

Цель: контроль и масштабирование проекта.

Все успешные проекты нуждаются в постоянной поддержке и контроле. Мы предлагаем в индивидуальном порядке спланировать план ведения проекта. Например, для социальных сетей актуально организовать постоянный контроль и по правилам GDPR в течении 24 часов удалять весь нежелательный материал, который нарушает пользовательское соглашение.

Отдельно следует спланировать маркетинговую кампанию еще до публикации проекта и построить эффективную стратегию продвижения.

Наши проекты в сумме скачали более 1М пользователей! И Ваш будущий проект может обрести большую популярность, поэтому необходимо уже сейчас построить эффективные процессы разработки и создать хороший продукт. 

 

Остались вопросы? Вы всегда можете связаться с нами. Мы осуществляет консультацию на всех этапах разработки и помогаем нашим клиентам создать самый лучший и прибыльный бизнес на сегодняшний день – мобильное приложение. А также, мы предоставляем дополнительный доступ к закрытым материалам.

 

Следите за нашими обновлениями, мы создаем новые статьи, где более подробно познакомим Вас с каждым из этапов разработки проекта и рассмотрим примеры их реализации.