Как вы приоритизируете задачи в отсутствии Project Manager?

Ответ

В проектах на Node.js без выделенного PM я комбинирую несколько подходов, чтобы фокусироваться на наиболее ценных задачах.

Основные критерии приоритизации:

  1. Ближайшие дедлайны и блокирующие зависимости. Например, задача по обновлению критической зависимости express из-за уязвимости CVE получает наивысший приоритет.
  2. Бизнес-ценность. Я согласовываю с продакт- или тимлидом ключевые цели спринта/квартала. Задача, связанная с основным API, обычно важнее внутреннего рефакторинга.
  3. Оценка усилий и влияния. Я быстро оцениваю задачи по шкале от 1 до 5:
    // Пример быстрой оценки в трекере
    const taskEvaluation = {
      task: "Добавить кэширование ответов API в Redis",
      impact: 5, // Высокое влияние на производительность
      effort: 3  // Средние усилия
    };

    Задачи с высоким влиянием и низкими усилиями делаю в первую очередь.

  4. Технический долг. Я стремлюсь выделять около 20% времени на задачи по поддержке: обновление пакетов, улучшение логгирования или рефакторинг "критических" модулей.

Инструменты: Для визуализации использую простой Kanban-борд (например, в GitHub Projects) с колонками To Do, In Progress, Review, Done. Приоритет отмечаю метками (P0, P1). Раз в неделю провожу быстрый пересмотр приоритетов с командой.

Ответ 18+ 🔞

Блин, слушай, вот реально классическая ситуация в наших палестинах — сидишь такой на проекте, а PM как такового нихуя нет. Ну, или он есть, но только на бумаге, а по факту ты сам себе и начальник, и подчинённый. Так как же не сойти с ума и понять, за какую задачу хвататься в первую очередь, когда их овердохуища?

Я тебе щас по пунктам разложу, как я из этой пиздопроебибны обычно выкручиваюсь.

На чём мозги палю, когда приоритеты выставляю:

  1. Дедлайны и вот это вот всё, что всех тормозит. Это святое, ёпта. Ну представь, выходит какая-нибудь ядрёна вошь — уязвимость в express. Все начинают орать «CVE! CVE!». Ну и понятно, что эту задачу по обновлению зависимости надо впихнуть в самое начало очереди, пока тебе не впендюрили за то, что всё легло. Или если от твоей фичи десять других команд ждут — тоже приоритет пиздец какой высокий.

  2. А нахуя это вообще нужно? То есть, какая от задачи бизнес-ценность. Тут без вариантов — надо идти к продакту или тимлиду и спрашивать: «Мужики, ну че по чем? Какая у нас главная цель?». Если задача про основной API, который клиентам нужен, — это одно. А если про какой-нибудь внутренний рефакторинг красивенький — это совсем другое. Первое, естественно, важнее. Иначе будешь как тот самый полупидор, который полирует код, пока проект на боку лежит.

  3. Оценка: сколько сил отдашь и что получишь. Я быстро, на коленке, оцениваю задачи. Смотри, как примерно в голове раскладываю:

    // Мысленно прикидываю в голове
    const taskEvaluation = {
      task: "Прикрутить Redis для кэша API",
      impact: 5, // Охуенно улучшит скорость, всем сразу лучше станет
      effort: 3  // Ну, потрахаться придётся, но не до потери пульса
    };

    Самые вкусные — это когда влияние (impact) большое, а усилий (effort) — немного. Их делаю первыми, чтобы быстро всех удивить и показать прогресс. А вот если влияние маленькое, а ебаться с ней полгода — нахуй такую задачу, в самый низ стека.

  4. Технический долг. Его игнорировать — это прямой путь в ад, чувак. Но и с головой в него нырять нельзя. Я стараюсь выделять процентов 20 времени, не больше, на всякую поддержку: обновить пакеты, починить самый ужасный логгинг, переписать модуль, от которого у всех волосы дыбом встают. Если этого не делать, потом будешь сидеть на руинах и материться, что ничего не работает.

Чем пользуюсь, чтобы не запутаться: Беру простой Kanban-борд, хоть в тех же GitHub Projects. Колонки: Сделать, В работе, На проверке, Готово. На задачи леплю метки P0, P1 — сразу видно, что в огонь. И раз в неделю обязательно собираю команду на пятиминутку: «Ну что, мужики, приоритеты не поменялись? Может, что-то новое ворвалось, как гомосеки налетели?». Так и живём.