Привет, Хабр! Мы запустили сервис Unidraw, аналог Miro, и активно им пользуемся. Cобрали кейсы и сценарии использования разных направлений: QA, Mobile Dev Platform, Data Platform — и теперь рассказываем о них. Может быть, вам тоже будет полезно. 

Об анализе сложной логической структуры

Ермек Умурзаков

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

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

Пример табличного представления документации по алгоритму:

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

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

Использование диаграммы позволило сразу заметить несколько упущенных кейсов в алгоритме:

1. Отсутствие обработки сценария, когда номер телефона не найден.

2. Недостаток условий для ситуаций, если статус не равен 1, 2 или 3.

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

Слева схема, которая была раньше, справа — новая, на которой видно, что уже проверено, что необходимо исправить и в каких именно сценариях существуют проблемы
Слева схема, которая была раньше, справа — новая, на которой видно, что уже проверено, что необходимо исправить и в каких именно сценариях существуют проблемы

У Unidraw есть функция совместной работы — можно прямо на этой доске параллельно работать двум QA-инженерам или в паре с разработчиком, который может видеть, где именно есть проблемы, писать комментарии и отмечать исправленные участки алгоритма.

Используя Unidraw я получил такие преимущества:

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

2. Визуализация алгоритмов способствует лучшему пониманию и выявлению потенциальных проблемных зон.

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

О том, как хорошо, когда команда понимает, куда развивать продукт

Сережа Никитин

В T-Bank Data Platform я отвечаю за процессы целеполагания, практики проектного управления и реализацию ряда стратегических проектов. Unidraw начал пользоваться с момента его появления.

Мы долго работали в Miro и в какой-то момент начали искать альтернативу, но чего-то полностью покрывающего потребности не нашли. В итоге начали плакать, колоться, но пересаживаться на Whiteboard, который вырос и стал Unidraw. Нашел свое письмо от октября 2023 года, когда я только пробовал новый инструмент вместе с коллегами: 

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

Вот что мы делаем в Unidraw.

Рисуем архитектуру Data Platform. Так уж получилось, что я — хранитель картинки текущей архитектуры Data Platform: с 2021 года начал собирать какую-то общую схему взаимодействия наших продуктов. Сначала для собственного понимания, чтобы разобраться во всех нюансах взаимодействия 30—50 отдельных продуктов и сервисов, а потом это же оказалось востребованным и для других — регулярно провожу лекции для новых лидов нашей платформы. 

В какой-то момент в начале 2024 года появилось понимание, что feature-gap между Miro и Unidraw достаточно сократился и можно перенести схему. Это получилось на удивление не больно. Ожидал, что придется что-то менять в схеме, что все будет тормозить или возникнут еще какие-то проблемы. Но никакие из опасений не оправдались.

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

Верхнеуровневая архитектура Data Platform
Верхнеуровневая архитектура Data Platform

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

Выравниваем цели управления. В нашем фреймворке целеполагания команды публикуют свои цели на ближайший квартал, и после общего челленджинга приоритетов происходит выравнивание. Собирается кружок руководителей, отвечающих за домены, и они вместе пытаются понять, что же в итоге влезет в capacity их команд. Таких доменов (Ingest, ETL, BI, практики DE и т. п.) у нас больше 10 и в подавляющем большинстве доменов порядка 5 команд. 

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

Unidraw, ИМХО, вполне зрелый. Еще год назад начал закрывать основные потребности для локального использования: Mind Map, временные схемки для демонстраций, пространство для фасилитации дискуссий и тому подобное. За последний год Unidraw явно усилился для работы с большими и масштабными проектами — теперь это не страшно и работает из коробки. Осталось прикрутить таблицы, и будет совсем конфетка.

О том, как планировать 100500 связанных друг с другом продуктов с большим количеством заказчиков

Стас Медведев

Около года назад мы решили попробовать общее планирование управления, которое учтет сразу все наши продукты. В последнее планирование мы использовали Unidraw, чтобы запланировать сразу шесть взаимосвязанных продуктов.

