Project

General

Profile

Workflow » History » Version 1

Hardelele User, 02/16/2026 11:21 AM
PM workflow

1 1 Hardelele User
# Рабочий процесс (PM Flow)
2
3
> Описание того, как Claude-PM работает с заказчиком над проектом AI Story Writer.
4
5
---
6
7
## Роли
8
9
| Роль | Кто | Ответственность |
10
|------|-----|-----------------|
11
| **Заказчик** | Пользователь продукта | Описывает потребности, тестирует, даёт обратную связь |
12
| **PM (Claude)** | AI-ассистент | Анализирует, декомпозирует, создаёт задачи, обновляет wiki |
13
| **Разработчик (Claude)** | AI-ассистент | Реализует задачи, пишет код, тестирует |
14
15
---
16
17
## Процесс
18
19
### Phase 1: Intake (Приём требований)
20
21
```
22
Заказчик → описывает потребность в чате
23
24
PM → анализирует:
25
    • Пересечения с существующими требованиями
26
    • Зависимости от других фич
27
    • Системные последствия (какие модули затрагивает)
28
29
PM → задаёт уточняющие вопросы (если нужно)
30
31
PM → создаёт/обновляет:
32
    • Issue в Redmine (с категорией, приоритетом, описанием)
33
    • Требование в wiki [[Requirements]]
34
    • Связи между задачами
35
```
36
37
**Пример:**
38
> Заказчик: "Хочу чтобы чат работал как табы в Cursor"
39
>
40
> PM анализирует:
41
> - Пересечение с F25 (session selector) — заменяет dropdown на табы
42
> - Пересечение с F26 (clear history) — закрытие таба vs удаление
43
> - Зависимость: нужен store для "открытых" сессий (отдельно от всех)
44
>
45
> PM создаёт issue F33 и обновляет REQ-SM-13 в wiki.
46
47
---
48
49
### Phase 2: Triage (Классификация и приоритизация)
50
51
PM классифицирует каждую задачу:
52
53
| Тип | Описание | Пример |
54
|-----|----------|--------|
55
| **Bug** | Что-то сломано | F35: правки не отображаются |
56
| **Feature** | Новый функционал | FR17: правила для книги |
57
| **Improvement** | Улучшение существующего | F36: diff-отображение правок |
58
| **Tech Debt** | Внутреннее качество | A3: N+1 запросы |
59
60
PM оценивает приоритет по матрице:
61
62
| | Low Effort | Medium Effort | High Effort |
63
|---|-----------|---------------|-------------|
64
| **High Impact** | P0 — делать первым | P0 — делать первым | P1 — планировать |
65
| **Medium Impact** | P1 — планировать | P2 — в очередь | P2 — в очередь |
66
| **Low Impact** | P2 — в очередь | P3 — backlog | P3 — backlog |
67
68
---
69
70
### Phase 3: Системное мышление (ключевое)
71
72
> **Главный принцип PM:** При каждом новом требовании спросить себя: "Какие ещё 2-3 задачи это затрагивает?"
73
74
**Матрица зависимостей (примеры):**
75
76
| Новое требование | Затрагивает | Почему |
77
|-----------------|-------------|--------|
78
| F36 (diff view) | NAI-7, FR12, F34 | Версии блоков + подсветка + review mode |
79
| FR17 (book rules) | FR9, NAI-3 | customInstructions + style memory + structured rules |
80
| FR11 (collaboration) | FR16, B1, B2 | Presence + auth + session ownership |
81
| F39 (mobile UI) | F42-F71, FR15 | 30 UI-issues завязаны на mobile |
82
83
**"Пакетные" решения:**
84
PM ищет возможность решить 3 задачи одним рефакторингом. Примеры из истории:
85
- **Пакет "Auth"**: S1 + S2 + S3 + B1 + B2 = FR1 (одна большая фича закрыла 5 проблем безопасности)
86
- **Пакет "Streaming"**: Narrator #1 + #2 + #4 + #27 = AgentRunner + WebSocket (один рефакторинг закрыл 4 проблемы)
87
- **Пакет "Entity CRUD"**: FR4 + F28 + F29 = единый подход к CRUD-страницам (3 фичи одним паттерном)
88
89
---
90
91
### Phase 4: Реализация
92
93
```
94
PM → формирует план реализации:
95
    • Разбивка на подзадачи (если крупная фича)
96
    • Порядок выполнения (зависимости)
97
    • Оценка затрагиваемых файлов
98
99
Разработчик → реализует задачу:
100
    • Код (backend/frontend)
101
    • Тесты (если применимо)
102
    • Обновление документации
103
104
PM → верифицирует:
105
    • Задача закрыта в Redmine
106
    • Требование обновлено в wiki (✅)
107
    • Нет регрессий
108
```
109
110
---
111
112
### Phase 5: Обратная связь
113
114
После реализации:
115
116
1. **PM обновляет wiki** — статус требования ✅, ссылка на issue
117
2. **PM закрывает issues** в Redmine
118
3. **PM предлагает follow-up** — что можно улучшить дальше
119
4. **Заказчик тестирует** — даёт обратную связь
120
5. **PM создаёт новые issues** из обратной связи (цикл повторяется)
121
122
---
123
124
## Инструменты
125
126
| Инструмент | Назначение | Как используется |
127
|------------|-----------|-----------------|
128
| **Redmine** | Трекер задач | Issues, wiki, категории |
129
| **GitHub** | Код + CI/CD | Репозиторий, Actions, Docker |
130
| **Claude Code** | PM + разработка | Анализ, планирование, кодинг |
131
| **MD-файлы** | Архив анализа | 6 файлов с историей всех issues |
132
133
### CLI для Redmine
134
135
```bash
136
# Issues
137
node deploy/redmine-api.mjs list-issues novels
138
node deploy/redmine-api.mjs create-issue novels "Subject" "Description"
139
node deploy/redmine-api.mjs update-issue 123 status_id=5
140
141
# Wiki
142
node deploy/redmine-api.mjs list-wiki novels
143
node deploy/redmine-api.mjs get-wiki novels Requirements
144
node deploy/redmine-api.mjs put-wiki novels PageTitle "Content..."
145
```
146
147
---
148
149
## Принципы PM
150
151
1. **Transparency** — все решения документированы, заказчик видит полную картину
152
2. **Traceability** — каждое требование связано с issues, каждый issue — с кодом
153
3. **Системность** — каждая задача рассматривается в контексте всей системы
154
4. **Пакетность** — группировать связанные задачи для эффективной реализации
155
5. **Проактивность** — PM предлагает улучшения, а не только реагирует на запросы
156
157
---
158
159
*Последнее обновление: 2026-02-16*