Создание единого глоссария предметной области в распределенной команде — 7 шагов
Единый глоссарий предметной области (domain dictionary / глоссарий домена / словарь домена) в распределённой команде создаётся за 7 шагов: договориться о владельце и правилах, собрать термины из реальных артефактов, ввести формат «термин → смысл → пример», согласовать спорные слова через решения, встроить глоссарий в процессы (задачи/тесты/код), автоматизировать проверки и регулярно обслуживать как продукт.
Боль знакомая: один пишет «клиент», второй — «контрагент», третий — «пользователь», а в Jira это всё одна сущность, которая в базе данных называется customer_entity_v2. На созвонах люди кивают, а потом выпускают фичу, которая «почти то». В офисе это лечится наскоком к аналитикам, в распределёнке — копится как технический долг, только по смыслу, а не по коду.
Из практики: самое дорогое в проектах — не «плохой код», а «разные слова про одно и то же». Потому что код можно отрефакторить за спринт, а кашу в понятиях выковыривать приходится месяцами: в требованиях одно, в тест-кейсах другое, в поддержке третье. Поэтому domain dictionary — не документ «для галочки», а страховка от массового взаимонепонимания.
7 шагов: как собрать domain dictionary и не умереть в согласованиях
Шаг 1. Назначьте владельца и правила игры (иначе будет «общий файл, который никто не трогает»)
Тезис: у глоссария домена должен быть владелец, как у продукта: кто принимает решения и следит за качеством.
Обоснование: в распределённой команде «коллективное владение» часто означает «коллективное игнорирование». Особенно когда люди в разных часовых поясах и с разными контекстами (разработка, тестирование, бизнес).
Практический вывод: назначьте Domain Owner (часто это BA/PO/тимлид), и заведите правила: где хранится словарь домена, как вносить изменения, кто аппрувит, как решаются споры.
Подводный камень: пытаться демократично голосовать за каждое слово в общем чате. Спойлер: победит самый громкий, а не самый правый.
- RACI на глоссарий: кто Responsible / Accountable / Consulted / Informed.
- SLA на правки: например, спорный термин решаем за 48 часов.
Шаг 2. Соберите термины из «боевых» источников, а не из головы
Тезис: глоссарий домена не придумывают — его выкапывают из фактов.
Обоснование: в любой компании уже есть язык: в ТЗ, тикетах Jira, Confluence, регламентах, письмах, названиях полей в 1С, текстах на кнопках, обращениях в поддержку.
Практический вывод: сделайте выгрузку/инвентаризацию терминов: топ-100 слов, которые чаще всего вызывают вопросы и «уточни, что ты имеешь в виду».
Подводный камень: начинать со «все термины мира». Вам нужен MVP-словарь домена: то, что реально ломает коммуникацию прямо сейчас.
- Берёте 20–30 последних задач в Jira/YouTrack.
- 3–5 пользовательских сценариев (use cases) + 10 экранов UI.
- Сущности из базы/интеграций (например, справочники 1С, события из Kafka, документы в СЭД).
- 10–20 обращений в поддержку: там «живой язык» клиентов.
Шаг 3. Зафиксируйте шаблон записи: «термин → определение → пример → антипример»
Тезис: качество глоссария определяется не количеством слов, а единым форматом.
Обоснование: если один термин описан как «это когда…», другой — как «см. выше», третий — как аббревиатура без расшифровки, глоссарий превращается в свалку.
Практический вывод: введите карточку термина. Минимум: определение, контекст, пример в продукте, связи с другими терминами.
Подводный камень: писать определения «по учебнику». Нужно так, чтобы тестировщик мог по нему написать тест, а разработчик — модель данных.
| Поле | Что писать | Зачем |
|---|---|---|
| Термин | «Клиент», «Договор», «Лицевой счёт» | Единое название |
| Определение | 1–2 фразы, без воды | Чтобы не спорить «на ощущениях» |
| Пример | Где встречается в UI/документе/БД | Привязка к реальности |
| Антипример | Как НЕ называть / с чем не путать | Снимает 80% ошибок |
| Синонимы | «Покупатель», «Контрагент» (если допустимо) | Нормализует речь |
| Владелец | ФИО/роль | К кому идти за решением |
Шаг 4. Разрулите «спорные слова» через решения, а не через бесконечные обсуждения
Тезис: некоторые термины — это политика, а не лингвистика.
Обоснование: «клиент» может быть физлицом, юрлицом, лидом, пользователем портала — и каждый департамент будет прав по-своему.
Практический вывод: фиксируйте Decision Log: какое слово выбрали, почему, какие последствия для UI/БД/интеграций.
Подводный камень: пытаться всем угодить: «пусть будет и так и так». Потом у вас будет и так и так — в проде.
Мини-кейс (неудачный): команда делала внутренний сервис для продаж. В документации «сделка» = карточка в CRM, в базе «deal» = договор, в аналитике «deal» = лид. Через 2 месяца метрики конверсии стали «плясать», потому что разные отчёты считали разные сущности. Исправляли не код — смысл. Потратили спринт на унификацию и ещё один на миграции и переименование полей.
Шаг 5. Встройте словарь домена в рабочие артефакты: Jira, тесты, схемы, код
Тезис: если domain dictionary живёт отдельно, его читают только новички в первый день (и то если повезёт).
Обоснование: люди учатся по месту действия: в задаче, в Pull Request, в тест-кейсе, в API-спеке.
Практический вывод: сделайте ссылку на глоссарий обязательной частью шаблонов: Definition of Ready/Done, PR checklist, шаблон user story.
Подводный камень: «глоссарий в Confluence, но доступ только у половины команды». В распределёнке это частая история: подрядчики, партнёры, смежники.
- В Jira: кастомное поле «Термины» (ссылки на карточки).
- В Swagger/OpenAPI: единые названия моделей и описания полей по глоссарию.
- В тестировании: BDD/Gherkin сценарии с терминологией из словаря домена.
Шаг 6. Автоматизируйте «подсветку» нарушений: хотя бы на уровне линтеров и шаблонов
Тезис: дисциплина держится лучше, когда часть работы делает система, а не совесть.
Обоснование: распределённая команда устаёт от согласований. Автопроверка снижает число ручных замечаний в ревью.
Практический вывод: минимум — автозамены/подсказки в документации и шаблоны. Максимум — проверки на запрещённые термины в PR (простые скрипты по markdown/админке документации).
Подводный камень: делать «полицию слов» без здравого смысла. Если термин реально меняется — меняйте глоссарий, а не ругайтесь с реальностью.
Шаг 7. Обслуживайте глоссарий как продукт: метрики, регулярные ревизии, онбординг
Тезис: глоссарий домена устаревает так же быстро, как и требования.
Обоснование: новые интеграции, новые тарифы, новый модуль в 1С, переезд на другой процесс — всё это меняет язык.
Практический вывод: заведите ритуал: раз в 2–4 недели ревизия изменений, раз в квартал — «генеральная уборка» (архивация, объединение дублей).
Подводный камень: хранить старые определения без статуса. Добавьте метки: Draft/Approved/Deprecated, иначе новички будут учить «термины-призраки».
Если хочется примеров артефактов (карточка термина, лог решений, шаблоны Jira/Confluence) — на itokno.ru периодически появляются такие разборы без маркетинговой пены, с тем, что реально можно утащить в работу.
Экспертный вердикт и инструмент
Единый domain dictionary — это способ уменьшить стоимость ошибки в коммуникации. Он особенно окупается в распределённых командах, где «поймать человека в коридоре» нельзя, а контекст теряется между часовыми поясами и чатами. Ниже — чек‑лист, чтобы понять, что вы делаете глоссарий домена, а не «ещё один файл».
- Есть владелец: понятно, кто принимает финальное решение по термину.
- Есть единый шаблон: термин, определение, пример, антипример, синонимы, владелец.
- Есть Decision Log: спорные слова фиксируются как решения, а не как бесконечные треды.
- Глоссарий встроен в процессы: ссылки в задачах, API-спеках, тестах, PR.
- Есть статусы: Approved/Deprecated, чтобы не учить «мёртвые» понятия.
- Есть регулярная ревизия: раз в спринт/месяц, а не «когда-нибудь».
| Ситуация | Фокус | Что сделать за 1 неделю |
|---|---|---|
| Вы новичок в IT (BA/QA/PM) и попали в домен | Понять язык и перестать «плавать» | Собрать топ-50 терминов из задач и UI, оформить карточки с примерами |
| Junior dev (1–3 года) и постоянно ловите правки «не так поняли» | Синхронизировать код и смысл | Привязать модели API/БД к терминам, добавить описания и запретить «синонимы» в DTO |
| Команда распределена и много подрядчиков | Снизить потери на онбординге и пересогласованиях | Сделать публичный (для команды) глоссарий + правила правок + Decision Log |
Частые вопросы
Где лучше вести глоссарий домена: Confluence, Wiki, Google Docs?
Там, где у команды стабильный доступ и поиск работает без боли. Практично: Confluence/корпоративная wiki для структуры + ссылочная дисциплина из Jira. Хуже всего — «локальный файл у аналитика», потому что он превращается в музей.
Сколько терминов нужно на старте, чтобы это имело смысл?
Начните с 30–70 ключевых терминов, которые чаще всего вызывают уточнения и ошибки. Полный «словарь всего» обычно не взлетает: его не успевают ни написать, ни читать.
Кто должен утверждать определения: бизнес или разработка?
Определение — это договор между бизнесом и командой. Обычно владелец термина — бизнес (PO/эксперт), а технические ограничения и точность формулировок обеспечивает BA/архитектор/тимлид. Финальное слово — у назначенного владельца глоссария.
Что делать, если в компании уже есть «официальные» термины, но продукт живёт своей жизнью?
Фиксируйте обе реальности: «официальный термин» и «термин в продукте», и явно пишите соответствие (mapping). Потом постепенно выравнивайте: через UI-тексты, API и регламенты. Прятать расхождение — значит гарантировать ошибки в интеграциях и отчётности.
Как не утонуть в спорах «как правильно называть»?
Введите правило: спор решается решением (Decision Log) с дедлайном. Если за 48 часов не договорились — владелец глоссария выбирает вариант и фиксирует последствия. Консенсус — приятен, но релиз важнее.
Это вообще помогает карьере или это «бумажки»?
Помогает. Умение строить domain dictionary — маркер зрелости: вас начинают воспринимать как человека, который снижает риски и стоимость ошибки. Для BA/QA/PM это прямой путь к роли ведущего, для dev — к тимлиду/архитектору (потому что архитектура без понятий — это просто красивые схемы).
Как понять, что глоссарий работает?
Простой индикатор: меньше уточняющих вопросов на грумингах, меньше правок из серии «мы не это имели в виду», быстрее онбординг новичков. Если глоссарий не используется в задачах и тестах — он не работает, даже если там 300 терминов.
Отправить комментарий