---
name: wsjf-scoring
description: Weighted Shortest Job First — SAFe-style приоритизация для enterprise B2B (cost of delay / job size)
---
# WSJF Scoring

> **Категория:** Prioritization  ·  **Slug:** `wsjf-scoring`

## Когда использовать

- Enterprise B2B контекст с большими initiatives и длинными cycles.
- Когда RICE недостаточен из-за time-sensitivity / opportunity cost.
- SAFe (Scaled Agile) окружении — стандарт portfolio/ART планирования.
- Когда нужно явно подсвечивать **cost of delay**.

## Вход

| Поле | Обязательно | Описание |
|------|:-----------:|----------|
| Epic / список initiatives | ✅ | Крупные элементы, 1+ спринт |
| Данные о бизнес-ценности | ✅ | Влияние на выручку, удержание |
| Факторы временно́й критичности | ✅ | Дедлайны, рыночные окна |
| Возможность снижения риска | ✅ | Неизвестные, которые будут устранены |
| Оценка размера задачи | ✅ | Относительный размер (T-shirt или points) |

## Источники данных

1. Финансовые прогнозы — компонент бизнес-ценности.
2. Анализ рынка — временна́я критичность.
3. Реестр рисков — фактор RR/OE.
4. Инженерные оценки — job size.

### Связь с другими скилами

| Скил | Что берём | Когда вызывать |
|------|-----------|----------------|
| `rice-scoring` | Альтернативный метод | Выбрать один для единообразия |
| `epic-breakdown` | Оценка job size | Перед WSJF |
| `product-roadmap` | Ранжированный список → назначение темы | После WSJF |

## Формула

```
WSJF = Cost of Delay / Job Size

Cost of Delay (CoD) = User-Business Value + Time Criticality + Risk Reduction / Opportunity Enablement
```

Три компонента CoD (шкала Fibonacci 1-10: 1, 2, 3, 5, 8, 13, 20):
- **User-Business Value (UBV):** ценность для пользователей/бизнеса при доставке сейчас
- **Time Criticality (TC):** ценность, теряемая с каждой неделей задержки
- **Risk Reduction / Opportunity Enablement (RR/OE):** снижение риска + будущие возможности, которые это открывает

Job Size — относительный (также Fibonacci 1-20).

## Протокол

### Шаг 0 — Определить элементы уровня Epic

WSJF работает на **уровне epic**, не stories. Если элементы слишком маленькие — агрегировать.

### Шаг 1 — User-Business Value (UBV)

Вопросы:
- Сколько revenue uplift?
- Сколько клиентов удержится / расширится?
- Насколько стратегически?

Шкала:
- **1-2** — Минимальное влияние
- **3-5** — Умеренное
- **8-13** — Высокое
- **20** — Трансформационное

Типично для B2B SaaS:
- Enterprise фича, открывающая сделки с Fortune 500: 13-20
- Улучшение онбординга SMB: 5-8
- Доработка UX: 2-3

### Шаг 2 — Time Criticality (TC)

Вопросы:
- Есть ли жёсткий дедлайн (регуляторный, контракт с клиентом)?
- Закрывается ли окно возможности?
- Ущерб за каждую неделю задержки?

Шкала:
- **1-2** — Нет дедлайна, нет деградации
- **3-5** — Некоторое временно́е давление
- **8-13** — Жёсткий дедлайн внутри квартала
- **20** — Экзистенциальный / немедленный

### Шаг 3 — Risk Reduction / Opportunity Enablement (RR/OE)

Вопросы:
- Решает ли критический архитектурный риск?
- Открывает ли будущие инициативы (платформенная игра)?
- Снижает ли технический долг, блокирующий другую работу?

Шкала:
- **1-2** — Автономный, без downstream
- **3-5** — Открывает 1-2 будущих элемента
- **8-13** — Открывает крупную платформенную возможность
- **20** — Фундаментальный

### Шаг 4 — Job Size

Относительная оценка по Fibonacci. Если наименьший epic = 1, остальные — относительно него.

