Как это сделано
Предпосылки и подход
За несколько лет по Элли накопилось много исследований, пользовательских болей и наблюдений, но инфа была распределена по разным местам: отдельным документам, Figma/Miro, записям исследований, Яндекс Трекеру и другим артефактам.
Поэтому мы начали собирать все боли в отдельную очередь в Трекере https://tracker.yandex.ru/PMALLY
Одна таска в этой очереди = одна пользовательская боль с цитатами, ссылкой на исследования, сырые данные, расшифровки и т.д. Если есть несколько источников в разное время, но проблематика одна — всё агрегируется в одной карточке боли.
При проведении исследований приходилось расшифровывать боли и вручную заводить их в Трекер. Но теперь все боли автоматом создаются на сервере при расшифровке, а затем улетают в Трекер.
Таким образом, все набранные ранее боли перенесены из Трекера на сервер, а все новые боли изначально создаются на сервере и отправляются в Трекер, чтобы обе базы были актуальны.
С болями на сервере можно работать через агента. Боли в трекере привязываются как Эпик к произволственным тикетам в Трекере.
Что находится внутри
1. Исследования
Каждое исследование хранится отдельным .md-файлом в:
docs/ux/researches/
В карточке исследования могут быть:
-
контекст и потребность;
-
цели;
-
дизайн исследования;
-
метод;
-
гипотезы;
-
респонденты;
-
результаты и находки;
-
исходные материалы;
-
артефакты результата;
-
принятые решения;
-
следующие действия;
-
связанные исследования;
-
роли и другие сущности базы.
Дополнительно фиксируются метаданные: период, тип исследования, платформы, роли, подразделения, типы торговых точек и другие параметры, если они известны.
2. Боли
Пользовательские боли вынесены из исследований в отдельные карточки:
docs/ux/pains/
Каждая пользовательская боль хранится отдельной карточкой. Мы стараемся фиксировать не только саму формулировку проблемы, но и контекст, силу подтверждения и связь с продуктовыми изменениями.
По каждой боли собираем:
-
ID и ссылку на Яндекс Трекер — чтобы связать Markdown-карточку с рабочей карточкой боли в Трекере. Внутренний числовой ID совпадает с номером
PMALLY-задачи. -
Категорию — собственно боль, идея или наблюдение. Это помогает не смешивать пользовательскую проблему с предложенным решением или просто зафиксированным фактом поведения.
-
Статус боли — открыта, в работе, на проверке, решена или больше не актуальна. Статус относится именно к пользовательской проблеме, а не к связанной продуктовой задаче.
-
Дату последнего обновления — чтобы понимать свежесть информации.
-
Контекст возникновения: для каких ролей проблема подтверждена, для каких типов торговых точек, на какой платформе и в какой продуктовой области она возникает. Боль не распространяется автоматически на другие роли или платформы только потому, что сценарии похожи.
-
Темы — например, «Графики», «Расхождения», «Окна», «Прогноз». Они нужны для группировки и поиска проблем по предметным областям.
-
Частоту / распространённость — насколько часто проблема встречается у конкретной роли или когорты, если это вообще удалось определить.
-
Эмоциональность — насколько сильно пользователи переживают или эмоционально реагируют на проблему, если такие данные есть. Частота и эмоциональность хранятся отдельно: редкая проблема может быть очень болезненной, а частая — восприниматься спокойно. Структура этих полей заложена непосредственно в шаблон карточки боли.
-
Описание боли — сама проблема пользователя, без подмены её предполагаемым решением.
-
Цитату пользователя, если сохранилось первичное свидетельство.
-
Подтверждение — что именно позволяет считать проблему существующей: например, сколько участников исследования её отметили, была ли она найдена в одном или нескольких исследованиях, есть ли количественные данные. Наличие нескольких источников усиливает подтверждение, но само по себе ещё не означает известную распространённость проблемы.
-
Источники — откуда вообще появилась боль: исследование, интервью, личное сообщение, стратегическая сессия, наблюдение и т. д. Для источника по возможности сохраняем исследование, дату, респондента, ссылку на расшифровку или запись и таймкод.
-
Связанные продуктовые задачи — что уже делалось или планируется сделать в продукте в ответ на проблему. При этом закрытая задача не означает автоматически, что сама боль решена: решение могло закрыть её только частично или у одной боли может быть несколько связанных задач.
Например, для боли «Неудобный список Окон» в базе отдельно зафиксированы роли Старшего продавца и Старшего кассира-комплектовщика, типы ТТ, только веб-платформа, тема «Окна», описание проблемы, подтверждение от пяти участников исследования и две связанные продуктовые задачи.
Таким образом, карточка боли отвечает не только на вопрос «что неудобно?», но и на более важные:
У кого возникает проблема? В каком контексте? Чем она подтверждена? Насколько она распространена? Откуда мы это знаем? Что с ней уже делали?
Да — кроме pains и researches у вас база уже содержит ещё три смысловых слоя и один служебный файл. Я бы описала это в статье так:
3. Подразделения
Сейчас в базе есть:
- Розница;
- Последняя миля;
- Горячая линия;
- Бэкофис.
Подразделение нужно, чтобы понимать более широкий контекст: где работает пользователь, к какому контуру относятся его сценарии и исследования.
4. Роли пользователей
Каждая карточка роли описывает тип пользователя Элли и его реальный рабочий контекст.
В карточке роли могут храниться:
- ID роли внутри базы;
- системный код роли в Элли;
- тип роли — менеджерская или линейная;
- альтернативные названия и сокращения;
- подразделение;
- применимые типы торговых точек;
- используемые платформы;
- количество пользователей;
- права в Элли;
- описание рабочего контекста.
Это позволяет анализировать исследования не абстрактно «по сотрудникам», а понимать, кто именно сталкивается с конкретной проблемой и какие возможности у него есть в системе.
Отдельно учитываются альтернативные названия. Например, сокращение СП можно сопоставить со Старшим продавцом, а не создавать ещё одну сущность только потому, что в одном исследовании роль названа сокращённо.
Есть и специальные агрегирующие роли — например, Сотрудник для линейных сотрудников торговых точек в целом. Она используется, когда знание относится сразу к широкой группе и перечислять все конкретные роли отдельно не имеет смысла.
5. Типы торговых точек
Это важно, потому что одна и та же роль или процесс может работать по-разному в разных форматах ТТ. Например, боль может быть подтверждена только для даркстора, только для вайтстора или сразу для обоих. Также здесь хранятся разные варианты названий. Например, Вайт, Вайт стор, white store, whitestore и ВС могут быть сопоставлены с одной сущностью Вайтстор. Это особенно полезно для старых исследований, где терминология была не унифицирована.
6. Правила работы с базой AGENTS.md
По сути, это инструкция для AI-агентов: словарь + модель данных + правила интерпретации.
В ней описано:
- какие сущности есть в базе;
- как они связаны;
- что означают роли, подразделения, типы ТТ, платформы и боли;
- какие значения считаются допустимыми;
- как интерпретировать wikilinks;
- какие данные нельзя автоматически переносить между ролями, платформами или подразделениями;
- как отличать боль от идеи, наблюдения и продуктовой задачи;
- как работать с историческими исследованиями;
- как трактовать неполные или неизвестные данные.
Связи в базе
Все сущности хранятся обычными Markdown-файлами.
При этом они связаны между собой через wikilinks — ссылки вида:
[[roles/starshiy-prodavetc|Старший продавец]]
или:
[[pains/103|Боль 103]]
Поэтому в совокупности получается не просто набор документов, а граф знаний.
Исследование может ссылаться на роль и боль, боль — на исследование и пользователя, а обратные ссылки позволяют посмотреть на эту же связь с другой стороны.
Например:
Исследование → нашло боль → боль относится к Старшему → подтверждается ещё двумя исследованиями
Связи должны быть явными: база специально запрещает автоматически приписывать исследованию роль, подразделение или проблему только потому, что такая связь кажется логичной.
Итого структура сейчас такая:
docs/ux/
├── divisions/ — подразделения и операционный контекст
├── pains/ — отдельные пользовательские боли
├── researches/ — исследования и их результаты
├── roles/ — роли пользователей, права и рабочий контекст
├── shop-types/ — типы торговых точек
└── AGENTS.md — правила понимания и обработки всей базы
Чем это полезно
Главный эффект базы — переход от архива исследований к накопительной системе знаний.
Раньше исследование в основном отвечало на вопрос:
Что мы узнали в этом конкретном проекте?
Теперь можно задавать вопросы уровнем выше.
Например:
Какие боли Старших повторяются в разных исследованиях?
Какие проблемы подтверждены несколькими независимыми источниками?
Что мы уже знаем про работу с расхождениями?
Какие боли Окон возможностей остаются нерешёнными?
Есть ли исследования, которые противоречат друг другу?
Какие роли исследованы хорошо, а про какие у нас почти нет данных?
Какие проблемы встречаются и в мобильном приложении, и в вебе?
Что мы уже знаем по теме, прежде чем запускать новое исследование?
Для исследователя база сокращает ручной поиск по старым материалам и помогает не исследовать повторно то, что уже известно.
Для продуктовой команды позволяет пройти от конкретной боли назад к доказательствам и понять, насколько хорошо она подтверждена.
Для новых участников команды становится картой уже накопленного знания об Элли.
Для AI-агентов Markdown и явные связи позволяют работать сразу со всем массивом знаний: искать паттерны, сопоставлять исследования, находить противоречия, собирать срезы по ролям или темам и при этом возвращаться к конкретным источникам.
По сути мы сохраняем исследования не только как историю проведённой работы, а превращаем их в переиспользуемую память продуктовой и исследовательской команды.
No Comments