Метод «затраты-эффект»

Ко мне поступил запрос - как понять, что задача бесполезная? Расскажу, как мы это делали

📊 У нас проводились общие ретро на несколько команд, куда выносились текущие проблемы. На них команды рандомно перераспределялись, и мы генерили идеи по их решению. Напротив каждой идеи мы ставили сложность ее реализации и импакт от нее по шкале от 1 до 10

Например, есть такой пул идей:

1️⃣Поднять собственный кластер Нужны ресурсы, настройка, проект, но позволит самим управлять своим кодом и релизить в любое время Complexity - 10, Impact - 10

2️⃣Навесить SLA на поставщиков данных Нужно утвердить сроки, условия, подключить юр отдел, но данные будут качественнее Complexity - 6, Impact - 9

3️⃣Ускорить время раскатки проекта Есть идеи для решения, нужно потестить, при этом разработчики не будут ждать час, смотря на медленно появляющиеся логи Complexity - 1, Impact - 7

4️⃣Автоматически генерировать зависимости между тасками в даге Непонятно, как подступиться, забираем у пользаков возможность самим управлять, еще и может все поломаться Complexity - 10, Impact - 1

5️⃣Добавить алерт на null поля в данных Всего 1 sql-скрипт, а мы узнаем состояние данных сразу, а не через день, когда витрина некорректно рассчиталась и нужно все пересчитать Complexity - 1, Impact - 10

6️⃣Сделать одинаковый нейминг временных таблиц Техническая доработка, на бизнес не влияет Complexity - 1, Impact - 1

Теперь - как приоритизировать? Думаю, многим это известно или понятно на подсознательном уровне:

⬇️C ⬆️I - легко делать, крутой результат, берем в первую очередь

⬆️C ⬆️I - задача сложная, но оправдывает инвестиции, берем после первых

⬇️C ⬇️I - несложная, но и эффекта нет, берем по остаточному принципу, когда больше нечем заняться

⬆️C ⬇️I - теряем много времени ради ничего, не берем

В нашем примере можно взять в таком порядке: 5 3 2 1 6 (4 выкидываем)