architect/research/pm-design/PM-SYSTEM.md

type: research
title: "PM System — Итоговая архитектура"
status: approved
version: 1.0.0
date: 2026-02-17
owner: architect


PM System — Итоговая архитектура

Статус

✅ ЗАВЕРШЕНО: Проектирование PM System

Создано:
- ✅ Концептуальная модель (9 процессов, классификация проектов)
- ✅ Workflow (Stage Gate Model, 15 фаз)
- ✅ Иерархия шаблонов (4 уровня наследования)
- ✅ Анализ компонентов PM (8 блоков функциональности)
- ✅ Стандарт размещения компонентов (4 масштаба)
- ✅ Каталог компонентов платформы (39 компонентов)
- ✅ MVP спецификация (5 компонентов, 42K строк)


Навигация по документам

Основные документы (обязательны для чтения)

Документ Назначение Статус
[[01-CORE-MODEL]] 9 процессов, WBS, режимы AI ✅ Approved
[[02-PROJECT-TYPES]] Классификация проектов (Domain × Nature × Class) ✅ Approved
[[03-WORKFLOW]] Stage Gate Model, Entry/Exit критерии ✅ Approved
[[04-INTERACTION-PROTOCOL]] Протокол взаимодействия оператор-AI ✅ Approved
[[PM-SYSTEM]] Итоговая архитектура (этот документ) ✅ Approved

Детальная проработка

Документ Назначение Статус
[[05-TEMPLATE-INHERITANCE]] Иерархия наследования шаблонов ✅ Approved
[[TEMPLATES-HIERARCHY]] Полная структура шаблонов (4 уровня) ✅ Approved
[[PM-COMPONENTS-ANALYSIS]] Анализ компонентов PM из индустрии ✅ Approved
[[PM-MVP-SPEC]] Детальная спецификация MVP ✅ Approved
[[INSIGHTS]] Выводы и нерешённые вопросы ⏳ Living document

Стандарты платформы

Документ Назначение Статус
[[COMPONENT_SCALE]] Размещение компонентов по масштабу ✅ Approved
[[COMPONENT_CATALOG]] Реестр всех компонентов платформы ✅ Active (аудит 2026-02-17)
[[PLATFORM_ARCHITECTURE]] 7 уровней платформы ✅ Approved

Ключевые концепции

1. Классификация проектов

3-мерная матрица: Domain × Nature × Class

DOMAIN (структурный, стабильный):
  - Product, IT, Business, Marketing, Finance, HR, Compliance, Physical

NATURE (динамический, тип изменений):
  - Greenfield, Enhancement, Implementation, Transformation, Discovery, Decommissioning

CLASS (управленческий, подход):
  - A (Delivery) — чёткий DoD, артефакты
  - B (Change Management) — OKR, коммуникация
  - C (Discovery) — гипотезы, pivot

Пример: lideravto = IT × Enhancement × A


2. Жизненный цикл проекта

15 фаз (LOCKED из PROJECTOR.md):

0-Trigger       Инициация
1-Understanding  Понимание задачи
2-Research      Исследование
3-Analysis      Анализ
4-Requirements  Требования
5-Design        Проектирование
6-Approval      Утверждение
7-Planning      Планирование
8-Preparation   Подготовка
9-Implementation  Реализация
10-Testing      Тестирование
11-Deployment   Развёртывание
12-Acceptance   Приёмка
13-Operations   Эксплуатация
14-Closure      Закрытие

3. Stage Gate Model

Для каждой фазы:

ENTRY GATE  WORK  EXIT GATE
                   ↓
Условия входа   Условия выхода
(prerequisites)  (deliverables)

Переход между фазами: Только после прохождения Exit Gate текущей + Entry Gate следующей


4. Иерархия шаблонов

4 уровня наследования:

Level 0: UNIVERSAL (PROJECT_BASE)
    ↓ +Domain-specific
Level 1: DOMAIN (PROJECT_IT, PROJECT_BUSINESS, ...)
    ↓ +Management-class-specific
Level 2: CLASS (CLASS_A, CLASS_B, CLASS_C)
    ↓ +Solution-specific
Level 3: SOLUTION (CSCART_PROJECT, DRUPAL_PROJECT, ...)

Механизм:
- extends: — наследование секций из родителя
- include: — вставка секций из других файлов
- {variable} — подстановка переменных

Пример цепочки для lideravto:

PROJECT_BASE → PROJECT_IT → CLASS_A → CSCART_PROJECT

5. Компонентная архитектура

4 масштаба компонентов:

Масштаб Размер Размещение
Микрокомпонент <1K строк system/elements/
Компонент 1K-10K строк system/components/ или library/
Подсистема 10K-100K строк system/services/
Система >100K строк solutions/

PM Platform: Подсистема (~42K строк) → system/services/pm/


Архитектура PM Platform

Компонентный состав

system/services/pm/               PM Platform (подсистема)
├── core/                         PM Core (15K строк)
   ├── lifecycle.py              15 phases + transitions
   ├── gates.py                  Stage Gate validation
   ├── engine.py                 Process execution
   ├── status.py                 Status tracking
   └── reports.py                Basic reporting

├── dms/                          Document Management (12K строк)
   ├── templates.py              Template registry
   ├── assembly.py               Document assembly (extends/includes)
   ├── validation.py             Structure validation
   └── storage.py                Document storage

├── tasks/                        Tasks (5K строк)
   ├── manager.py                Task CRUD
   ├── deps.py                   Dependencies
   └── schedule.py               Scheduling

├── api/                          Python API (2K строк)
   └── pm_api.py                 Public interface

├── cli/                          CLI Interface (3K строк)
   └── pm_cli.py                 pm create/status/next/gate

└── tests/                        Tests (5K строк)

Итого: ~42K строк кода


Ключевые возможности MVP

Функциональность:

✅ Создание проекта из шаблона

pm create lideravto --domain IT --nature Enhancement --class A --solution CS-Cart

✅ Сборка документов с наследованием

assembler.assemble_document("CSCART_PROJECT", "CLAUDE.md")
# → Собирает со всех 4 уровней: BASE → IT → CLASS_A → CSCART

✅ Управление фазами

pm status lideravto
# → Фаза: 4-Requirements (65%)

pm next lideravto
# → Checking exit gate... PASSED
# → Transition to phase 5 (Design)

✅ Проверка Stage Gates

pm gate lideravto --type exit
# → ✅ design/REQUIREMENTS.md exists
# → ✅ Functional Requirements filled
# → GATE PASSED

✅ Отслеживание статуса

status = pm.get_status("lideravto")
# → ProjectStatus(phase=5, progress=10, blockers=[])

✅ Базовая отчётность

pm report lideravto
# → Генерирует PROJECT_REPORT.md

НЕ входит в MVP (v2.0+)

❌ Автоматическое создание задач
❌ Workflow automation (автопереходы)
❌ Portfolio management
❌ Resource planning
❌ Интеграция с Jira/GitLab
❌ Дашборды и визуализация
❌ Risk management
❌ Quality management


Порядок реализации

Фаза 1: Создание шаблонов (3 дня)

Задача: Создать физическую структуру шаблонов в architect/templates/

architect/templates/
├── 0-universal/
│   ├── PROJECT_BASE.md
│   ├── structure.yaml        ← Структура папок/документов
│   └── phases.yaml           ← 15 фаз с deliverables
├── 1-domain/
│   ├── PROJECT_IT.md
│   └── PROJECT_BUSINESS.md
├── 2-class/
│   ├── CLASS_A.md
│   ├── CLASS_B.md
│   └── CLASS_C.md
└── 3-solution/
    ├── CSCART_PROJECT.md
    ├── DRUPAL_PROJECT.md
    └── REACT_PROJECT.md

Критерий готовности:
- Все 4 уровня созданы
- Цепочка наследования корректна
- Переменные определены


Фаза 2: PM Core (5 дней)

Задача: Реализовать ядро PM Platform

Компоненты:
1. lifecycle.py — управление фазами (2 дня)
2. gates.py — проверка Stage Gates (1.5 дня)
3. status.py — отслеживание статуса (1 день)
4. models.py — модели данных (0.5 дня)

Критерий готовности:

lifecycle = ProjectLifecycle("lideravto")
lifecycle.transition_to(5)  # → PASSED (с проверкой gates)
status = lifecycle.get_status()  # → Phase 5, 10%

Фаза 3: DMS (7 дней)

Задача: Реализовать Document Management System

Компоненты:
1. templates.py — реестр шаблонов (2 дня)
2. assembly.py — сборка документов (3 дня, сложный)
3. validation.py — валидация структуры (1.5 дня)
4. storage.py — хранение документов (0.5 дня)

Критерий готовности:

assembler = DocumentAssembler()
content = assembler.assemble_document(
    template_id="CSCART_PROJECT",
    document_name="CLAUDE.md",
    variables={"project_name": "lideravto", "cscart_version": "4.19.1"}
)
# → Документ собран со всех уровней наследования

Фаза 4: Интеграция (3 дня)

Задача: Интегрировать компоненты