Наши вводные:

  1. В планировании участвуют около ста человек: представители продуктовых команд и их стейкхолдеры.

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

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

  4. Нужна возможность собирать задачи, для которых в этот момент времени еще нет сущности в трекере.

У нас получилось шесть шагов в общем планировании управления.

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

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

Дополняем различными стрелочками и описаниями, чтобы всем было понятно, как с этой карточкой работать
Дополняем различными стрелочками и описаниями, чтобы всем было понятно, как с этой карточкой работать


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

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

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

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

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

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

Две задачи одного продукта
Две задачи одного продукта

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

Какие плюсы мы нашли:

  1. С помощью Unidraw можно организовать коллаборационную работу сразу нескольких больших команд.

  2. Шарилка по одной кнопке.

  3. Широкий инструментарий, который позволяет собрать доску под довольно специфические задачи.

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

Рабочая рутина интереснее с Unidraw

Дима Кузнецов

Я отвечаю за направление Mobile DevPlatform. Мы используем Unidraw для проведения встреч по шарингу знаний, event storming и AI-ретроспектив.

Встречи по шарингу важны, потому что:

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

  • У нас обширная география — ребята из нашего направления раскиданы от Севастополя до Алматы. Мы хотим сохранить платформенный вайб даже в формате удаленки.

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

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

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

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

На доске есть пример того, как это выглядит у нас.

Event storming — еще одно применение Unidraw. Этот метод позволяет визуализировать сложные бизнес-процессы. По сути это воркшоп, на котором участники исследуют бизнес-процесс, описывают его доменные события и изучают взаимосвязи между ними. Event storming позволяет наглядно увидеть весь процесс целиком, выявить проблемные зоны и наметить пути для улучшений.

Примером подхода стало недавнее обсуждение перехода на новую версию Xcode. С ростом объема кода и числа команд, задействованных в работе, процесс усложнился. Мы сделали полную визуализацию процесса, выявили узкие места и приняли решения по их оптимизации.

Часть большого процесса перехода на новый Xcode (без розовых пони, как есть)
Часть большого процесса перехода на новый Xcode (без розовых пони, как ест��)

Для event storming мы используем заранее подготовленный шаблон. Он помогает структурировать процесс и разделить его на несколько этапов с понятной инструкцией для участников. 

Первый раунд брейншторма из нашего шаблона
Первый раунд брейншторма из нашего шаблона

C Unidraw ретроспективы интереснее. Мы генерируем сценарий для ретроспективы при помощи LLM модели — используем Chat GPT, но можно использовать и другие.

Пример промпта: «Подготовь план проведения ретроспективы для команды разработки ПО. У нашей команды ретроспектива проводится раз в две недели. Ее цель — выявить возможные проблемы и направления для улучшения процессов разработки ПО. Ретроспектива проводится в рамках онлайн-встречи с использованием общей онлайн-доски unidraw.io (аналог Miro). Длительность встречи — один час. План должен содержать структуру встречи с возможными вариантами проведения ее отдельных блоков (на каждый блок предложи по 3 варианта формата проведения; постарайся предложить максимально интересные и необычные варианты):

1. Ice Breaker — необходим для разогрева команды и активации креативного мышления. 

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

3. Выбор самых важных тем для обсуждения — нужно, чтобы отсечь неважное и сосредоточиться на важном.

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

5. Завершение ретроспективы — подведение итогов и обратная связь». 

После генерации сценария мы вставляем его в новую доску unidraw.io и запускаем встречу, процесс подготовки занимает 5—7 минут. Некоторые форматы получаются очень забавными, последний формат оценят эксперты в мемологии:

Команда голосует за проблемы после их сбора на втором этапе:

Такой формат веселее обычной ретроспективы, но иногда мы не успеваем разобрать все подсвеченные проблемы. Мы планируем чередовать новый формат с классической ретроспективой. Пример последнего сценария ретроспективы есть на доске.

В нашей команде Unidraw прочно укрепил свои позиции. Вот несколько полезных ссылок на прощание: 

Пример доски для шаринга знаний

Шаблон для event storming

Пример доски AI-ретроспективы