Привет! Меня зовут Сергей Солдатов, я директор по продукту в компании 65apps. Мы разрабатываем мобильные приложения, используем в работе продуктовый подход. Хочу поделиться с вами нашим недавним кейсом, где именно продуктовый подход помог погрузиться в непривычную предметную область и создать сервис с уникальной ценностью. Это наш совместный проект с компанией «Аскона» — приложение для управления умной спальней.

Для начала забавный факт: перед началом работы всей проектной группе, а это: директор по продукту, арт-директор, руководитель проекта, аналитик, дизайнер, разработчики iOS, Android и QA-специалист, «Аскона» передала свои умные девайсы, — видимо, чтобы мы лучше высыпались и продуктивнее работали. Прямиком с завода к нам в ижевский офис приехали подушки, трекеры сна, основание кровати — все это было необходимо подключить. Мы действительно спали на этих подушках — и это тот самый случай, когда я готов их неистово рекомендовать. Я уже не смог вернуться к своей старенькой синтепоновой, и после сдачи проекта купил всей семье «умные» подушки («Аскона» не платит мне за рекламу, а жаль).

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

Продуктовый подход


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

Что такое «Умная спальня»? Это экосистема из самых разных устройств — от управляемого основания кровати до умных светильников и гардин. С ее помощью можно создавать в спальне индивидуальную атмосферу, максимально подходящую для комфортного сна.

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

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

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

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

Как мы превращали идею в продукт


На первой встрече с заказчиком, мы определили основные сценарии взаимодействия с приложением и порядок подключения устройств.

В MVP вошли три устройства:

Smart pillow — умная подушка, которая отслеживает сердечный ритм и частоту дыхания человека;

Sleep-dot — небольшой датчик, контролирующий уровень влажности и температуру воздуха в помещении, а также фиксирующий время засыпания человека;

основание кровати Ergomotion, которое состоит из нескольких секций с изменяемым углом наклона и умеет делать массаж.

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

На этой же встрече мы набросали примерный Customer Journey Map, но в начале работы оставалось ощущение, что он все же не закрыт, поскольку на старте многое не было видно. Сначала наша фантазия ограничивалась теми решениями, которые уже были доступны, поэтому многие крутые идеи приходили уже в процессе работы. Например, в ходе работ над MVP я увидел ту фичу, которая будет отличать наше приложение от аналогичных решений. Подключаемые устройства передают в приложение множество самых разных данных, но сама по себе их ценность не так велика для пользователя, да и разобраться в них непросто. Мы решили, что наше приложение должно давать пользователю не только скоринг, но и персонализированные советы о том, как сделать сон лучше. Эта идея прекрасно ложилась в цели Асконы и видение продукта, так что клиент подключил к работе над рекомендациями своих экспертов-сомнологов — специалистов, которые занимаются профилактикой и лечением расстройств сна.

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

Еще за три спринта мы разработали аналогичный сценарий подключения слип-дота и переключение между устройствами.

Чуть больше времени нам потребовалось на подключение основания. Во-первых, внесла свои коррективы пандемия — команде пришлось по строгому графику ездить в офис для тестирования устройств. А во-вторых, для подключения нам пришлось писать собственные библиотеки.

Разработка: что делать, если нет SDK


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

У нас даже мемы свои появились: «отправить команду на основание» и «перезагрузить подушку».


Пожалуй, сложнее всех пришлось разработчикам.

На старте работ у них не было никаких SDK к девайсам. Попытка декомпилировать «родное» приложение дала нам 16 тыс. строк кода с комментариями на китайском.

Здесь пригодился навык поиска на Github — SDK для подушки и слип-дота ребята нашли именно там, а вот SDK для основания пришлось писать самим.

Документация содержала ряд ошибок, при написании кода возникли сложности в соединении по Bluetooth. Пришлось даже сниффить трафик, чтобы найти расхождения с документацией. Они были небольшие, но на работу приложения влияли.

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

Приложения мы писали с использованием Clean architecture, нам важно было предусмотреть дальнейшее масштабирование продукта.

Редизайн в середине проекта


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

image

Все выглядело убедительно и заказчик согласовал макеты.

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

Наши дизайнеры полностью переосмыслили всю работу приложения и некоторые пользовательские сценарии.

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

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

image

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

image

В приложение мы добавили возможность сохранять пресеты — индивидуальные настройки основания. В заводском пульте такой функциональности нет.

Несколько решений мы искали и за пределами работы приложения. Например, что делать, если девайс разрядился? И как помочь пользователю предотвратить такие ситуации? Наше приложение периодически запрашивает у устройств уровень заряда. Если он низкий, то в карточке устройства отображается соответствующий индикатор. Так пользователь вовремя успеет зарядить свой девайс.

Тестирование: берем работу на дом


Тестирование приложения шло непрерывно, с самого первого спринта.

Сначала протестировали дизайн. Наш дизайнер собирал максимально кликабельные прототипы для спорных моментов, мы тестировали их внутри своей команды.

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

Тестировщикам пришлось буквально сродниться с умными устройствами. Для проверки рекомендаций нужны были реальные данные, а получить их можно только во время сна. Ребятам приходилось брать домой подушки и доты, на ночь подключать устройства и запускать тесты, а с утра все проверять. Если что-то шло не так и тест не срабатывал, следующая возможность проверки выпадала только ночью.

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

От них мы почти не получили замечаний о работе приложения. Это говорит о том, командная работа на нашей стороне была продуктивной — мы сделали качественный, удобный и понятный продукт.

Что дальше?


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

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