Мобильный гид для туристов

# Советы клиентам, Из нашей практики
Февраль 2020 г
SimbirSoftMobile

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

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

Наша команда участвовала в мобильной разработке для Android- и iOS-платформ, координировала задачи подрядчиков по дизайну, контенту и backend-разработке и налаживала взаимодействие в параллельных командах и отвечала за конечный результат.

«Среди наиболее важных факторов разработки этого информационного продукта можно выделить многоуровневую структуру управления проектом, сжатые сроки и мультикультурный характер приложения», — поясняет директор mobile.SimbirSoft Дмитрий Петерсон.

Управление проектом в условиях сжатых сроков

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

Мы часто сотрудничаем в таком формате, работая совместно с внутренними («инхаус») командами наших заказчиков из разных отраслей бизнеса, и нам доверили управление всем проектом с распределенными подрядчиками.
За время работы мы сформулировали следующие рекомендации для выпуска продукта вовремя и его максимального качества:

  1. Работайте в параллельных командах, если это возможно. Иногда эксперты по мобильной разработке, дизайну и обеспечению качества могут выполнять задачи одновременно, не дожидаясь друг друга, в рамках единого технического задания. Это помогает направить в нужное русло усилия и ресурсы всех участников. 
  2. Сначала создавайте основные функции, а затем приступайте к сопровождению приложения и дополнительным фичам, важным для комфорта пользователей.
  3. Используйте итеративный подход и создавайте общую дорожную карту со всеми задачами и сроками. В этом проекте мы перед каждой итерацией составляли отдельный план работ. Для примера приведем один из этапов:

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


scrum.org

Чтобы обеспечить скорость и эффективность работы, мы строили процесс управления с использованием практик Scrum. Все крупные этапы создания продукта разделили на спринты — короткие временные промежутки от 2 до 4 недель.

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

Рекомендации 

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

  1. Использовать проверенные наработки. При создании приложения было важно проверить стабильность продукта в условиях высокой нагрузки с помощью автоматизированного нагрузочного тестирования. Приложение его с успехом выдержало — 230 000 человек установили и активно использовали мобильный гид в течение месяца. 
  2. Учитывать мультикультурный характер продукта. Пользовательский опыт туристов из разных стран может сильно различаться. Это требует тщательной проработки UX информационного продукта еще на старте.
  3. Заботиться о безопасности. В продуктах интернационального масштаба недопустимы баги, зависания, утечки личных данных. Первостепенной задачей было обеспечить стабильную и быструю работу приложения, а для этого – продумать архитектуру и процессы разработки, применяя испытанные фреймворки (Android SDK, iOS SDK) и библиотеки (для iOS – RxSwift, Realm, APNs, YandexMapKit, для Android – Retrofit2, RxJava, Gson, Lombok), а также предусмотреть процессы обеспечения качества.
  4. Обеспечить автономность. Для пользователей в чужом городе или стране необходима возможность обращаться к приложению даже без доступа в интернет (оффлайн). Например, скачать его в отеле, а пользоваться в любой точке города. Для этого важно разграничить слои приложения уже на старте. Нужно реализовать механизмы синхронизации с сервером для загрузки маршрутов, инфраструктуры и другого контента, а также для его последующего обновления при подключении к интернету.
  5. Построить навигацию. Маршрут в приложении должен быть доступен пользователю с помощью привычных источников: Яндекс.Навигатора, других приложений или браузера. На карте выделяются важные объекты городской инфраструктуры: кафе и рестораны, парки, музеи, достопримечательности и прочие.
  6. Развивать экономику впечатлений. Международные бренды стремятся создавать новую ценность продукта через эмоции, берут курс на экономику впечатлений, которая рано или поздно затронет все отрасли. Мобильное приложение с удобным интерфейсом, созданным по всем требованиям UX, становится необходимым слагаемым для такого рода продуктов. 

«Мобильный гид выступил в роли виртуального личного помощника, который полностью курировал навигацию туриста в незнакомом городе – буквально «за руку» отводил его в нужное место», — директор mobile.SimbirSoft Дмитрий Петерсон.

Результаты

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

19-летний опыт работы над сложными проектами позволил нам наладить работу с распределенными подрядчиками и уложиться в сжатые сроки.