Факторы:
- Усилия разработки
- Сложность дизайна
- Количество затрагиваемых интеграций
- Объём тестирования
- Сложность деплоя

Не точные оценки — относительный размер.

### Шаг 5 — Расчёт WSJF

```
CoD = UBV + TC + RR/OE
WSJF = CoD / Job Size
```

Выше WSJF = выше приоритет.

Пример:
- Epic: SSO SAML implementation
- UBV: 13 (открывает enterprise-тариф)
- TC: 8 (2 сделки ожидают)
- RR/OE: 5 (открывает SCIM в следующем квартале)
- Job Size: 8 (средне-большой)
- WSJF = (13 + 8 + 5) / 8 = **3.25**

### Шаг 6 — Rank

Отсортировать по WSJF убывая. Верхние элементы — первые.

### Шаг 7 — Sanity Check

- Верхний элемент — действительно наивысший приоритет?
- Нижний элемент — действительно самый низкий?
- Относительная согласованность Job Size — элемент на 13 реально ~6× крупнее элемента на 2?

### Шаг 8 — Portfolio View

Для портфеля из 20+ epics:
- Визуализировать в 2D: CoD (ось Y) × Job Size (ось X)
- Диагональ из верхнего левого угла = выше WSJF
- Обсудить выбросы: почему большие задачи с низким CoD?

## Валидация (Quality Gate)

- [ ] Элементы уровня Epic (не stories)
- [ ] Каждый компонент (UBV, TC, RR/OE) оценён с обоснованием
- [ ] Шкала Fibonacci применена единообразно
- [ ] Job Size относительный, не абсолютное время
- [ ] Sanity check — верхний/нижний имеют смысл
- [ ] Portfolio view создан если >10 элементов
- [ ] Сессия оценки включала кросс-функциональных стейкхолдеров (eng + biz + security)

## Handoff

Результат является входом для:
- **`product-roadmap`** — scored epics → PI planning (if SAFe)
- **`epic-breakdown`** — top epics → stories
- **Tech Lead** → capacity allocation
- **PM** → quarter planning

Формат: WSJF table + 2D portfolio view. Через `$handoff`.

## Anti-patterns

| Ошибка | Почему плохо | Как правильно |
|--------|-------------|---------------|
| Точные оценки job size | Ложная точность | Относительный Fibonacci |
| Все элементы одинаково оценены | Не различает | Распределять по шкале |
| Пропустить RR/OE | Упустить платформенные возможности | Оценивать все три CoD |
| Нет обоснования | Оценки выглядят произвольными | 1 строка на оценку |
| Оценка в одиночку | Потеря перспектив | Кросс-функциональная сессия |
| WSJF для мелких элементов | Избыточно | Использовать для epics (>спринта) |

## Шаблон

```markdown
# WSJF Portfolio — Q2 2026

## Легенда оценки
Шкала: 1, 2, 3, 5, 8, 13, 20 (Fibonacci)
- UBV: User-Business Value
- TC: Time Criticality
- RR/OE: Risk Reduction / Opportunity Enablement

## Оценки Epic

| # | Epic | UBV | TC | RR/OE | CoD | Job Size | WSJF | Обоснование |
|---|------|:---:|:--:|:-----:|:---:|:--------:|:----:|-------------|
| 1 | SSO SAML | 13 | 8 | 5 | 26 | 8 | 3.25 | «2 enterprise сделки ждут» |
| 2 | Mobile app | 8 | 3 | 2 | 13 | 20 | 0.65 | «Большой effort, низкая срочность» |

## Топ-5 (ранг по WSJF)
1. [Epic 1] — WSJF 3.25
...

## Portfolio 2D (CoD × Job Size)
[Заглушка для графика]
```

## Worked Example — TeamFlow Enterprise Epic Portfolio WSJF

**Контекст:** TeamFlow — 10 enterprise customers (500+ employee accounts), 8 в active expansion negotiation. WSJF applied на epic-level portfolio Q2-Q3 2026. SAFe-adjacent process: quarterly Program Increment planning.

### Epic Portfolio (9 epics, SAFe PI Planning session)