Компоненты:
1. engine.py — процессы + AI режимы (1.5 дня)
2. reports.py — генерация отчётов (1 день)
3. tasks/manager.py — базовое управление задачами (0.5 дня)

Критерий готовности:

pm = PMPlatform()
pm.create_project("test", domain="IT", class_type="A", solution="CS-Cart")
pm.transition_phase("test", 2)
report = pm.generate_report("test")
# → Полный цикл работает

Фаза 5: Интерфейсы (2 дня)

Задача: Создать API и CLI

Компоненты:
1. pm_api.py — Python API (1 день)
2. pm_cli.py — CLI интерфейс (1 день)

Критерий готовности:

pm create lideravto --domain IT --nature Enhancement --class A --solution CS-Cart
pm status lideravto
pm next lideravto
pm gate lideravto --type exit
pm report lideravto
# → Все команды работают

Фаза 6: Тестирование (3 дня)

Задача: Тестирование всех компонентов

Тесты:
1. test_lifecycle.py — unit tests (0.5 дня)
2. test_gates.py — unit tests (0.5 дня)
3. test_dms.py — unit tests (1 день)
4. test_integration.py — end-to-end тест (1 день)

Критерий готовности:
- Покрытие тестами ≥80%
- Все тесты проходят
- E2E тест полного цикла проекта lideravto


Фаза 7: Применение на lideravto (2 дня)

Задача: Пройти весь lifecycle проекта lideravto через PM Platform

Шаги:
1. Создать проект через CLI
2. Собрать все документы из шаблонов
3. Пройти фазы 0-6 с проверкой gates
4. Зафиксировать проблемы и улучшения

Критерий готовности:
- lideravto создан через PM Platform
- Все документы собраны корректно
- Прошли минимум 7 фаз (до фазы Planning)
- PM Platform работает стабильно


Итого

Общий срок: 25 дней разработки
С учётом AI ×10: ~2.5-3 дня

Результат:
- ✅ PM Platform MVP готов
- ✅ Работает на проекте lideravto
- ✅ Архитектура масштабируется (v2.0, v3.0)
- ✅ Стандарты документированы


Следующие шаги

Немедленно (после утверждения)

  1. Создать структуру: system/services/pm/ с CLAUDE.md + index.yaml
  2. Добавить в каталог: обновить COMPONENT_CATALOG.md
  3. Начать Фазу 1: создание шаблонов в architect/templates/

Короткий срок (1-2 недели)

  1. Реализовать MVP: фазы 1-6 (создание шаблонов → тестирование)
  2. Применить на lideravto: фаза 7

Средний срок (1-2 месяца)

  1. v2.0: Автоматизация (задачи, workflow)
  2. Интеграция с git: автокоммиты при переходах

Долгий срок (3-6 месяцев)

  1. v3.0: Portfolio, Resources, Интеграции
  2. Масштабирование: использование на всех проектах

Проблемы и риски

Известные проблемы

# Проблема Решение Статус
1 Шаблоны ещё не созданы физически Создать в architect/templates/ ⏳ TODO
2 Нет чёткого формата structure.yaml Определить формат в Фазе 1 ⏳ TODO
3 Синтаксис extends/include не формализован Формализовать в assembly.py ⏳ TODO
4 Нет автоматизации переходов Отложено на v2.0 ⏸️ Deferred

Риски

Риск Вероятность Влияние Митигация
Сложность assembly.py Высокая Высокое Начать с простого (только extends), потом includes
Неполнота шаблонов Средняя Среднее Создать минимальные шаблоны для MVP, дополнять по мере использования
Конфликты в наследовании Средняя Высокое Чёткие правила приоритета (child > parent)
Изменение PROJECTOR.md (LOCKED) Низкая Критическое PROJECTOR.md LOCKED, изменения запрещены

Метрики успеха

Качественные

Количественные

Метрика Целевое значение
Время создания проекта <5 минут
Покрытие тестами ≥80%
Количество багов в MVP <10
Документация компонентов 100% (CLAUDE.md + index.yaml)
Удовлетворённость оператора ≥8/10

Связи / References

Основная документация

Стандарты платформы

Методология (LOCKED)


История изменений

Версия Дата Изменения
0.1.0 2026-02-15 Первая версия (концепция)
0.2.0 2026-02-16 Добавлена иерархия шаблонов
0.3.0 2026-02-17 Добавлен анализ компонентов
0.4.0 2026-02-17 Добавлены стандарты размещения
1.0.0 2026-02-17 ✅ Итоговая архитектура УТВЕРЖДЕНА

Версия: 1.0.0
Статус: ✅ Approved
Дата утверждения: 2026-02-17