Черновик: Регламент постановки задачи

Пример из руководства

Руководство предлагает следующий шаблон (R1.2:3), я планирую написать более детальный регламент на его основе.

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

Моделирование: как это у нас устроено сейчас

  1. Задачи могут прилетать изнутри команды или извне (это не так важно в данном случае, но задачи извне часто описываются с более дальнего понятийного расстояния).
  2. Заказчик открывает тикет в джире и описывает задачу как-то (как умеет). Обычно сообщает о тикете кому-то из команды.
  3. Этот кто-то:
    1. как минимум помечает тикет как принадлежащий команде (помещает в бэклог), чтобы мы его увидели на сессии планирования.
    2. Опционально, если человек в теме (и в хорошем настроении – не сильно задолбан текущими задачами), он улучшает описание, беседует с заказчиком, беседует с шефом, чтобы прикинуть приоритеты, и делает соответствующие пометки в тикете.
    3. Как максимум, для срочных задач, человек берёт её себе или назначает кому-то. Срочные задачи добавляются в текущий спринт прямо по ходу спринта. Чуть менее срочные задачи отправляются на следующий спринт в момент поступления, минуя бэклог.
  4. На сессии планирования, команда коллективно выбирает задачи из бэклога и назначает исполнителям на следующий спринт.

Проблемы

  1. Спринты у нас по 3 недели, сессии планирования гарантированно случаются только перед новым спринтом, так что задачи потенциально долго пылятся в бэклоге. Поэтому, на самом деле мы заглядываем в бэклог чаще (но не систематично).
  2. На планировании спринта описание задачи в тикете нередко оказывается недостаточным, чтобы что-то понять, спланировать ресурсы, или даже выбрать приоритет – ошибки планирования неизбежны.
  3. На планировании я часто соглашаюсь на задачу или на оценки сроков, не подумав достаточно (не могу быстро сообразить, не готовы возражения, не помню, какие ещё задачи запланированы).
  4. Общения исполнителя с заказчиком обычно достаточно для выяснения целей, но недостаточно для выбора методов, так как контекст и доступные ресурсы неясны. Приходится делать несколько совещаний, с привлечением менеджеров и опытных инженеров. После этого нередко корректируются выделенные ресурсы и сроки (например, задача может пойти обратно в бэклог, если нет ресурсов, или задача зависит от чего-то, что ещё не готово).
  5. Обсуждения со всеми могут занять много времени, которое сложно предсказать (зависит от доступности людей). Отчасти поэтому (а отчасти из-за отсутствия явного регламента/чеклиста), обычно время на обсуждения не учитывается при планировании работ.
  6. Иногда достаточных обсуждений не происходит. Исполнитель выполняет работу как может/как понял – это приводит к ошибкам и потерянным ресурсам.
  7. Выбор метода может быть сразу невозможен – нужно исследовать (так как мы унаследовали много кода и оборудования, которые мы пока не знаем), нужно делать несколько итераций, или “поразмышлять” в спокойной обстановке, иногда “пожить” в проблеме несколько дней. Из-за этого, оценки времени делать сложно. Задачи схожие на первый взгляд могут занять 2 часа или 2 недели.
    • Как в таких случаях набирать задачи/инициативы на месяц?
    • Лично мне сложно понять грань между перфекционизмом и самоуважением (нежеланием делать свою работу плохо).
  8. Сложно планировать сроки, так как никто не знает сколько когда будет свободно людей – ведь их текущие задачи имеют свойство растягиваться сильно дольше запланированного.
  9. На созвонах команды (статус, планирование) многие из тем меня не касаются. Ощущение потерянного времени, мультитаскинг.

Важные наблюдения и цитаты из руководства

Ограничение Work in Progress

  • Люди склонны забрасывать “почти доделанные” задачи и переключаться на что-то новенькое. Это в нас, похоже, встроено эволюционно, но это вредит бизнесу.
  • Не брать в работу больше инициатив чем я реально могу сделать – от этого пропускная способность может увеличиться!
  • Людям свойственно искать социальное одобрение здесь и сейчас. В том числе соглашаться на нереалистичные сроки выполнения задачи чтобы избежать обострения/конфликта в моменте. За этим либо следует переработка либо отодвигание сроков с оправданиями.

