Мобильные приложения разрабатываются, продвигаются, продаются и становятся все более и более популярными. Статистика показывает, что к 2021 году доход от мобильных приложений достигнет суммы более 200 миллиардов USD, а количество скачиваний увеличится до 350 миллиардов.
Действительно, сейчас в Play Store (Google) доступно 2,8 миллиона приложений, а в App Store (Apple) — еще 2,2 миллиона, и эти цифры растут из года в год. Поскольку доминирование мобильных устройств над настольными компьютерами постоянно увеличивается, мобильные приложения очевидно пришли, чтобы остаться. Особенно в мире бизнеса и технологий.
Естественно, многие бизнесмены, познакомившись с этой сферой, хотят узнать: сколько времени и усилий требуется для создания мобильных приложений? Давайте разберемся.
Разработка мобильного приложения занимает 3-5 месяцев
Каждый год в Google app и App Store публикуется 1 миллион новых приложений. Но найти конкретные данные, описывающие, сколько времени ушло на разработку одного из них, очень сложно. Авторы многочисленных статей по этой теме не утруждают себя подтверждением сроков разработки.
Мы нашли два интересных исследования, которые наиболее точно, на наш взгляд, описывают время разработки мобильных приложений.
Во-первых, исследование Kinvey. В 2013 году они опросили 100 разработчиков мобильных приложений. В ходе исследования эксперты должны были оценить, сколько времени потребуется для создания основных компонентов приложения (MVP) для Android или iOS.
Усреднив данные, Kinvey определили, что для создания «нативного MVP приложения» потребуется около 18 недель (т. е. 4,5 месяца), из которых 10 недель уйдет на разработку «backend» и 8 недель для «frontend».
Второе исследование, которое стоит упомянуть, — публикация GoodFirms от 2017 года. В нем описаны многочисленные опросы о структуре приложений, анализ времени и затраты, связанные с созданием мобильных приложений. Аналогично Kinvey, GoodFirms опросили несколько десятков технических компаний, попросив участников оценить, как долго (и сколько денег) потребуется для разработки таких приложений, как Instagram, Tinder и Uber, а затем усреднили полученные ответы.
Основываясь на опросах, GoodFirms утверждает, что при наличии полноценной команды разработчиков:
- «Многофункциональные высоконагруженные приложения», такие как Instagram и Uber, занимают от 4,5 до 5,5 месяцев для разработки;
- «Приложения со средней степенью сложности», такие как WhatsApp или QuizUp, требуют для создания около 4 - 6 месяцев;
- «User-friendly приложения с меньшей функциональностью», такие как Tinder и Periscope, занимают от 3 до 4 месяцев.
Оба исследования показывают, что разработка мобильного приложения это примерно 3−5 месячный процесс. Естественно, что в зависимости от сложности и объема приложения эти сроки могут изменяться, в целом этот период времени является типичным.
Давайте теперь рассмотрим основные этапы создания приложения, чтобы понять, какие факторы влияют на срок разработки.
Ключевые этапы разработки мобильного приложения или почему так долго
Разработка мобильного приложения — это «итеративный процесс», в котором можно органично перемещаться между различными этапами исследования, разработки, тестирования, настройки и выпуска приложения. Но нам кажется, что будет полезно определить несколько основных этапов.
Этап 1: Исследование и планирование
В прошлой статье мы с вами разбирали этот этап, немного повторимся. Самая первая ступень работы над созданием мобильного приложения включает в себя ответы на два основных набора вопросов:
- Почему я хочу создать это приложение? Почему оно должно существовать? Какую пользу принесет миру? Люди действительно захотят использовать его? Какие люди? Зачем?
- Существуют ли уже приложения такого вида? Если да, то в следствие чего я считаю, что могу победить своих конкурентов? Чем мое приложение будет отличаться, и почему оно будет лучше, того, что уже имеется?
По существу, для того чтобы глубоко понимать ваш целевой рынок и аудиторию, нужно ответить на следующие вопросы: «Что мое приложение должно делать?» «Почему оно существует?» и «Как я смогу обойти своих конкурентов?»
Следует провести обширные исследования рыночного спроса и потребностей клиентов, будучи уверенным что: а) определили и обосновали монетизируемую боль клиента, b) рассчитали размер вашего рынка и c) подтвердили идею своего продукта.
Достаточно трудно точно определить сколько займет сбор и подтверждение этих важных данных. Вероятнее всего, вам нужно отвести на это 2−3 недели.
Этап 2: Функции и фичи
После анализа потребностей вашей целевой аудитории, осознания ее болей, определения объема спроса на рынке — настало время для формирования функционала мобильного приложения и определения его ключевой особенности.
Это этап, на котором следует определить, как приложение должно функционировать:
- Что оно должно делать?
- Какие задачи, функции и операции должно выполнять (интеграция с другими приложениями, чат и т. д.)?
- Как оно будет обрабатывать данные? Будет ли собирать исходные данные от пользователей или использовать существующие структуры?
Это момент, когда вы будете создавать «визуальный прототип», то есть «представление пользовательского интерфейса приложения, показывающего экраны контента и связь между этими экранами». Прототип поможет выявить проблемы юзабилити и усовершенствовать пользовательский интерфейс.
На этом этапе вы также разработаете «варианты использования» — шаблоны для того, чтобы понимать, как ваша целевая аудитория будет взаимодействовать с приложением. Запомните: «чем больше функций вы добавите, тем сложнее будет ваш продукт, и тем больше времени потребуется на создание вашего приложения».
Одним из наиболее важных решений, которое вам предстоит принять на этом этапе, является то, будет ли ваше приложение поддерживать несколько операционных систем и / или устройств или, в качестве альтернативы, ограничиваться только одной операционной системой и / или устройством. На практике это обычно означает, что вам нужно решить, будет ли ваше приложение доступно для iOS, Android и / или Windows.
Почему этот выбор имеет значение с точки зрения сроков?
2 простые истины:
- Разработка приложения для более чем одной операционной системы и / или устройства практически всегда занимает больше времени.
- Хотя с течением времени разница становится менее выраженной, на данный момент, разработка приложения для Android обычно требует на 20−30% больше времени, чем создание приложения для iOS.
Обычно iOS является предпочтительной платформой, из-за небольшого количества целевых устройств и версий ОС. Гораздо проще убедиться, что ваше приложение работает безупречно на каждом из них, нежели проверять его, разработав одновременное решение для нескольких операционных систем. Кроме того, приложение практически невозможно оптимизировать для каждого Android устройства, ведь сейчас их насчитывается более чем 12 000 разных видов.
Таким образом, создание и тестирование приложений для Android потребуют больше времени, если вы не ограничите количество поддерживаемых устройств и разрешений экрана. При создании приложения для обеих платформ, продолжительность и бюджет вашего проекта могут удвоиться.
Намереваясь разрабатывать приложение как для iOS, так и для Android (и, возможно, для Windows), вы можете следовать по одному из двух путей:
- Использовать языки программирования специфичные для каждой конкретной платформы; или
- Использовать кросс-платформенный инструмент разработки (прим.: Apache Cordova, React Native и т.п.), чтобы одновременно создавать обе версии и тем самым оптимизировать процесс.
Даже после этого невозможно с уверенностью предсказать продолжительность разработки. Вы должны заложить на выяснение основных функции и фич приложения от 3 до 5 недель.
ЭТАП 3: Технические возможности, дизайн и разработка
Итак, вы определили как приложение должно работать и чего вы от него ожидаете. Далее следует убедиться, что эти функции и особенности действительно могут существовать и работать соответствующим образом. Простыми словами, вы и ваша техническая команда должны быть уверены, что сможете обеспечить совместимость back-end и front-end.
Lauren Stewart дает полезное описание этих двух взаимосвязанных структур:
«Front-end разработчики занимаются анализом кода, дизайном и улучшением UX. Они управляют тем, что люди впервые видят в своем браузере или приложении. Будучи Front-end специалистом, вы отвечаете за внешний вид, логику и дизайн сайта.
Back-end относится к серверной стороне разработки и, в основном, сосредоточен на том, как работает сайт. Обычно состоит из трех частей: сервера, приложения и базы данных. Код, написанный Back-end разработчиками, передает информацию о базе данных в браузер или приложение».
Технически Front-end процессы включают в себя кэширование, синхронизацию, прототипирование, UI дизайн, UI разработку и отладку пользовательского интерфейса. Хранение данных, управление пользователями, серверная логика, интеграция данных, push-действия и управление версиями относятся к Back-end.
Крайне важно, чтобы Back-end и Front-end разработчики поддерживали постоянную связь друг с другом, в противном случае вы рискуете создать ситуацию, при которой в приложении работа одних будет конфликтовать с работой других.
Важнейшая часть создания приложения требует получения доступа к основным данным, на которых все будет работать.
Вы будете использовать публичные API ключи? Или будете создавать уникальный код?
API — это «Интерфейс прикладного программирования», проще говоря, он представляет собой набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах. Используется программистами при написании всевозможных приложений.
Крупнейшие приложения в мире — от DropBox, Facebook и Instagram до Skype, Twitter и Uber — имеют общедоступные API, которые разработчики могут использовать при создании своих собственных приложений.
В качестве примера, Tinder, использует API Facebook: пользователи Tinder входят в систему через свои профили Facebook, что устраняет необходимость приложения в создании собственной аудитории пользователей с нуля.
Определение front-end и back-end совместимости (в качестве предшественника, или в качестве задачи выполняемой вместе) требует участия в проектировании UX и UI, включая прототипирование.
Часть UX дизайна — «wireframe» представляет собой «двумерную иллюстрацию интерфейса страницы или приложения, которая специально фокусируется на распределении пространства и определении приоритетности контента, доступных функциональных возможностей и предполагаемом поведении пользователя».
Wireframe — набор серых блоков, которые помогают:
- Соединять информацию приложения;
- Уточнить согласованные способы отображения информации в пользовательском интерфейсе;
- Определить предполагаемую функциональность в интерфейсе;
- Приоритезировать контент, определяя, сколько места выделить для данного пункта и где разместить этот элемент на экране.
Примеры Wireframe, а также ответы на часто задаваемые вопросы о UX-разработке от заказчика можно увидеть в статье.
Прототипирование (wireframing) может выполняться на разных этапах цикла создания и уточнения продукта.
Например, некоторые предпочитают разрабатывать wireframe на ранней стадии фазы определения функций и фичей.
Другие считают, что wireframing более целесообразно задействовать в стадии проектирования и разработки, рассматривая его в связке с исследованиями front-end и back-end совместимости.
После завершения прототипирования следует создать графический пользовательский интерфейс (GUI), в котором создаются / добавляются конкретные шрифты, цвета, темы и значки.
Результат — четкое визуальное направление наряду с макетами, которые показывают вашим инженерам предполагаемый конечный продукт и то, как взаимодействие должно происходить и ощущаться внутри вашего приложения.
Технические спецификации, связанные с фактической разработкой (т. е. с написание кода мобильного приложения) выходят за рамки данной статьи.
Однако стоит сделать одно краткое, но важное замечание по этой теме.
Вы можете создать новое приложение, используя для этого специально разработанные программные платформы, но мы рекомендуем работать с профессиональными компаниями-разработчиками, которые, имея опыт, помогают предпринимателям успешно реализовать свои идеи. Разработка (создание кода продукта), несомненно, один из наиболее сложных и трудных этапов построения мобильных приложений.
Стадия разработки, несомненно, одно из наиболее сложных и трудных этапов создания мобильных приложений. Наш опыт доказывает, что лучшее решение для разработки вашего приложения — обратиться в компанию опытных разработчиков. В таких компаниях, как INOSTUDIO, команды состоят из экспертных разработчиков и дизайнеров, менеджеров и тестировщиков, которые точно помогут вам создать надежное, стабильное, привлекательное и высокопроизводительное приложение. И оно точно понравится вашим пользователям.
В целом, все активности 3-его этапа займут не меньше 1−2 месяцев.
Фаза 4: Тестирование и доработка
Заключительной стадией, связанной с созданием вашего приложения (за исключением фактического запуска и связанных с ним маркетинговых мероприятий), — тестирование и доработка.
На данном этапе, в некотором смысле, тестирование является частью фазы разработки, поскольку ваши программисты и альфа-тестеры будут постоянно пытаться «сломать» ваше приложение, во время создания приложения, чтобы находить и исправлять ошибки в коде перед запуском.
Этот тип тестирования является внутренним для вашей организации, поскольку ваш персонал (будь то сотрудники или подрядчики) будет выполнять стандартизованную диагностику до того, как ваше приложение попадет в руки реальных конечных пользователей.
Однако с другой стороны, тестирование может быть самостоятельным этапом, как только внутренняя команда проверила альфа-версию приложения, оно будет отправлено ограниченной аудитории, чтобы его можно было протестировать в реальном мире.
Бета-тестирование — это стресс-тестирование приложения «вне лаборатории»: так можно выявить, как им будет пользоваться ваша целевая аудитория. Они получат возможность использовать приложение так как им нравится, а не как вы планировали.
На этом этапе больше не нужно определять то, как реагирует приложение, когда вы пытаетесь использовать его в том виде, в котором оно было предназначено для использования; вместо этого бета-тестирование — о том, как ваше приложение держится, когда «обычные люди» загружают его на свои телефоны и получают свободу, чтобы использовать его так как им удобно.
Альфа-тестирование выявляет основные ошибки и сбои, тогда как бета-тестирование должно выявить ранее немыслимые проблемы и сбои, которые могут произойти «в свободном полете».
Альфа и бета-тестирование являются важными этапами для создания надежного и успешного приложения. Если вы провели раунд (или несколько раундов) альфа-тестирования, то ваша стадия бета-тестирования не должна занять много времени, поэтому на тестирование и доработку мы отводим приблизительно 3−4 недели.
И напоследок
Суммируя время, рассчитанное для каждой из четырех основных фаз, описанных в этой статье, мы выявляем срок для создания мобильного приложения — не менее 4−5 месяцев. Наша компания предоставляет проектные команды на ИТ-проекты. В статье рассказали как проходит работа на ИТ-аутсорсинге.
Таким образом, мы видим, что создание приложения — довольно долгий и сложный процесс, который требует много подготовки, терпения и самоотверженности для того, чтобы выполнить все должным образом. Далее поговорим о стоимости разработки приложения.