← Назад к вопросам

На что будешь опираться при расстановке приоритета задач?

1.6 Junior🔥 161 комментариев
#Soft skills и опыт работы

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI21 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Расстановка приоритетов задач: мой подход

Приоритизация — это искусство и наука. За 10+ лет я выработал систему, которая работает в любом контексте: от стартапа до корпорации, от спринта до долгосрочного планирования.

1. Матрица Eisenhower (Urgent vs Important)

Это основа моего подхода. Все задачи делятся на 4 квадранта:

┌─────────────────────────────────────────┐
│  ВАЖНЫЕ & СРОЧНЫЕ    │  ВАЖНЫЕ & НЕ СРОЧНЫЕ │
│  (DO FIRST)         │  (SCHEDULE)          │
│                     │                      │
│  - Production issues │ - Архитектура        │
│  - Deadline bugs     │ - Рефакторинг        │
│  - Security threats  │ - Документация       │
│  - Крупные сбои     │ - Skilling up        │
├─────────────────────────────────────────┤
│  НЕ ВАЖНЫЕ & СРОЧНЫЕ │ НЕ ВАЖНЫЕ & НЕ СРОЧНЫЕ │
│  (DELEGATE)         │ (DELETE)             │
│                     │                      │
│  - Email            │ - Чат сообщения      │
│  - Чужие дедлайны   │ - Nice-to-have       │
│  - Суета            │ - Золотая посуда     │
│  - Звонки           │ - Perfectionism      │
└─────────────────────────────────────────┘

В боевых условиях:

  • Квадрант 1 (URGENT + IMPORTANT): Беру лично, решаю немедленно. Production issue — я на это бросаю всё
  • Квадрант 2 (NOT URGENT + IMPORTANT): Планирую в спринт, это мой приоритет в обычное время
  • Квадрант 3 (URGENT + NOT IMPORTANT): Делегирую если возможно, или батчую (решаю несколько сразу)
  • Квадрант 4 (NOT URGENT + NOT IMPORTANT): Удаляю или откладываю на бесконечность

2. Business Impact

Ключевой метрик: сколько денег/юзеров затрагнет это решение?

// Мой внутренний скоринг
type ImpactScore = {
  affectedUsers: number;        // 1M users = высокий приоритет
  revenueAtRisk: number;        // $100K/день на кону = критика
  conversionImpact: percentage;  // -5% конверсия = очень важно
  reputationDamage: boolean;    // Может выплыть в соцсети? = важно
  timeToFix: hours;             // Быстрый фикс выше в приоритете
};

// Примеры приоритизации
const priorities = [
  // 1. Production горит, тысячи юзеров потеряли доступ
  { task: 'Payment gateway down', impact: 'Critical', priority: 1 },
  
  // 2. Безопасность
  { task: 'SQL injection vulnerability', impact: 'Critical', priority: 2 },
  
  // 3. Часто используемый фича сломана
  { task: 'Login button not working', impact: 'High', priority: 3 },
  
  // 4. Редкий edge case
  { task: 'Button color in dark mode', impact: 'Low', priority: 10 },
];

3. Effort vs Reward (MoSCoW Method)

Комбинирую с классификацией MoSCoW:

MUST HAVE (Must Have)
- Базовая функциональность
- Блокирующие для запуска фичи
- Критические баги

SHOULD HAVE (Should Have)
- Важные улучшения
- Мягко влияет на UX
- Может подождать на спринт

COULD HAVE (Could Have)
- Nice-to-have
- Не влияет на основную функцию
- Когда будет время и сил

WON'T HAVE (Won't Have в этом спринте)
- Отложить на будущее
- Можно заменить более простым
- Слишком сложно для текущего контекста

Практический пример:

Spring backlog:

