title image

Разработка мобильных приложений: процесс и прогресс

Жизненный цикл разработки мобильного приложения включает множество этапов. Невозможно утверждать, какой из них важнее и выделить специалиста, играющего главную роль в этом процессе. Вместе с СЕО международной IT-компании Involta Алексом Концовым разбираем основные этапы создания мобильного приложения и составляем прогноз на недалекое будущее. 

Алекс Концов фото с сайта Involta

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

По запросу «Мобильное приложение» Google Trends выдает график, демонстрирующий уверенный рост интереса к теме. Пиковая точка — 2020 год. Даже по одной этой кривой можно оценить растущую роль мобильных разработок в нашей жизни. Все уже привыкли, что касанием экрана смартфона можно получить практически всё, что угодно. Но что стоит за привлекательными иконками, с которыми ассоциируется у пользователей то или иное приложение? Как так происходит, что, нажимая на них, мы получаем доступ к целому миру общения, услуг, развлечений?

Идея

Как говорил Герберт Уэллс: «История человечества — история идей».  Это справедливо можно отнести и к эволюции мобильных телефонов, которая тоже сплошная история идей о том, как объединить в одном устройстве функции телефона, персонального компьютера, фото и видеокамер и личного помощника. 

Сегодня в эти небольшие  устройства можно уместить любую идею или явление действительности. Более того, можно создать то, чего даже нет в реальности (VR, AR, Ai-технологии). И каждое отдельное приложение — воплощение чьей-то идеи. В основе всех их — желание улучшить и облегчить жизнь пользователя. А уже потом решение индивидуальных творческих, технических, финансовых задач создателей. Потому что приложение, не решающее никаких пользовательских проблем, изначально обречено не провал. 

«Когда стремление заказчика усовершенствовать свой бизнес, повысить продажи, стать ближе к потребителю пересекается с попыткой попасть в боли и потребности пользователя, рождается потенциально хорошая идея мобильного приложения. Далее за неё берутся аналитики и маркетологи. После глубокой работы по анализу рынка, уже существующих решений, потребительских потребностей, сбора обратной связи от потенциальных пользователей, корректировки целей и вынесения положительного «вердикта» о судьбе идеи, она разворачивается в подробное техническое задание для команды и отправляется на реализацию», — говорит Алекс Концов.

 Прототип и MVP

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

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

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

Изображение с pixabay.com

Разработка и тестирование

Самый специфический и часто непостижимый для обычного пользователя процесс — непосредственная разработка приложения. Он представляет собой техническое воплощение идеи заказчика, маркетологов, дизайнеров при помощи кода.

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

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

Но и на этом работа не заканчивается. Любое готовое приложение обязательно проходит проверку — ручное или автоматическое функциональное тестирование. Цель процесса — выявить ошибки и ликвидировать их, чтобы пользователь получил максимально удобный и бесперебойно работающий продукт. Основная сложность на этом этапе связана с тем, что не всегда удаётся обнаружить проблемное место в программе быстро и ликвидировать его минимальными усилиями. Чаще всего это требует значительного времени, так как  исправление одной части кода влечёт за собой трансформацию на других его отрезках. Получается такой принцип домино — исправление одной ошибки может привести к переписыванию значительной части программы. 

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

Команда 

Даже объективно удачная идея приложения может не «выстрелить», если поручить её посредственной команде. И речь здесь не только о техническом костяке — программистах, а о коллективе в целом. Потому что один разработчик, даже очень талантливый, не всегда в состоянии самостоятельно реализовать весь жизненный цикл создания мобильного приложения. Ну а если он всё-таки «универсальный боец» и владеет комплексным инструментарием от анализа рынка до дизайна и раскрутки продукта, придётся значительно увеличить сроки, что не всегда возможно и практично. 

Среди специалистов, которые трудятся над приложением, можно выделить 6 ключевых: менеджер проекта, бизнес-аналитик, дизайнер, программист, тестировщик, маркетолог. Они обязательно работают в тесной  связке между собой и должны иметь представление не только о своём предмете, но и о смежных. Так, обычный дизайнер не справится с дизайном мобильного приложения, если не знает, как работают программисты и не представляет сценарии потребительского поведения. 

«Например, у нас в отделе дизайнер погружается в максимальный спектр вопросов по проекту, совместно ведётся аналитика, рождаются гипотезы и обкатывается механика. Распределив роли в команде, крайне необходимо выработать верную стратегию разработки: провести правильный анализ, спроектировать пользовательский опыт. В нашей практике мы проходим схему: «User story — прототип — MVP версия продукта», где на каждом этапе проверяем начальные и текущие гипотезы», — рассказывает Алекс Концов. 

Хороший продукт должен быть сочетанием «идеологических» (история создания, миссия продукта, использование графики, текстовых и печатных материалов и т.д.), и технических (back end, UI/UX, визуальная стилистика, сценарии использования, команда поддержки и т.п.) составляющих. А хорошая команда — это и есть тот фактор, который позволяет воплотить их сочетаемость.

 

 

Заказчик и сроки

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

