Skip to content

Где хранить разные виды информации ​

Ниже перечислены стандартные области. Они необязательны: команда создаёт только те, которые ей нужны. Разделение на области реализует принцип «Различайте виды информации»: устойчивые знания, текущее состояние и правила изменения состояния служат разным целям. Область может быть представлена одним файлом или каталогом с INDEX.md; её структуру с самого начала рекомендуется строить модульно, закладывая разделы под будущее разделение на файлы. Пути в таблице показывают варианты с каталогами.

ОбластьЧто в ней находитсяПример
FISS/knowledge/subject/Знания о предмете, с которым работает проектПонятия, бизнес-правила, процессы, предметные ограничения
FISS/knowledge/project/Устойчивые знания о самом проектеАрхитектура, проектная терминология, окружение, соглашения, практические приёмы
FISS/state/Изменяемое состояние, влияющее на текущую работуОткрытые вопросы, действующие риски, временные ограничения
FISS/overrides/Проектные правила применения навыковПоведение и жизненные циклы навыков, шаблоны, проверка и правила участия человека
FISS/human/knowledge/Самостоятельные материалы преимущественно для человекаНаблюдения, личный контекст, поясняющие заметки
FISS/human/projection/Обзорные представления большого объёма знаний для понимания проекта и принятия решений человекомКарта предметных понятий или обзор связей компонентов

Команда может добавлять собственные области. На них распространяются общие правила структуры и навигации.

Знания: о предмете и о проекте ​

FISS/knowledge/subject/ отвечает на вопрос «Что нужно понимать о предметном мире?» Здесь описывают сущности, термины, процессы, правила и инварианты — условия, которые должны сохраняться. Название subject не связано с обязательным применением какой-либо методологии, в том числе DDD.

FISS/knowledge/project/ отвечает на вопрос «Что нужно знать об устройстве проекта и работе с ним?» Здесь описывают архитектуру, связи компонентов, окружение, инструменты, инфраструктуру, рабочие соглашения, типичные ошибки и известные способы их обхода.

Глоссарий может относиться к обеим областям. Предметные термины размещают в FISS/knowledge/subject/, а названия компонентов, внутренние сокращения и другие термины самого проекта — в FISS/knowledge/project/. Если одно и то же понятие имеет одинаковое значение в обеих областях, рекомендуется хранить его определение в одном месте, а из другой области давать ссылку. Если одинаковое слово имеет разные значения, определения следует хранить раздельно и явно указывать область каждого значения.

Долговременное знание тоже может меняться. Его отличие от текущего состояния — в назначении: оно помогает понимать проект и работать с ним на протяжении многих задач.

Состояние ​

FISS/state/ описывает текущую ситуацию, которая может повлиять на работу: открытые вопросы, действующие риски и временные ограничения.

Если текущее состояние уже ведётся во внешней системе, следует ссылаться на неё. Например, при учёте задач в трекере FISS не должен создавать второй реестр тех же задач. Правила изменения состояния, если проект хочет переопределить поведение навыка, размещаются в FISS/overrides/.

Материалы преимущественно для человека ​

Всё пространство должно быть понятно людям. Область FISS/human/ нужна, когда команда хочет отдельно разместить материалы, которые не требуется включать в обычный контекст агента.

  • FISS/human/knowledge/ содержит самостоятельные знания и заметки, ориентированные прежде всего на человека.
  • FISS/human/projection/ помогает человеку понимать проект и принимать решения, когда знаний в FISS/knowledge/subject/ и FISS/knowledge/project/ накопилось слишком много, чтобы удерживать их в голове. Эта область предназначена для больших проектов с таким объёмом знаний; создавать её заранее не требуется.

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

Название FISS/human/ обозначает назначение материалов, а не ограничение доступа. Применимость материала определяется условиями чтения и правилами проекта.