Как стать автором
Обновить
СберЗдоровье
Лидеры российского медтеха

От хаоса к порядку: артефакты системных аналитиков СберЗдоровья, превращающие идею в работающий мобильный интерфейс

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров818

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

Меня зовут Мария Горгоц. Я старший системный аналитик в MedTech компании №1 в России — СберЗдоровье. В этой статье я расскажу о том, как у нас в компании выстроена работа системных аналитиков при проектировании новых фич для мобильного приложения.

Процесс получения задачи

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

Процесс работы с задачей выстроен следующим образом:

  • продакт-менеджер прорабатывает идею, формирует определенное верхнеуровневое видение фичи;

  • первый артефакт (верхнеуровневое видение) передается дизайнеру, который создает макет реализации (экрана или нового компонента);

  • разработанные макеты после UI-тестов и других проверок передаются системному аналитику.

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

Схемы, которые готовят системные аналитики СберЗдоровья

Мы разрабатываем несколько видов схем под разные задачи. Среди них:

  • карта экранов (Screen Map);

  • мокапы экранов (Mockups);

  • карта переходов (Flow Map / User Flow).

Карта экранов

Карта экранов (Screen Map) — визуальная схема, отображающая все экраны мобильного приложения и их иерархию. Она позволяет понять структуру приложения (например, главный экран → профиль → настройки) и дает верхнеуровневое представление о том, что будет происходить в рамках предлагаемого обновления мобильного приложения.

Обычно на карту мы выносим:

  • существующие экраны;

  • новые экраны;

  • экраны из библиотек смежных команд, которые могут быть затронуты обновлением.

Благодаря этому легче понять, какой объем новых компонентов и доработок предстоит выполнить.

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

Мокапы экранов

В нашем понимании мокапы экранов (Mockups) — статичные визуальные макеты интерфейсов, которые отображают расположение элементов (кнопки, поля ввода, изображения) и основные состояния экранов (например, пустая корзина vs заполненная).

Кроме прочего, в мокапах мы можем:

  • комментировать поведение всех элементов;

  • описывать особенности реализации;

  • отмечать, по каким элементам происходит переход к другим экранам;

  • фиксировать, какие методы бэкенда используются для перехода между экранами.

Разработка мокапов экранов помогает нам детально и более аргументированно оценивать масштаб предстоящих работ, в том числе на бэкенде.

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

Карта переходов

Карта переходов (Flow Map / User Flow) — схема, описывающая сценарии перемещения пользователя между экранами. Карта переходов, как правило, состоит из описания триггеров переходов (например, нажатие кнопки «Далее»), условий (если пользователь не авторизован → переход на экран входа), альтернативных путей (ошибки, отмены действий).

Именно карта переходов позволяет верхнеуровнево, без углубления в Figma, понять, какой путь проходит пользователь в рамках конкретной фичи, и зафиксировать его. 

Зачем нам эти артефакты

Вся эта работа, создание карт экранов и переходов, а также мокапов экранов позволяет:

  • визуализировать все переходы пользователя;

  • указать используемые запросы;

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

Это дает нам комплексный профит:

  • позволяет увидеть всю структуру экранов «в одном окне», избежать дублирования и пропущенных элементов;

  • помогает быстро выявить противоречия в требованиях;

  • снижает риск багов и конфликтов при разработке;

  • исключает тупиковые пути и запутанную навигацию;

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

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

Описание экранов

После отрисовки схем мы переходим к описанию экранов.

Мы используем несколько форматов описания и делим требования на две логические группы: 

  • требования к интерфейсам;

  • функциональные требования.

Под требованиями к интерфейсам мы понимаем:

  • описание экрана;

  • состояние экрана и элементов на нем;

  • точки входа на экран;

  • различие экрана/элемента для разных платформ;

  • особенности открытия экрана, навигация на экран;

  • скролл.

К функциональным требованиям относим:

  • связь с запросами сервера;

  • цепочки запросов;

  • логику поведения элементов экрана;

  • навигацию;

  • скрытую функциональность.

Чтобы работать с требованиями было комфортно, а описанные нюансы были наглядными и понятными, мы выработали таблицу единого формата, в которой все фиксируем.

Теперь детальнее остановимся на каждой категории требований.

Требования к интерфейсам

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

Если доработка небольшая, мы фиксируем только общую информацию об экране, а именно:

  • название экрана/элемента;

  • описание экрана;

  • точки входа на экран;

  • что влияет на состояние элементов на экране;

  • требования;

  • открытые вопросы.

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

  • описание экрана/элемента (например, метаинформацию экрана, информацию о том, зачем он нужен, какие сценарии реализует);

  • точки входа на экран — например, с каких страниц возможен переход (от этого может зависеть способ открытия экрана);

  • состояние экрана и элементов на нем — например, указываем, что при загрузке данных приложение должно показывать состояние с лоадером;

  • различие экрана/элемента для разных платформ — это важно, поскольку дизайн для iOS и Android может отличаться;

  • особенности открытия экрана, навигация на экран — то есть, как будет выполняться переход на экран (с другой страницы или из шторки уведомлений);

  • скролл — каким образом скроллится контент на экране (что остается статичным, а что перемещается).

Функциональные требования

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

  • Связь с запросами сервера, цепочки запросов. Это может быть: 

    • валидация данных;

    • запросы, которые выполняются на экране, но в фоне не влияют на контент;

    • состояния, которые в случае ошибки должны быть отображены пользователю.

  • Логика поведения элементов экрана. Например, если пользователь кликает на кнопку «Подключить наушники», приложение должно по Bluetooth подключаться к наушникам. Если у приложения нет системного разрешения — его необходимо запросить.  

  • Навигация. Здесь фиксируем базовые описания всех переходов — что именно происходит при клике на каждую кнопку (например, какая страница открывается, какие методы на бэкенде запускаются и так далее).

Помимо этого, мы описываем все, что касается скрытой функциональности в части:

  • использования локальной БД;

  • работы с кэшем;

  • работы с пушами и диплинками;

  • сбора событий продуктовой аналитики.

Почему для мобильных приложений нужны свои требования

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

Веб-версия

Мобильные приложения

Использование шаблона

Используют 100% аналитиков

Используют 100% аналитиков, но шаблон под мобильные приложения регулярно расширяется

Использование локальной БД

Данные хранятся на сервере

Данные хранятся на устройстве с синхронизацией

Кэширование

Используется кэш браузера для скорости загрузки

Кэш приложения используется для обеспечения оффлайн-доступа

Пуши

Пуши через браузер (редко)

Пуши через ОС с переходом на экран

Диплинки

Открытие страницы в браузере

Открытие конкретного экрана с обработкой пути назад

Оффлайн-работа

Нет оффлайн режима

Поддерживается оффлайн-режим с локальными данными

Форс- и софт-апдейты

Обновления на стороне пользователя

Обновления через магазины приложений

Различия платформ

Единый стандарт для всех браузеров

Разные гайдлайны для iOS и Android

Пути назад

Назад через браузер (стандартно)

Назад через кнопку/свайп с описанием

Карты и мокапы

Редко используются для больших фич

Часто для больших фич для визуализации навигации

Примечание: В таблице указаны не все отличия между сервисами под разные платформы, а только самые ключевые. Но их достаточно, чтобы понять общие тенденции.

Что в итоге

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

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

А пока делитесь в комментариях, как вы описываете требования и какие артефакты разрабатываете для мобильных приложений в своих компаниях?

Теги:
Хабы:
+7
Комментарии0

Публикации

Информация

Сайт
sberhealth.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Чапля Катя