[MUST] Fix authentication bug (blocks mobile users) — 8h
[MUST] Optimize database query (N+1, kills performance) — 6h
[SHOULD] Add caching layer (good-to-have optimization) — 10h
[COULD] UI improvements (polish) — 5h
[WON'T] Refactor old code (technical debt, low impact) — 20h

4. Risk Assessment

Я оцениваю риск потери:

type RiskFactors = {
  dataLoss: boolean;           // CRITICAL
  userDataExposure: boolean;   // CRITICAL
  reputationDamage: boolean;   // HIGH
  downtime: Duration;          // HIGH if > 1 hour
  inconsistency: boolean;      // MEDIUM
  poorUX: boolean;             // LOW if workaround exists
};

// Примеры:

// CRITICAL RISK - немедленно
const issues = [
  'Database connection pool exhausted (blocks all users)',
  'Memory leak causing OOM every 4 hours (scheduled restart needed)',
  'Security token validation broken (anyone can forge token)',
];

// HIGH RISK - в спринт
const highRisk = [
  'API timeout sometimes returns 500 instead of retrying (affects 2% of requests)',
  'Cache invalidation bug causes stale data (rare, but serious)',
];

// MEDIUM RISK - планируем
const mediumRisk = [
  'Pagination doesn't work on 100K+ items (could optimize later)',
  'Error messages not user-friendly (but logs are clear)',
];

5. Dependency Graph

Что блокирует другие задачи?

// Визуализирую зависимости
const dependencies = {
  'Auth system': {
    blocks: ['User profiles', 'Admin panel', 'Permissions'],
    priority: 'FIRST',
  },
  'Database migration': {
    blocks: ['New features', 'Refactoring'],
    priority: 'SECOND',
  },
  'UI redesign': {
    blocks: ['Nothing critical'],
    priority: 'Can be delayed',
  },
};

// Правило: решай задачи в порядке их блокирующей способности

6. Team Capacity & Velocity

Не могу расставлять приоритеты, не учитывая реальность.

type SprintContext = {
  totalCapacity: 40; // часов в спринт
  currentVelocity: 35; // часов в среднем делаем
  interruptions: 3; // часов на внезапные issues
  bufferForQA: 5; // часов на тестирование
  availableForNewTasks: 27; // реально, вот так
};

// Если у меня 27 часов в спринт:
// - Не беру 40-часовую задачу (не влезет)
// - Оставляю буфер на неожиданное
// - Беру MUST первыми, потом SHOULD

7. Stakeholder Input (когда важно)

Я спрашиваю:

  • Product Manager: какие метрики самые важные?
  • CEO/CTO: стратегические направления?
  • Support team: какие баги жалуют пользователи?
  • Lead: есть ли блокирующие зависимости?

Но я не даю другим людям ПОЛНЫЙ контроль. Я консультируюсь, но решение остаётся за мной как technical expert.

// Сценарий:
PM: 'Сделай эту фичу, очень нужно'
Меня: 'Понимаю приоритет. Но она займёт 40 часов, а у нас есть production bug на 3 часа. Что важнее: новая фича или стабильность?'

// Обычно они выбирают стабильность. Если нет — это политическая игра, не моя задача.

8. ROI (Return on Investment)

Сложные задачи vs простые задачи:

type TaskROI = {
  effort: hours;
  impact: benefit;
  roi: impact / effort;
};

const tasks = [
  { task: 'Add index to slow query', effort: 1, impact: 100, roi: 100 }, // FIRST!
  { task: 'Implement new auth', effort: 40, impact: 50, roi: 1.25 },     // Later
  { task: 'Polish button colors', effort: 5, impact: 1, roi: 0.2 },     // Never
];

// Сортируем по ROI и берём максимальный ROI первыми

9. Technical Debt vs Features

Балансирую между развитием и долгом:

2-недельный спринт (80 часов команды):
- 50% на новые фичи (что просит PM)
- 30% на баги и стабильность (что нужно бизнесу)
- 20% на tech debt (что нужно инженерам)

Этот баланс может меняться:
- Если много багов: 40/40/20
- Если срочный дедлайн: 70/20/10
- Если code старый: 30/30/40

10. Мой реальный процесс в спринте

// День 1 (Планирование)
1. Посмотрю на incoming issues
2. Разделю по Eisenhower матрице
3. Дам оценку (effort)
4. Посчитаю impact
5. Отобрал top-5 задач в спринт

// День 2-9 (Выполнение)
1. Начну с MUST HAVE
2. Блокирующие задачи выше
3. Если появился production issue: pause, fix, resume
4. Если освободилось время: беру SHOULD

// День 10 (Review)
1. Что успели
2. Почему не успели (реалистичен)
3. Lessons learned
4. Корректирую оценки на следующий спринт

11. Когда я деюсь приоритета

Ситуации, когда я пересматриваю:

  1. Production issue — пауза всему, боремся с этим
  2. Security vulnerability — все руки на деку
  3. Новая информация — узнал, что задача нужна раньше
  4. Зависимость готова раньше — могу поднять приоритет
  5. Context switch стоит дороже — может быть, делать в другом порядке

12. Anti-patterns, которых избегаю

// ❌ Неправильно: брать всё и срочное
const badPrioritization = [
  'Everything is HIGH priority (means nothing is)'
  'Doing whatever asked first (reactive)'
  'Ignoring impact, only effort (polish instead of value)'
  'No buffer for interruptions (burnout)'
];

// ✅ Правильно: система с принципами
const goodPrioritization = [
  'Clear criteria for priority'
  'Business impact first'
  'Team health second'
  'Technical excellence third'
];

Итог: мой приоритизационный framework

1. Impact — сколько юзеров/денег затрагивает? 2. Urgency — действительно ли это срочно? 3. Risk — что потеряем если не сделаем? 4. Effort — сколько времени займёт? 5. Dependencies — что это блокирует? 6. Team capacity — реально ли мы это можем сделать? 7. Stakeholder input — что говорят product/business? 8. ROI — effort vs reward

Это не формула, это эвристика. Я применяю эти принципы гибко, в зависимости от контекста. Главное — быть систематичным и прозрачным в своих решениях. Когда люди видят, что я расставляю приоритеты по понятным правилам, они мне доверяют.

На что будешь опираться при расстановке приоритета задач? | PrepBro