Обнаружено, что термин «клиент» в требованиях обозначает разные объекты. Как аналитик должен устранить эту ...

Обнаружено, что термин «клиент» в требованиях обозначает разные объекты. Как аналитик должен устранить эту неоднозначность до согласования модели?

Проходите собеседования с ИИ помощником Hintsage

Краткий ответ

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

Исторический контекст

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

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

Постановка проблемы

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

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

Подробное решение

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

Затем следует определить, является ли это одним объектом с разными ролями или несколькими сущностями. Если различаются идентичность, жизненный цикл, права или правила обработки, обычно нужны разные термины. Например, плательщик может быть юридическим лицом, а пользователь — конкретным человеком, который действует от его имени.

В глоссарии для каждого термина фиксируют:

  • однозначное определение;
  • допустимые синонимы и запрещённые неоднозначные варианты;
  • контекст применения;
  • связь с другими терминами;
  • источник и владельца определения.

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

Глоссарий должен быть живым артефактом с версией и историей изменений. Избыточная формализация на раннем этапе замедляет обсуждение, но отсутствие контроля приводит к повторному расхождению терминов; практический компромисс — поддерживать обязательные определения для терминов, влияющих на процессы, данные, права и критерии приёмки.

Ситуация из практики

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

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

Выбрали третий вариант, потому что у объектов различались права, обязательства и жизненные циклы. В глоссарии закрепили определения, а в требованиях явно указали, какая роль выполняет каждое действие. В результате правила доступа и отчётность стали проверяемыми, а команда перестала трактовать слово «клиент» как универсальную сущность.

Что кандидаты часто упускают

  1. Достаточно ли просто добавить термин в глоссарий, чтобы устранить неоднозначность?

Нет. Глоссарий устраняет неоднозначность только тогда, когда определения применены к требованиям, процессам, данным и критериям приёмки. Если в одном требовании по-прежнему написано «клиент», а из контекста нельзя понять, о какой сущности идёт речь, документ остаётся неоднозначным.

  1. Как отличить разные сущности от разных ролей одного объекта?

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

  1. Кто должен утверждать определение спорного термина?

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