Лонгрид

Как планировать в неопределённости

Я слабо верю в точные планы на далёкое будущее. Но отказаться от планирования тоже нельзя: команде нужен ориентир, а бизнесу — основа для решений. Приходится жить между двумя крайностями: бездумным оптимизмом и параличом анализа.

Магические коэффициенты

Однажды в рекламном посте я увидел совет: если что-то распланировал, сразу умножь срок в два-четыре раза. Обычно рекламу я не комментирую, но здесь не сдержался. В нескольких строках ответа не уместилось, почему такой подход вреден.

Ситуацию хорошо описывал Максим Дорофеев в «Джедайских техниках». Представьте программиста Васю. Тимлид спрашивает, сколько займёт фича. Вася отвечает: неделю. Тимлид на всякий случай обещает руководителю две. Руководитель превращает две недели в четыре.

Чем больше организация, тем длиннее эта цепочка. В какой-то момент наверху получают оценку в пару лет и начинают делить её обратно. До Васи в итоге доходит: «Неделя долго, надо было вчера». Сам процесс при этом растягивается из-за согласований, встреч и передачи информации между уровнями.

Желание использовать коэффициент понятно. Он избавляет от необходимости разбираться со сложными вопросами будущего, вероятностей и потенциальных проблем. Несколько раз умножили, случайно попали в срок — и готова привычка.

Сама мысль заложить резерв на неучтённое вполне здравая. Проблема начинается, когда коэффициент применяется автоматически. Он маскирует вопрос «Что именно может пойти не так?» и скрывает неопределённость вместо того, чтобы помочь с ней работать.

Если убрать коэффициент, этот вопрос сразу вылезает наружу. А пойти не так может что угодно. Приходится сегодня смотреть в завтрашний день, и это сложно.

Все риски всё равно не предусмотреть

Первая альтернатива магическому умножению выглядит разумно: сесть и расписать всё, что может повлиять на срок. Но здесь нас ждёт другая крайность.

Во-первых, предусмотреть всё невозможно. После хорошего анализа легко почувствовать удовлетворение и безопасность: всё предусмотрено, закрыто и перекрыто. Вот только реальность об этом не знает. Если мы не видим какой-то риск, это ещё не значит, что его нет.

Во-вторых, если заложить в план все найденные риски, оценка может стать ещё больше магического коэффициента. Так работать тоже не получится. Приходится выбирать: какие риски снижать заранее, какие принимать, а за какими наблюдать.

Получается, точную оценку не даёт и этот подход. Никто не знает, какие из предусмотренных и не предусмотренных рисков реализуются. Срок может варьироваться от примерного минимума до бесконечности.

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

Совсем забивать на анализ рисков ещё хуже: рано или поздно один коварный риск сделает всем больно. Но на некоторые риски можно и нужно забивать. Мелочи с ограниченными последствиями не всегда стоят внимания. Даже крупный риск иногда можно не прорабатывать сразу, если его реализация не приведёт к серьёзным моментальным последствиям.

Попытка разобрать вообще всё приводит к параличу анализа, и реальная работа встаёт. Иногда нужно признать неопределённость и вернуться к риску, когда в этом появится необходимость.

Рациональный фланёр

Что делать, если бездумный коэффициент не работает, а просчитать всё невозможно? Универсального решения у меня нет. Есть набор техник, которые помогают улучшить результат, но не предсказывают будущее.

Основой для них стала концепция рационального фланёра из «Антихрупкости» Нассима Талеба. Фланёр идёт на прогулку с планом, но не становится его рабом. Он пересматривает маршрут по мере появления новой информации.

Именно «высечение в камне» планов становится источником многих неприятностей. Если регулярно проверять их на адекватность, жить становится проще.

Допустим, я составил план на день и начал ему следовать. Потом упал прод. Время, силы и внимание ушли на инцидент. Значит, нужно убрать из плана что-то другое.

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

Сначала отказываться от запланированного непривычно и больно. Со временем польза перевешивает неудобства. Эта логика работала у меня на уровне дня, недели, спринта команды и технического плана отдела на полгода. Масштаб меняет нюансы, но не принцип.

Что работает у меня

  1. Детализировать только ближайший участок. Чем дальше горизонт, тем меньше подробностей. Я называю это размытием планов: не нужно пытаться расписать по часам проект на полгода.
  2. Иметь чёткий план на ближайший период. Для личного планирования это день и неделя, для Scrum-команды — обычно спринт. Это уровень, на котором можно принимать обязательства.
  3. Ставить однозначные ближайшие подзадачи. Далёкое направление может оставаться общим, но следующий шаг должен быть понятен.
  4. Регулярно пересматривать план. Проект может стать неактуальным, а может внезапно стать срочным. В обоих случаях старый маршрут уже не подходит.
  5. Закладывать резерв под конкретную неопределённость. Он нужен не «потому что всегда умножаем на два», а потому что мы видим определённые риски и понимаем возможные последствия.
  6. Указывать уверенность рядом со сроком. Формулировка «проект займёт Y с вероятностью Z» не идеальна, но открывает разговор о неопределённости.
  7. Учиться на отклонениях. Когда я ставил процессы планирования в Scrum-командах, своими глазами видел, как со временем снижалось расхождение между планом спринта и результатом. Команда училась лучше рассчитывать силы и предсказуемее поставлять результат.

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