Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В октябре 2020 мы получили задачу разработать приложение на Android и iOS для крупнейшего билетного оператора России. У заказчика были пожелания по срокам, но он и сам понимал, что они не очень реалистичные. Было бы идеально успеть к праздникам в феврале и марте, на которые приходится пик продажи билетов. Нам очень хотелось выполнить желание заказчика и успеть с релизом, поэтому мы приняли вызов. Читайте о том, как мы разрабатывали нативное приложение со множеством функций всего за пару месяцев.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/cdc/844/275/cdc844275d16bde6aa1e29ce3ecb184f.png)
Когда после строгих ковидных ограничений запреты на мероприятия были сняты, люди снова начали ходить на концерты и спектакли. Билетным операторам пришлось тяжело: события часто отменялись, множество офлайн-касс закрылось. Чтобы удержать зрителей и дать им удобный канал для покупки билетов, руководители Kassir.ru решили создать мобильное приложение. Для этого они обратились к нам.
Сроки поджимали: мы приступили к сотрудничеству в октябре, и к февралю уже должны были зарелизить готовое приложение, чтобы успеть к сезону мероприятий. Поэтому мы без промедлений взялись за дело.
Что нужно сделать первым делом, когда горят сроки
От заказчика мы получили стандартные требования для eCom-приложений. Сложность была в другом — в условиях жестких дедлайнов нужно было дать пользователям максимально полезные и нужные функции в первом релизе. А значит, из всех требований мы должны были вычленить ключевые фичи, которые закроют основные потребности пользователей. Список функций для первого релиза получился таким:
Авторизация
Просмотр списка событий и поиск по нему
Просмотр баннеров с акциями
Выбор места на схеме зала
Добавление билета в корзину
Оплата заказа
Скачивание билета
Применение скидочного промокода
Остальные интересные, но менее важные функции мы отложили до следующих обновлений. Например, просмотр истории заказов и покупку подарочных сертификатов. Заказчики с нами согласились и одобрили выбранные функции.
Как проходила разработка от дизайна до релиза
В работе над дизайном приложения было несколько технических сложностей. Для удобства поиска событий нужно было добавить много фильтров по дате, категориям, стоимости, площадкам и другим параметрам, а также сортировку найденных событий по дате или по популярности. При этом нужно было не перегрузить интерфейс.
Чтобы понять, как разместить все эти возможности в приложении и сразу получить одобрение заказчика, мы проработали карту экранов на этапе подготовительной документации. Подробная карта отображала весь путь пользователя и давала представление о том, какие функции попадут в MVP. После согласования мы прорабатывали структуру каждого экрана и параллельно писали техническое задание. В результате мы спроектировали удобную навигацию, которая позволяет пользователю быстро ориентироваться в приложении.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/621/c9e/8cb/621c9e8cb5d96fc394c8e11b56f54639.png)
Как только какой-то из сценариев использования был готов, мы сразу согласовывали и передавали экраны нашим дизайнерам. Одновременно с дизайном команда прописывала рекомендации для бэкенда, чтобы после создания визуала можно было сразу приступить к разработке.
Чтобы наладить оперативный контакт с заказчиком, мы разработали отдельный регламент по согласованию. Команда заказчика понимала, что от скорости обратной связи зависят сроки создания приложения, поэтому проводила ревью максимально быстро. Мы практически сразу получали фидбек и оперативно вносили правки в макеты.
Что касается айдентики, у Kassir.ru уже был устоявшийся корпоративный стиль и веб-сайт, поэтому нам не нужно было изобретать новые цвета и логотипы. Для акцентов и кнопок мы взяли фирменные оттенки Kassir.ru — черный и желтый. Шрифты оставили стандартные iOS и Android: San Francisco и Roboto.
По части визуала заказчик не ставил жестких ограничений, поэтому мы отрисовали много вариантов главного экрана приложения. Одни из них были похожи на сайт, другие сильно отличались от него. В результате заказчик остановился на варианте с горизонтальными карточками и желтым таббаром, который перекликался со стилем сайта.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f32/c9c/617/f32c9c617342bd7f962328af5300adbd.png)
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/1cb/c0d/0aa/1cbc0d0aa77cc6906df9bf34c809e02d.png)
Разработку мы начали еще до полной готовности дизайна, когда стиль интерфейса уже был согласован и по структуре экранов можно было оценить ресурсы на следующий этап. Над этим проектом мы работали по модели оплаты Fix Price, то есть стоимость приложения была фиксированной. Чтобы ускориться, мы решили работать над этапами параллельно и не стали ждать полной готовности макетов для оценки бюджета и начала разработки. Как только карта экранов и основные UI-компоненты были одобрены, мы согласовали бюджет и сразу приступили к разработке.
Еще до согласования первых экранов мы запустили работу по основной архитектуре. Потом разрабатывали сценарии, которые уже были одобрены в дизайне. С приложением Kassir.ru мы работали по методологии Agile — как только создавалась какая-то функция или модуль, она передавалась в тестирование и ее можно было считать готовой. Если нужно было внести изменения в завершенные блоки, разработчики предупреждали об этом тестировщиков, чтобы все работало как надо.
Бэкенд приложения создала команда разработчиков со стороны заказчика, которая отвечала за сайт. Как уже было упомянуто, мы им помогали — писали рекомендации к методам, необходимым для реализации экранов, искали лучшие варианты как для оптимизации работ со стороны бэкенда, так и для удобства работы с данными из приложения.
Тестирование мы начали довольно рано, еще до разработки. Наши тестировщики проверяли документацию и оценивали макеты, чтобы все экраны состояний были на месте — например, экраны ошибок, которые появляются при вводе неправильного e-mail или телефона и другие.
В ходе создания приложения тестировщики описывали чек-листы для разработчиков, проверяли полноту описания задачи перед реализацией. Также специалисты оценивали работу функций по мере их готовности. Мы стараемся проводить тестирование сразу после выполнения какой-либо задачи — так на правки уходит гораздо меньше времени. Перед релизом приложения мы провели полное регрессионное тестирование, чтобы проверить, не появились ли баги после всех внесенных в код изменений.
Оперативный фидбэк от команды заказчика на всех этапах разработки помог закончить проект в сжатые сроки. Мы получили заказ в начале октября, начали разработку 30 ноября и загрузили готовое приложение в AppStore и Google Play Market 27 января. Несмотря на то, что это время выпало на новогодние праздники, этап разработки первой версии длился менее двух месяцев.
Компаниям, которые хотят получить приложение в короткие сроки, я бы рекомендовала приоритизировать задачи. Четко разделять между разработчиками зоны ответственности, чтобы не мешать друг другу. Подключать тестирование еще перед разработкой, чтобы для каждой задачи был чек-лист и разработчики могли себя перепроверять. И не бояться выпускать приложение без функций, которые кажутся важными. Можно просто предупредить пользователей, что нужные функции появятся в следующем обновлении, и таким образом снизить риск возможного негатива.
Владислава Ларкина, Head of PMO
Жизнь после релиза
После выхода первой версии приложения в сторах мы начали работать над добавлением новых функций. На это ушло меньше месяца — обновление вышло уже в феврале. Теперь пользователи могли:
добавлять события в избранное
просматривать историю заказов
знакомиться с акциями на отдельном экране
сохранять QR-код для прохода на мероприятие
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/175/255/914/1752559145c0e1f0e60b2bf493c7b12f.png)
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/a8a/af5/d9d/a8aaf5d9dd6bcbd59b160f8c6bcd3f4e.png)
На этом наша работа над проектом не закончилась. Мы постоянно улучшаем приложение, добавляем новые функции. Сейчас Kassir.ru — сервис, который полностью закрывает запросы людей при покупке электронных билетов. Кроме основных функций, приложение позволяет оставлять обратную связь, просматривать новости компании, покупать билеты в рассрочку, подписываться на любимую площадку, чтобы следить за ее событиями. Также мы проработали систему рекомендаций: добавили блок «Вам также может понравиться» и экран для выбора событий по предпочтениям с персонализированной подборкой мероприятий. Осенью 2023 мы полностью обновили дизайн, сделали его более стильным, современным и удобным.
В первый месяц после релиза приложение скачало более 20 000 человек. С момента выхода его установило более 1 700 000 пользователей. По количеству скачиваний приложение лидирует среди конкурентов, так что мы с уверенностью можем сказать, что достигли цели — повысили конкурентоспособность и привлекли компании больше клиентов. Заказчик остался доволен.
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/e05/138/35f/e0513835f6faef0ebfdcca614406ae78.png)
Если у вас есть идея для проекта и вы хотите выделиться среди конкурентов — обращайтесь к нам. Мы учтем все особенности вашего бизнеса и найдем оптимальное решение для ваших бизнес-задач.