| # | Epic | Business Context | UBV | TC | RR/OE | CoD | Job Size | **WSJF** |
|---|------|------------------|:---:|:--:|:-----:|:---:|:--------:|:--------:|
| 1 | **SSO SAML + SCIM Provisioning** | 2 enterprise-сделки ожидают ($800K ARR), ещё 3 в пайплайне Q3 | 13 | 13 | 5 | 31 | 5 | **6.20** |
| 2 | **SOC 2 Type II for AI features** | Compliance-гейт для 4 Enterprise-сделок + продления существующих клиентов | 13 | 8 | 3 | 24 | 8 | **3.00** |
| 3 | **AI Summarization (Core MVP)** | Флагманская фича, позиционирование в категории | 13 | 5 | 5 | 23 | 13 | **1.77** |
| 4 | **Aggregate Dashboard (Enterprise tier)** | Открывает Enterprise-тариф ($15+ за место), 80 mid+ аккаунтов | 8 | 5 | 8 | 21 | 8 | **2.63** |
| 5 | **Data Residency (EU + APAC regions)** | 2 EU enterprise заблокированы требованиями к данным; APAC-проспект | 8 | 5 | 5 | 18 | 13 | **1.38** |
| 6 | **Zoom/Meet Native Integration** | Конкурентный паритет (Lattice запустил Q4 2025) | 5 | 3 | 3 | 11 | 13 | **0.85** |
| 7 | **Audit Log API** | Enterprise SIEM-интеграция — приятное дополнение, усилитель сделки | 5 | 3 | 3 | 11 | 5 | **2.20** |
| 8 | **Mobile App (iOS + Android)** | Менеджеры хотят mobile-проверку; не блокирует сделки | 5 | 2 | 2 | 9 | 20 | **0.45** |
| 9 | **HIPAA Attestation for Healthcare segment** | 1 проспект в healthcare-вертикали | 3 | 3 | 2 | 8 | 13 | **0.62** |

### Обоснование оценки (по компонентам)

**Epic 1 — SSO SAML + SCIM (WSJF 6.20):**
- **UBV 13:** 2 сделки × $400K средн. = $800K немедленно + мультипликативный эффект на пайплайн Q3
- **TC 13:** Сделки закрываются поквартально — задержка на 1 квартал = потеря сделок конкуренту
- **RR/OE 5:** Открывает enterprise sales motion (будущие сделки проще)
- **Job Size 5:** Умеренный — SCIM сложный, но SAML стандартизирован

**Epic 2 — SOC 2 Type II (WSJF 3.00):**
- **UBV 13:** 4 Enterprise сделки + защита продлений (~$1.5M суммарно)
- **TC 8:** 6-месячный цикл аудита — необходимо завершить для волны продлений Q4
- **RR/OE 3:** Единовременная сертификация, не открывает будущие
- **Job Size 8:** Значительный — SOC 2 требует привлечения аудиторской фирмы + документации + аттестации

**Epic 3 — AI Summarization Core (WSJF 1.77):**
- **UBV 13:** Трансформационный — категорийная игра
- **TC 5:** Конкуренты могут запустить параллельный AI, но окно 6 месяцев существует
- **RR/OE 5:** Открывает ценообразование AI tier + будущие AI-инициативы (платформенные инвестиции)
- **Job Size 13:** Большой — 6-8 инженеров × 3 месяца + ongoing

**Epic 4 — Aggregate Dashboard (WSJF 2.63):**
- **UBV 8:** Сильный — разблокировка Enterprise tier
- **TC 5:** Сезонность — циклы Board review в Q2 + Q4
- **RR/OE 8:** Открывает все будущие аналитические фичи People Ops (огромная downstream ценность)
- **Job Size 8:** Средне-большой

**Epic 8 — Mobile App (WSJF 0.45):**
- **UBV 5:** Маргинальный — workflow менеджеров преимущественно десктопный
- **TC 2:** Нет жёсткого дедлайна, нет приписываемых потерянных сделок
- **RR/OE 2:** Автономный, минимальный платформенный рычаг
- **Job Size 20:** Массивный — 2 платформы, 2 команды, вероятно 6+ месяцев

