type: research
title: "PM System — Итоговая архитектура"
status: approved
version: 1.0.0
date: 2026-02-17
owner: architect
✅ ЗАВЕРШЕНО: Проектирование 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 |
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
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 → Закрытие
Для каждой фазы:
ENTRY GATE → WORK → EXIT GATE
↓ ↓
Условия входа Условия выхода
(prerequisites) (deliverables)
Переход между фазами: Только после прохождения Exit Gate текущей + Entry Gate следующей
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
4 масштаба компонентов:
| Масштаб | Размер | Размещение |
|---|---|---|
| Микрокомпонент | <1K строк | system/elements/ |
| Компонент | 1K-10K строк | system/components/ или library/ |
| Подсистема | 10K-100K строк | system/services/ |
| Система | >100K строк | solutions/ |
PM Platform: Подсистема (~42K строк) → system/services/pm/
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 строк кода
Функциональность:
✅ Создание проекта из шаблона
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
❌ Автоматическое создание задач
❌ Workflow automation (автопереходы)
❌ Portfolio management
❌ Resource planning
❌ Интеграция с Jira/GitLab
❌ Дашборды и визуализация
❌ Risk management
❌ Quality management
Задача: Создать физическую структуру шаблонов в 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 уровня созданы
- Цепочка наследования корректна
- Переменные определены
Задача: Реализовать ядро 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%
Задача: Реализовать 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"}
)
# → Документ собран со всех уровней наследования
Задача: Интегрировать компоненты
Компоненты:
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")
# → Полный цикл работает
Задача: Создать 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
# → Все команды работают
Задача: Тестирование всех компонентов
Тесты:
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
Задача: Пройти весь 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)
- ✅ Стандарты документированы
system/services/pm/ с CLAUDE.md + index.yaml| # | Проблема | Решение | Статус |
|---|---|---|---|
| 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 |
| Версия | Дата | Изменения |
|---|---|---|
| 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