Как мы ускорили выпуск фич с помощью сервисов удаленной конфигурации
Расскажем, как и почему сервисы удаленной конфигурации помогут сократить расходы на разработку мобильного приложенияЗадача:
Внедрить сервис удаленной конфигурации для более гибкой, удобной настройки приложения с бизнес-стороны.
Причина:
Заказчик хотел облегчить процесс доступа и изменения контента внутри своего приложения. На момент обращения, содержимое было зашито и менялось только при выпуске обновлений на мобильное приложение. Для оптимизации затрат на разработку предложили использовать удаленную конфигурацию.
Некоторые мобильные бизнес-приложения динамично меняются, чтобы оставаться актуальными для своих клиентов. Достичь именно такой гибкости в мобильном приложении, которая позволит обновлять содержимое на экране у пользователя, получается не у каждого. Здесь на помощь приходят инструменты удаленной конфигурации, которые решают данную проблему и помогают не только с наполнением контента, но и с вопросами функциональных возможностей пользователей.
В этом кейсе расскажем, как внедрение сервиса удаленной конфигурации помогло нашему заказчику не только облегчить процесс доступа и изменения контента внутри своего приложения, но и уменьшить время выхода актуальной версии мобильного приложения на площадки магазинов.
С какой задачей обратился клиент
К SimbirSoft обратился крупный поставщик услуг в финансовом секторе. Задача — сократить время от зарождения идеи до выпуска в релиз. К тому же, заказчик хотел довольно часто проверять гипотезы на рынке и менять контент внутри приложения. Однако на момент обращения содержимое было в нем «зашито» и менялось только при выпуске обновлений.
Нашей команде нужно было придумать, как облегчить процесс изменения контента внутри приложения, а также сделать интерфейс, с помощью которого бизнес-партнеры клиента могли бы управлять своими товарами и услугами, не основываясь на времени выпуска новых версий приложения.
Какое решение предложили и почему
Мы тщательно изучили приложение заказчика, предложили несколько разных вариантов решения задачи, но после обсуждений остановились на универсальном — внедрении сервиса удаленной конфигурации. Он способен закрыть все проблемные места и не требует постоянного вмешательства со стороны команды разработки, что сильно экономит время до релиза и позволяет:
- сделать приложение более гибким для изменения внутреннего контента;
- создать интерфейс для заказчика и отдельный единый интерфейс, посредством которого авторизованные бизнес-партнеры клиента могут публиковать тематические предложения для пользователей приложения;
- проверять гипотезы на рынке в рамках предоставленных сервисом возможностей.
Эти механизмы позволяли закрыть все задачи клиента. Однако внедрение такого сервиса требует определенной кодовой базы, чтобы приложение получало удаленную конфигурацию с сервера. Но эти особенности могли быть не заложены изначально в архитектуру и в целом в структуру приложения. В этом случае потребовалось бы дорабатывать методы жизненного цикла приложения, настраивать связь с сервером для обмена необходимыми токенами и, конечно, получать конфигурацию еще на этапе запуска ПО.
Чтобы это оценить, мы провели аудит мобильного приложения. Процесс занял у нас чуть больше 1,5 недель. В итоге выявили места, требующие доработок, а также согласовали план работ по внедрению сервиса удаленной конфигурации.
Как решали задачи
После тщательного анализа приложения и его архитектуры нам стало ясно, что необходимо выполнить тонкую работу, ведь приложение уже находится на рынке и имеет большое количество активных пользователей, а значит, нарушать работоспособность существующих частей и сервисов приложения недопустимо.
Подготовку проекта внедрения сервиса удаленной конфигурации начали с доработки архитектуры. Заранее обсудили с заказчиком, какие компоненты приложения он хочет регулировать.
Сервисы приложения были жестко разделены и могли регулироваться интерфейсом с двумя состояниями — вкл/выкл. Такое разбиение внутренних компонентов не только помогает точно знать, в каких частях приложения используется сервис (ведь это удобно, например, для составления карты приложения), но и соблюдать принцип единой ответственности (Single Responsibility) при написании кода. Впоследствии это сделает поддержку приложения более легкой для команды и более дешевой для бизнеса.
После подготовки архитектуры приступили к внедрению самого сервиса. Особое внимание уделили конфигурациям. Неправильная конфигурация может привести к последствиям, сравнимым с потерей важных данных, когда не будут присылаться/обрабатываться пуши, приложение будет полностью выключаться, а внутренние сервисы будут переставать функционировать. Получить конфигурацию, на которой будет в дальнейшем «строиться» приложение, необходимо как можно раньше, не замедляя при этом старт приложения. Используя наш многолетний опыт взаимодействия с такими сервисами, мы быстро нашли решение и успешно встроили его в мобильное приложение, не нарушив работоспособность текущих сервисов.
На этап аналитики, который включал в себя доработку архитектуры приложения, корректировку потока данных, конфигурацию на основе удаленных состояний и слияние с существующими сервисами и модулями проекта, ушло 3 недели. На написание кода для адаптации приложения к подключению сервиса удаленной конфигурации — еще 1,5 месяца. В результате менее чем за 2,5 месяца заказчик получил то, что хотел.
Каких результатов достигли
Наша команда успешно справилась с поставленной задачей. Мы внедрили возможность удаленного наполнения контентом для управления уже существующими сервисами и модулями, а также создали необходимые условия для проверки заказчиком своих гипотез.
В результате были не только выполнены все условия заказчика, но и удалены ненужные артефакты, что помогло сделать сборку приложения быстрее на 7%.
Команда разработки больше не занималась рутинными задачами изменения контента внутри приложения, а могла сосредоточиться на тех, которые имели более высокий приоритет для бизнеса, что помогло ускорить выход новых идей со стороны заказчика на рынок более чем на 15%.
Мы разработали интерфейс, посредством которого заказчик мог управлять внутренним содержимым всего приложения, иметь возможность включать и выключать функциональные особенности приложения у пользователей. Бизнес-партнерам заказчика, в свою очередь, предоставили конструктор, с помощью которого они смогли управлять своими товарами и услугами. Интерфейсы получили исключительно положительные отзывы и в итоге способствовали появлению новых партнеров у клиента: за 2,5 месяца их число возросло на 25%.
Одним из важнейших результатов для бизнеса стало удешевление разработки за счет сосредоточения команды на более приоритетных задачах.
Вместо вывода
Внедрение сервисов удаленной конфигурации — это скорее не тренд, а база для современных мобильных приложений. Его добавление поможет не только удешевить процесс разработки, сократив время, но и откроет новые возможности.
Данное решение найдет отклик у проектов с долгим time to market (периодом выпуска фич на рынок), а также приложений, которые требуют внесения изменений содержимого чаще, чем раз в релиз.
Время выпуска фич в релиз сократилось на 15%. Команда предоставила несколько интерфейсов для конфигурации приложения и его содержимого
Источники изображений:
Freepik.com
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Профиль
Социальные сети