### Ранжированный портфель (по WSJF)

1. **SSO SAML + SCIM** (6.20) — запустить Q2 спринт 1-2 (2 недели)
2. **SOC 2 Type II** (3.00) — параллельный трек, цель конец Q2
3. **Aggregate Dashboard** (2.63) — Q2 спринт 3-6
4. **Audit Log API** (2.20) — Q2-Q3 спринт 7-8 быстрая победа
5. **AI Summarization Core** (1.77) — Q2 спринт 3-8 (крупнейший epic, но ниже WSJF)
6. **Data Residency EU** (1.38) — приоритет Q3
7. **Zoom/Meet Integration** (0.85) — Q3-Q4 (конкурентный паритет не горит)
8. **HIPAA Attestation** (0.62) — Q4 (1 клиент ждёт, низкое влияние на выручку)
9. **Mobile App** (0.45) — **ОТЛОЖИТЬ, пересмотреть на следующем PI**

### 2D Portfolio View (CoD × Job Size)

```
CoD (y)
 31  │ Epic 1 ★       
 24  │         Epic 2 ★
 23  │             Epic 3 (large)
 21  │         Epic 4 ★
 18  │                         Epic 5
 11  │ Epic 7 (small)    Epic 6
  9  │                                 Epic 8 (huge)
  8  │                         Epic 9
     └─────────────────────────────────────────
       5       8       13              20   Job Size (x)

★ = верхний левый квадрант (высокий CoD, меньший размер задачи = высокий приоритет WSJF)
```

### Инсайты из Portfolio View

- **Кластер верхнего левого угла** (Epics 1, 2, 4, 7): высокий CoD + управляемый размер = **приоритет PI**
- **Epic 3 (AI Summarization)** выбивается из ряда: высокий CoD, но наибольший job size. Нужно **декомпозировать** в sub-epics для лучшего управления (делается в `$epic-breakdown`).
- **Epic 8 (Mobile)** нижний правый угол: огромная задача, маргинальный CoD → **отложить**. Переоценить на следующем PI если обратная связь клиентов изменится.
- **Баланс портфеля:** 4 high-WSJF элемента умещаются в ёмкость Q2 с декомпозицией AI.

### Триггер декомпозиции (Epic 3)

Epic 3 «AI Summarization Core» имеет WSJF 1.77 из-за штрафа за job size. **Декомпозировать в `$epic-breakdown`**:
- Sub-epic A: Инфраструктура транскрипции (общая платформа) — средний, CoD через RR/OE
- Sub-epic B: Пайплайн генерации сводки — мало-средний, CoD через UBV
- Sub-epic C: UI проверки менеджера — маленький, CoD через удобство использования
- Каждый sub-epic получает собственную пересчёт WSJF — вероятно выше родительского из-за лучшего соотношения размера

### Обязательства PI (Q2)

| Epic | Назначение | Команды | Цели PI |
|------|------------|---------|---------|
| Epic 1 | Committed | Platform + Security | «SSO активен к Sprint 2» |
| Epic 2 | Committed | Security + Compliance | «Аттестация SOC 2 к Sprint 12» |
| Epic 3 (декомпозирован) | Committed | AI команда | «MVP summarization запущен к Sprint 8» |
| Epic 4 | Committed | Analytics + Eng | «Dashboard beta к Sprint 10» |
| Epic 7 | Stretch | Platform | «Audit API при наличии ёмкости» |

> **Урок WSJF:** Mobile App (Epic 8) WSJF 0.45 был **спорным** изначально — громкие голоса клиентов «нам нужен мобайл». WSJF заставил посчитать: 20 pm effort для маргинального CoD = **ужасное соотношение**. Отсрочка сохранила 20 pm для работ с более высоким влиянием. AI Summarization (Epic 3) WSJF 1.77 — контринтуитивно НЕ наивысший — но это артефакт большого job size. **Декомпозиция** исправляет это: sub-epics оцениваются значительно выше по отдельности. WSJF не работает на монолитных гигантских epics — сначала декомпозируй.
