Conflict Record: конфликт как данные
В модели решений есть одна практическая поломка, которая почти всегда маскируется «нормальной коммуникацией».
В модели решений есть одна практическая поломка, которая почти всегда маскируется «нормальной коммуникацией».
В системе одновременно присутствуют несколько действующих утверждений о допустимом поведении — и они несовместимы.
Команда это чувствует, обсуждает, спорит, «разбирается».
Но система при этом не может ответить на базовый инженерный вопрос:
какое состояние сейчас допустимо?
Пока этот факт не выделен как объект, система остаётся в неопределённости. Она не знает, что именно стало несовместимым — и с какого момента.
Конфликт подменяют тем, чем он не является
Конфликт возникает не как эмоция и не как «плохое взаимодействие людей».
Он возникает как факт несовместимости требований к действию.
Этот факт обычно подменяют двумя вещами: документом и обсуждением.
CR ≠ документ
Документ — носитель текста. Он существует как описание. Его можно улучшать, переписывать, дополнять.
Conflict Record (CR) — фиксация факта несовместимости. Он существует не как текст, а как утверждение о состоянии системы: одновременно действовать так и так нельзя.
Критерий различия один:
документ можно редактировать без изменения реальности; конфликт от редактирования текста не исчезает.
Если подменить CR документом, ломается следующее:
- конфликт начинает «существовать» только там, где его описали;
- редактирование описания начинает выглядеть как устранение конфликта;
- исчезает момент, когда система стала неопределённой;
- невозможно отличить «мы переписали формулировку» от «мы вернули системе определённость».
Документ может быть способом хранения CR. Он не является CR по смыслу.
CR ≠ обсуждение
Обсуждение — процесс. Оно производит аргументы, варианты, попытки договориться. Оно может длиться сколько угодно.
CR — состояние. Оно фиксирует, что система находится в точке, где два требования к действию несовместимы.
Критерий различия простой:
обсуждение отвечает на вопрос «что делать?», CR отвечает на вопрос «почему нельзя продолжать действовать как раньше?».
Если подменить CR обсуждением, ломается следующее:
- конфликт растворяется в потоке сообщений и становится недоказуемым как факт;
- неопределённость не фиксируется во времени: непонятно, когда она возникла;
- команда повторяет обсуждение, потому что объект проблемы не существует отдельно от переписки;
- «самый громкий голос» начинает заменять модель: конфликт считается решённым, хотя несовместимость осталась.
CR не является частью дискуссии. Он является результатом наблюдения: одновременное действие невозможно.
Откуда берутся конфликты в модели DR/CCR
В серии уже введены два типа объектов:
- DR задаёт действующее правило: что считается допустимым поведением.
- CCR фиксирует изменение условий, в которых эти правила применяются.
Конфликт появляется там, где два источника требований к действию становятся несовместимы.
Минимальные формы:
- DR <> DR: два решения требуют разных действий в одной и той же ситуации.
- DR <> CCR: решение продолжает требовать действия, но новое условие делает это действие недопустимым или бессмысленным.
Ключевой момент: конфликт — это не «ошибка решения».
DR мог быть корректен в момент принятия. CCR мог быть объективным изменением мира.
Несовместимость возникает в точке их совместного действия.
Конфликт — это состояние неопределённости
Конфликт опасен не тем, что «кто-то не прав».
Он опасен тем, что система теряет определённость.
Определённость — это способность однозначно вывести допустимое действие из действующих правил и условий.
Конфликт разрушает эту способность: правила одновременно требуют несовместимого.
Отсюда следует формальное утверждение:
пока конфликт не зафиксирован, система не знает, что она неопределённа.
Она продолжает работать как будто всё определено, и в этот момент происходят самые дорогие эффекты:
- разные участники действуют по разным правилам, считая их «очевидными»;
- решения начинают отменять неявно: «просто перестали делать» без фиксации причины;
- история переписывается: задним числом объясняется, что «так и было задумано»;
- причина теряется: становится невозможно восстановить, что именно было несовместимо.
CR делает неопределённость видимой и удерживаемой.
Минимальное состояние CR
CR не должен быть «досье на конфликт». Он должен быть минимальным объектом, который позволяет системе признать неопределённость как факт.
Минимальные условия существования CR:
-
Утверждение несовместимости
Фиксация того, что два требования к действию не могут выполняться одновременно в одной ситуации. -
Указание участников конфликта
Ссылки на объекты, которые создают требования: DR и/или CCR. -
Граница применимости несовместимости
Описание того, в каких условиях несовместимость проявляется.
Не «в целом они противоречат», а «вот в этом контуре действий они требуют несовместимого». -
Момент возникновения неопределённости
Не для отчётности, а для причинности: с какого момента система должна считать себя неопределённой относительно этого участка поведения.
Этого достаточно, чтобы конфликт перестал быть «ощущением» и стал состоянием модели.
Минимальная структура записи CR и назначение элементов
Если CR фиксируется как артефакт, его структура должна описывать не обсуждение и не решение, а факт неопределённости.
Минимально:
-
Идентичность CR
Нужна, чтобы на конфликт можно было ссылаться и связывать дальнейшие действия с конкретным фактом неопределённости. -
Формулировка несовместимости
Нужна, чтобы было понятно, что именно невозможно совместить: какие требования к действию не могут одновременно считаться истинными. -
Ссылки на конфликтующие объекты (DR/CCR)
Нужны, чтобы конфликт был встроен в причинность: несовместимость не «в воздухе», она выводится из конкретных действующих утверждений и условий. -
Граница применимости
Нужна, чтобы конфликт не превращался в общий ярлык на всё решение. Несовместимость всегда проявляется в некотором контуре действий, а не «вообще». -
Момент возникновения
Нужен, чтобы отделить «стало несовместимым» от «когда заметили» и чтобы система могла корректно интерпретировать историю действия решений.
Эта структура не решает конфликт. Она фиксирует факт, что решать уже необходимо.
Ограничения и следствия
CR не является механизмом устранения противоречий.
Из CR не следует автоматически:
- какое из решений «правильное»;
- какое решение нужно отменить;
- какой новый выбор принять;
- как перестроить поведение системы.
CR фиксирует только одно: система в неопределённости относительно данного участка действия.
Отсюда два следствия.
Что становится невозможным при неверной модели
Если конфликт рассматривается как спор или как «временный шум», становится невозможным:
- доказать, что неопределённость существовала как состояние системы;
- отделить конфликт от отмены решения и от изменения контекста;
- сохранять причинность: почему действие изменилось именно тогда, а не раньше;
- развести «мы договорились» и «система стала определённой».
Что становится прозрачным при корректной модели
Если конфликт фиксируется как CR, становится прозрачным:
- где именно система перестаёт быть определённой;
- какие действующие объекты породили несовместимость;
- в каких условиях несовместимость проявляется;
- с какого момента действия без разрешения конфликта перестают быть корректно определимыми.
CR превращает конфликт из социального явления в инженерный факт.
Следующий неизбежный вопрос
CR фиксирует неопределённость, но не возвращает определённость.
Как вернуть системе определённость, если конфликт зафиксирован, но ещё не разрешён?