Вычисление границ информационных систем и периметра зоны ответственности ИТ-отдела
Рассуждение с опорой на FPF (контекстно-ориентированный подход: контексты, границы, мосты/bridges).
1. Постановка проблемы
ИТ-отдел сопровождает и развивает системы, которые:
- управляют производственными процессами компании,
- поддерживают сквозные (end-to-end) процессы,
- обмениваются данными с другими ИС.
Нужно определить периметр зоны ответственности — где заканчивается «наше» и начинается «не наше».
Ключевая сложность: граница системы ≠ граница зоны ответственности ≠ граница бизнес-области. Эти три вещи путают, и именно поэтому «границы расплываются». FPF даёт язык, чтобы их развести.
2. Базовые понятия FPF, на которые опираемся
| Понятие |
Что это |
Пример из ЕРП |
| Контекст (Context) |
Замкнутая смысловая область со своей моделью, языком и правилами. Внутри контекста термины однозначны. |
«Закупки», «Производство», «Склад», «Себестоимость» — каждый свой контекст. Плюс отдельный контекст «ЕРП-система». |
| Граница контекста (Boundary) |
Линия, на которой меняется модель/язык/владелец. За границей те же слова значат другое. |
«Заказ» в закупках ≠ «заказ» в производстве. |
| Мост (Bridge) |
Явное сопоставление (маппинг) между двумя контекстами: как объект/понятие одного отображается в другой. Мост — это контракт. |
Контекст «Склад» → контекст «ЕРП»: остаток номенклатуры отображается в проводку/регистр. |
| Зона ответственности |
Набор контекстов + мостов, которые обязуется поддерживать конкретный владелец (ИТ-отдел). |
ИТ отвечает за контекст «ЕРП» и все мосты, входящие в него. |
Главная идея: система (ЕРП) — это один контекст-агрегатор, в который через мосты проецируются множество бизнес-контекстов (закупки, производство, склад, оплаты, себестоимость, отчётность, учёт). Граница системы проходит по мостам, а не по бизнес-процессам.
3. Три уровня границ (разделяем явно)
- Граница бизнес-области (домена) — определяется бизнесом, не ИТ. Пример: «за процесс закупки отвечает отдел снабжения».
- Граница системы (технического контекста) — где начинается и заканчивается ЕРП как артефакт: код, данные, конфигурация, интеграции.
- Граница зоны ответственности ИТ — контексты и мосты, которые ИТ сопровождает и развивает.
Периметр ИТ = (множество контекстов, которыми владеет ИТ) ∪ (множество мостов, за которые ИТ отвечает).
Правило разграничения на мосту:
На каждом мосту у стрелки есть источник и приёмник. Ответственность за мост несёт тот, кто владеет преобразованием/контрактом, а не тот, кто владеет данными на концах.
4. Пример: система ЕРП
4.1 Контексты, проецируемые в ЕРП
ЕРП = 1 контекст-агрегатор. Бизнес-области = самостоятельные контексты, отображаемые в ЕРП через мосты:
[Закупки] [Производство] [Склад]
\ | /
\ | /
v v v
================ КОНТЕКСТ «ЕРП» ==================
^ ^ ^
/ | \
/ | \
[Оплаты] [Себестоимость] [Бух/Налог. учёт] --> [Отчётность]
Каждая стрелка — мост с контрактом (что, в каком формате, с какой семантикой отображается).
4.2 Примеры мостов внутри/вокруг ЕРП
| Мост |
Источник |
Приёмник |
Что отображается |
Владелец моста |
| M1 |
Закупки |
ЕРП |
Заказ поставщику → документ поступления |
ИТ |
| M2 |
Производство |
ЕРП |
Производственный заказ → списание/выпуск |
ИТ |
| M3 |
Склад |
ЕРП |
Движение остатков → регистр складского учёта |
ИТ |
| M4 |
Оплаты |
ЕРП |
Платёж → взаиморасчёты |
ИТ |
| M5 |
Себестоимость |
ЕРП |
Затраты → расчёт себестоимости |
ИТ |
| M6 |
ЕРП |
Отчётность (BI) |
Регистры → витрина/отчёт |
спорно — граница периметра |
| M7 |
Банк-клиент (внешняя ИС) |
ЕРП |
Выписка → платёж |
ИТ отвечает за приём, банк — за выгрузку |
| M8 |
ЕРП |
ГИС/ФНС (внешняя ИС) |
Декларация → отправка |
ИТ до точки передачи, дальше — не наша зона |
4.3 Где проходит периметр
- Внутри периметра ИТ: контекст «ЕРП» + мосты M1–M5 (внутренние проекции бизнес-областей в ЕРП).
- На границе периметра (совместная ответственность): M6, M7, M8 — здесь нужен явный контракт, кто отвечает за какую половину моста.
- Вне периметра ИТ: внутренняя логика внешних систем (банк, ФНС, BI-платформа стороннего вендора), а также сами бизнес-процессы в бизнес-контекстах (это домен бизнеса, а не ИТ).
5. Порядок действий (алгоритм вычисления границ)
Шаг 0. Зафиксировать язык. Договориться о терминах: контекст, граница, мост, владелец, контракт. Без единого языка граница не считается.
Шаг 1. Выделить контексты. Перечислить все бизнес-области/деятельности (закупки, производство, склад, оплаты, себестоимость, учёт, отчётность) как отдельные контексты. Отдельно — систему-агрегатор (ЕРП).
Шаг 2. Нарисовать проекции в систему. Для каждого бизнес-контекста показать, как он отображается в ЕРП. Каждая проекция = мост.
Шаг 3. Инвентаризировать мосты. Составить реестр всех мостов: внутренних (контекст→ЕРП) и внешних (ЕРП↔другая ИС). Для каждого — источник, приёмник, семантика.
Шаг 4. Пройти по каждому мосту и назначить владельца. Для каждого моста ответить: кто владеет преобразованием/контрактом? Это и определяет, попадает ли мост в периметр ИТ.
Шаг 5. Классифицировать мосты: «внутри периметра» / «на границе (совместные)» / «вне периметра».
Шаг 6. Провести линию периметра. Периметр = граница множества контекстов и мостов, помеченных как «внутри». Спорные мосты требуют явного контракта (SLA/договор о разграничении).
Шаг 7. Проверить закрытость. Убедиться, что не осталось «висящих» стрелок — данных, которые входят/выходят без назначенного владельца моста. Каждая точка пересечения границы должна иметь контракт.
Шаг 8. Формализовать и согласовать. Оформить по шаблону (раздел 6), согласовать с владельцами смежных контекстов (бизнес, внешние вендоры).
Шаг 9. Пересматривать при изменениях. Любой новый интеграционный поток = новый мост = проверка периметра.
6. Шаблон описания границы системы
ГРАНИЦА СИСТЕМЫ: <название системы / контекста-агрегатора>
Версия: <x.y> Дата: <дата> Владелец периметра: <ИТ-отдел / подразделение>
1. КОНТЕКСТ-АГРЕГАТОР
- Наименование:
- Назначение (какие бизнес-области поддерживает):
- Технический состав (код, БД, конфигурации, инфраструктура):
2. ВХОДЯЩИЕ БИЗНЕС-КОНТЕКСТЫ (проецируемые в систему)
Для каждого:
- Контекст:
- Владелец контекста (бизнес-подразделение):
- Что проецируется в систему:
3. РЕЕСТР МОСТОВ
| ID | Источник | Приёмник | Что отображается | Направление | Владелец моста | Класс |
|----|----------|----------|------------------|-------------|----------------|-------|
| M1 | | | | вход/выход | ИТ / смежник | внутри / граница / вне |
4. ПЕРИМЕТР ЗОНЫ ОТВЕТСТВЕННОСТИ ИТ
- Внутри периметра (контексты и мосты): ...
- На границе (совместная ответственность + ссылка на контракт/SLA): ...
- Вне периметра (явно НЕ наша зона): ...
5. КОНТРАКТЫ НА ГРАНИЧНЫХ МОСТАХ
Для каждого граничного моста:
- Мост:
- Наша половина (за что отвечает ИТ):
- Чужая половина (за что отвечает смежник):
- Точка передачи ответственности (где именно):
- Формат/протокол/семантика контракта:
- SLA / договор:
6. ПРОВЕРКА ЗАКРЫТОСТИ
- Есть ли потоки без назначенного владельца моста? (да/нет)
- Список открытых вопросов:
7. СОГЛАСОВАНИЯ
- Владельцы смежных контекстов, подписи, даты.
7. Итоговые правила-эвристики
- Граница проходит по мостам, а не по процессам. Бизнес-процесс может тянуться через несколько контекстов — ИТ отвечает не за процесс, а за проекции и мосты.
- Нет моста без владельца. Любая стрелка через границу должна иметь ответственного за контракт.
- Спорный мост = совместная ответственность + явный контракт. «По умолчанию» — это источник конфликтов.
- Внутренняя логика чужого контекста — не наша зона. Мы отвечаем до точки передачи и за корректность нашей половины моста.
- Один контекст — один язык. Если внутри «системы» появляются два несовместимых языка — это признак, что там на самом деле два контекста и между ними нужен мост.