Context Change Record: мир меняется
Когда решение перестаёт применяться, причина часто формулируется одним словом: «ошибка».
Когда решение перестаёт применяться, причина часто формулируется одним словом: «ошибка».
Это удобная формулировка, но она смешивает две разные ситуации:
- решение было неверным в момент принятия;
- мир изменился так, что прежнее решение перестало подходить.
Если эти причины не разделены, система теряет объяснимость. Она видит, что действие изменилось, но не может зафиксировать, что именно стало причиной: пересмотр решения или изменение условий.
Мир меняется вне решений
Решения (DR) существуют внутри системы: они задают, что система делает и что считает допустимым действием.
Контекст существует вне решений: это совокупность условий, в которых решение считается применимым. Эти условия могут измениться без участия системы:
- внешние требования становятся другими;
- правила среды меняются;
- ограничения появляются или исчезают;
- исходные допущения перестают быть верными.
В такие моменты системе нужен объект фиксации, который не является решением и не является реакцией. Нужна фиксация факта: мир стал другим.
Что такое Context Change Record
Context Change Record (CCR) — запись факта изменения контекста.
CCR не является решением. CCR не отменяет решения автоматически. CCR не объясняет, что делать дальше.
CCR фиксирует только одно: условия изменились.
CCR не равен документу
Документ — это носитель текста. Он может быть обновлён, исправлен, дополнен. Он может появиться позже события, которое описывает.
CCR — не «страница» и не «файл». Это фиксация факта изменения условий как отдельной причины в модели.
Критерий различия простой:
- документ существует как описание;
- CCR существует как утверждение о том, что во внешней среде действует новое условие.
Если подменить CCR документом, ломается причинность:
- изменение начинает «существовать» только там, где его описали;
- редактирование текста начинает выглядеть как изменение реальности;
- исчезает граница между моментом, когда условие изменилось, и моментом, когда его записали.
CCR не равен обсуждению
Обсуждение — это процесс выбора реакции: варианты, аргументы, согласование.
CCR — фиксация того, что уже произошло во внешних условиях.
Критерий различия:
- обсуждение отвечает на вопрос «что делать»;
- CCR отвечает на вопрос «что изменилось».
Если подменить CCR обсуждением:
- внешний факт превращается в «мнение» участников;
- граница между наблюдением и выбором исчезает;
- причина (изменение условий) смешивается с реакцией (новыми решениями).
Минимальное состояние CCR
CCR должен быть минимальным. Он не анализирует последствия и не связывает себя с решениями. Он только делает изменение мира объектом, который существует во времени.
Минимально CCR задаётся тремя вещами.
1) Новое условие
CCR фиксирует утверждение вида:
«теперь считается истинным / действует следующее условие».
Это не пересказ обсуждений и не список возможных реакций. Это одно новое условие контекста.
2) Момент вступления в силу
CCR фиксирует, с какого момента новое условие считается действующим относительно системы.
Это отделяет «изменилось» от «мы узнали». CCR нужен не как сообщение, а как условие, которое действует во времени.
3) Отдельность факта
CCR фиксирует изменение как самостоятельный факт, на который можно ссылаться.
Это нужно, чтобы «изменение контекста» не растворялось в переписке, комментариях и версиях документов. У изменения должен быть статус отдельного объекта, иначе оно снова станет фоном.
Этого достаточно, чтобы контекст перестал быть неявным и чтобы изменение мира стало отдельной причиной в модели.
Что это даёт системе
Решения ломаются не потому, что были плохими
DR может быть корректным в момент принятия и перестать подходить позже, потому что изменилось внешнее условие, на которое он опирался.
Если CCR существует как отдельный факт, причина не смешивается с оценкой качества DR. Появляется объяснение: действие изменилось не из-за «ошибки», а из-за смены условий.
CCR не делает систему определённой
CCR фиксирует, что мир стал другим. Он не определяет, какое действие теперь следует считать корректным.
После CCR система может остаться в состоянии, где одновременно существуют несколько действующих DR, и они начинают требовать несовместимых действий в новых условиях.
Это не ошибка CCR и не ошибка DR. Это отдельная ситуация, которая появляется после изменения контекста.
Следующий шаг
CCR фиксирует, что условия стали другими. Этого достаточно, чтобы отделить изменение мира от пересмотра решений, но недостаточно, чтобы система стала определённой.
После изменения контекста могут одновременно оставаться действующими несколько решений, которые раньше не противоречили друг другу, а в новых условиях начинают требовать несовместимых действий.
Следующий шаг формализации — научиться фиксировать и удерживать такие несовместимости как отдельный факт, не превращая их в неявную отмену решений и не растворяя их в обсуждениях.