Слепота к реальности

Я считаю, что команда не справляется с объемом задач, что не хватает специалистов (это реальность или моё заблуждение типа impostor syndrome?). Кажется, шеф это тоже подсознательно понимает (но не говорит явно). Шеф склонен набирать задачи, соглашаться на всё (чтобы не выглядеть плохо?), но потом качество и/или сроки страдают.

Лечение слепоты к реальности начинается с обеспечения безопасности коммуникации с самим собой и окружающими. Акцент не на поиск виноватых и самоутверждение (“а я же говорил”), а на “мы не станем плохими людьми от того что признаем реальность”. Надо договориться с окружающими, что мы не ищем виноватых а пытаемся разобраться что вообще происходит, чтобы избежать этого в будущем.

Если вы общаетесь с начальством и понимаете, что решения начальства уже привели к негативным последствиям, но начальники не торопятся сменить курс – обеспечьте им возможность безопасно поменять решение, не поступившись их представлениями о себе в их глазах и глазах окружающих. Тогда вам будет гораздо легче договариваться. Подробнее об этом можно прочитать в книге “Психологическое айкидо” психолога Михаила Литвака.

Регламенты (TBD)

Планирую написать регламент(ы), описывающие прохождение задачи по состояниям, от постановки, уточнения и планирования до выполнения и контроля выполнения.

Связанные посты

Отличный анализ ситуации, Тимофей!
Здесь можно предложить следующее:

  1. Уменьшить размер спринтов, если это возможно. Что если вы попробуете релизиться каждые 2 недели вместо 3? Уменьшаем размер партии/batch фич и прочего в релизе.
  2. Поменять метод работы с запросами бизнеса (прилетающими в формате тикетов). Нужно проводить диагностику тикета, тк мы все понимаем, в какой форме обычно прилетают запросы (плохо сформулированы, вообще непонятно, что это такое, и тп). Добавьте в трекере отдельный статус “Диагностика” или “Триаж” (LLM-ка, кстати, вам это тоже предложит, если вы её поспрашиваете). Вот тут-то можно и предложить регламент диагностики. А потом уже и форму запроса (описания тикета со стороны бизнеса) можно отредактировать тоже.
  3. Добавить прегруминг. Те у вас сначала в ходе диагностики уточняется, что именно хочет заказчик, какую проблему решает, и тп (описание проблемы). Потом проектируется решение и разносится в ходе прегруминга (описание принципиального решения и общего метода). И только когда уже принципиальное решение ОКнуто со стороны представителей бизнеса (заказчик, продакт, аналитики и тп) и согласовано с разработкой, тогда можно уже технические методы решения в ходе груминга продумывать. И только после этого ваши оценки будут гораздо точнее.
  4. Исполнитель должен отдать описание метода решения и ожидаемый результат (это исполнителю этим методом работать!), а заказчик должен согласиться с методом.
  5. В целом, можно вводить пострелизную неделю (или сколько вам нужно времени для того, чтобы поправить баги после релиза). Во время пострелизной недели не начинается новый спринт! Вы не берёте новенькое в работу – только добиваете баги, а также планируете следующий спринт, проводите исследования, и тп. Также % времени на исследования можно закладывать в спринт, или иногда делать исследовательские спринты (если накопилось много исследовательских задач).
  6. Начните отслеживать загрузку сотрудника. Причём пока к нему может вернуться какая-то задача на доработку, она не считается для него закрытой! Так реально будет видно, сколько времени можно уделять “новенькому”. Вполне возможно, что новое/запланированное будет занимать 50% капасити, старое на доработку – 20%, ну и 30% на “влёты” / новые вводные.
1 лайк

Спасибо большое, Анна.
Думаю, постепенно буду писать этот регламент и попробую его внедрить! Это сильно более реалистично чем большие переделки (затрагивающие другие команды), над которыми я изначально хотел работать в рамках резидентуры.

Отличный выбор, Тимофей!
Вы реально улучшите качество постановки и исполнения задач, заработаете очки репутации – и затем вам легче будет предлагать более глобальные изменения!