Привет, Хабр! Мы запустили сервис 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-ретроспективы

Комментарии (3)


  1. bvn13
    10.10.2024 13:28

    Да, в настоящее время разработка без визуализации не представляется даже. У вас получился классный удобный инструмент!


  1. xztv
    10.10.2024 13:28

    Выглядит впечатляюще и многообещающе!

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


    1. hipnosis
      10.10.2024 13:28

      Добре! Ретро бывает разным. Недавно Оксана Кречко, профессиональный фасилитатор с многолетним стажем, рассказывала в своей статье о своём опыте проведения таких мероприятий. Статью можно прочитать тут.

      — Есть ли подобные шаблоны?

      — Да, есть, и мы постепенно расширяем их набор. Например, сегодня мы выпустили новый шаблон для "Event Storming".

      — Возможность скрывать карточки?
      — Можно сделать карточки полностью прозрачными или накрывать их другими карточками?

      — И как насчёт раундов для голосования и т.д.?

      — Вероятно, вы имеете в виду модуль "голосований". Пока мы его не добавляли.