—Верный способ минимизировать зависимость от сторонних клиентов — работать над собственными продуктами, — делится опытом Алекс. — В нашей компании это направление стоит едва ли не на первом месте: мы не только выполняем заказные проекты, но и активно развиваем свои. Ещё один вариант — партнёрство и контракты с государственными органами, которые тоже стараются идти в ногу со временем и переводить в цифровую мобильную среду часть своих рабочих процессов, услуг населению и т.д. Интересным случаем в нашей практике стало сотрудничество с городской администрацией совместно с которой мы создали приложение мобильный путеводитель по г. Иваново «Гид Инвольта». В ближайшем будущем надеемся пополнить свои кейсы  путеводителями по другим городам Золотого кольца России, — говорит разработчик.

 

 

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

—Поэтому всегда проще делать внутренний продукт, когда исполнитель сам выступает в роли заказчика, — считает Алекс Концов. —Так одним из самых спринтерских проектов у нас стала образовательная площадка involta.science, которую мы изначально разрабатывали в рамках платформы «Университет 20.35» и сделали буквально за три дня. Тогда мы обучили на ней основам программирования более 300 человек за месяц. Теперь усовершенствовали и расширили до полноценного EdTech-проекта. Конечно это не мобильное приложение, но данный пример хорошо иллюстрирует то, как ясность целей и чёткое представление итогового продукта, могут повлиять на сроки выполнения задачи IT-командой, — говорит Концов. 

Изображение с pixabay.com

От процесса к прогрессу

В 2016 году объём мирового рынка мобильных приложений составлял $1.6 трлн., а к 2022 году эксперты прогнозируют его рост до $6.3 трлн. Исходя из этих цифр легко представить кривую роста в этой сфере на ближайшие годы. И это при том, что мобильная разработка является довольно новой нишей, развитие которой ещё впереди. Поэтому, если вы давно присматривались к мобильной разработке как потенциальному варианту занятости или возможному бизнес-инструменту, сейчас самое время запрыгнуть на этот стремительно набирающий обороты IT-сегмент. 

При этом стоит понимать, что разработка отличается очень высокой скоростью обновления. Чтобы не очнуться завтра в неузнаваемом мире, нужно постоянно быть в курсе свежих тенденций. Можно составлять топ-10, топ-15, топ-20 ведущих тенденций из мира IT и мобильной разработки. Выделим несколько самых мощных и бесспорных трендов, влияние которых каждый ощущает прямо сейчас. 

Кроссплатформенность 

Как правило, разработчики выбирают узкую специализацию относительно платформы для которой создают приложение: одни пишут только под iOS, другие под Android. Однако, чтобы получить наибольшую отдачу,  бизнесу/заказчику необходимо присутствовать одновременно на обеих площадках — и AppStore и Google Play, то есть, по сути создавать параллельно или последовательно два обособленных продукта. Отсюда двойные затраты по времени и средствам. Поэтому эксперты склонны считать, что в скором времени на авансцену мобильной разработки выйдет кроссплатформенный подход, который практикуется уже сегодня, но часто подвергается критике «чистых» специалистов. Кроссплатформенная разработка, например, на React Native, позволяет делать приложение адаптированное одновременно к обеим площадкам. 

Super App

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

Уже сегодня мы имеем пример ВКонтакте — проекта, который из просто социальной сети превратился в суперапп: комплексный продукт, сочетающий в себе возможности разных приложений. Здесь можно пообщаться,  перевести средства, заказать продукты и  найти работу. По этому же пути идут Сбербанк, Тинькофф и ВТБ. Особую популярность это направление уже приобрело в Китае и Индонезии. 

IoT — интернет вещей

Из самого понятного наглядного примера IoT-устройства можно привести систему «умный дом»: объединение в единую сеть разных устройств с возможностью  взаимодействия/настройки/управления ею человеком. Приборы и датчики собирают информацию при помощи сенсоров, отправляют на единый компьютер, который обрабатывает данные и даёт ответную команду. 

Интернет вещей — неоднозначный тренд. Одних он вдохновляет, других пугает и настораживает. С одной стороны IoT-системы могут стать незаменимыми помощниками людей, а с другой — могут повести себя непредсказуемым образом, учитывая минимальное участие в управлении ими со стороны человека.

Уже сегодня число устройств объединённых таким образом в сеть, превышает численность людей на планете. Отсюда страхи многих футуристов и впечатляющие образы писателей и режиссёров-фантастов. Даже Национальная разведка США признала IoT-технологии одной из угроз информационной безопасности человечества. 

Изображение с unsplash.com

Облачные технологии

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

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

Искусственный интеллект

Ai (artificial intelligence) или искусственный интеллект уже сегодня является частью повседневной реальности. Ещё 10 лет назад возможность разговаривать с собственным телефоном и таким образом решать, например, свои бытовые вопросы, казалась нам фантастикой. Сегодня при помощи  голосовых помощников на основе искусственного интеллекта пользователь может и записаться на приём к врачу и отправиться в кругосветное путешествие. 

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

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

 

Интересно? Поделитесь с друзьями!
  •  
  •  
  •  
  •  
  •  
  •  

Похожие статьи

Imaguru Video

Популярное