Падал прошлогодний снег, или как SCRUM-мастер ёлку наряжал
Начало декабря. Утро понедельника. В переговорной собралась команда для обсуждения планов на спринт.
Накидали несколько задач из бэклога. По требованиям — всё понятно, по срокам — всё адекватно, но в воздухе чувствуется какая-то недосказанность.
Владелец продукта кивнул, принимая тяжёлое, но важное для команды решение, и твёрдо произнёс: «Нам нужно поставить ёлку».
Первый спринт
Планирование
— Ставить будем в холле главного здания, — сказал владелец продукта. — С авторским дизайном. Только давайте ответственно подойдём! В прошлом году ёлку наряжала команда прикладных микросервисов… Ну вы помните, чем всё закончилось…
— Чем? — поинтересовался Алексей. Его испытательный срок уже подошёл к концу, но рабочий ноут ещё не оброс наклейками.
Кто-то сдержанно хохотнул.
Владелец продукта продолжил: «Они по ветке в неделю прикручивали. Последнюю ветку в конце февраля ставили. Что-то там не рассчитали с развесовкой — ёлка рухнула. В принципе, вовремя. Проще было демонтировать. Жаль, что никто не увидел её в сборе. По дизайн-проекту, зрелище должно было быть впечатляющим. В этом году задача нарядить елку — в нашей команде. Давайте сделаем хорошо, мы же команда ядра!»
Команда напряглась: предновогодняя суета на фоне сдачи проекта — не самая приятная перспектива.
Тестировщица Алёна плавно взмахнула ресницами и предложила свою помощь. У Алёны неистребимая тяга к прекрасному, о чём свидетельствует безупречный маникюр, накладные ресницы и общая неторопливость.
Владелец продукта взбодрился. Команда выдохнула.
В разговор вмешался SCRUM-мастер: «Коллеги, у нас же Agile, мы одна команда. Давайте вместе решать задачу».
Команда опять напряглась.
SCRUM-мастер продолжал: «Нарядить ёлку — задача слишком большая, давайте декомпозировать».
Подумали, накидали тикетов: купить ёлку, найти дизайнера, заключить договор, согласовать дизайн-проект, провести приёмочные испытания.
SCRUM-мастер нахмурился: «У нас же Agile. Давайте итерационно. Пользователь должен получать пользу в каждом инкременте. А с такими задачами он получит её только в конце проекта».
— Давайте сделаем MVP, — флегматично предложил Василий, разработчик бэкенда. — У нас какая главная функциональность?
—Чтоб радовала, настроение новогоднее создавала, — ответил владелец продукта.
— Отлично! Берём в спринт.
Обзор спринта
Стейкхолдеры (указывая на жидкую ёлочку в углу на табуретке, украшенную ностальгической мишурой и дождиком): Что это???
Владелец продукта: Это MVP. Реализована ключевая функциональность: создаёт новогоднее настроение и радует. В следующем релизе отмасштабируем.
Ретро
Владелец продукта: Коллеги, результат спринта был для меня неожиданностью.
SCRUM-мастер: В наших процессах не хватает прозрачности. Как вы думаете, что могло бы её добавить?
Команда: Может, доступ к демонстрационному стенду в режиме 24 на 7?
Владелец продукта: Хорошая мысль.
SCRUM-мастер: Кто берёт ответственность за это улучшение?
Алексей: Давайте я.
Второй спринт
Планирование
Владелец продукта: Коллеги, давайте купим нормальную, высокую ёлку.
SCRUM-мастер: Отсмартуйте требования. Давайте конкретнее.
Владелец продукта: Четыре метра высотой!
Команда: Отлично, берём в спринт.
Daily
Василий: Объехал три питомника, нужной высоты не нашёл. Завтра планирую ещё четыре.
Алена: Дизайнера нашла.
Алексей: Обеспечил доступ к демостенду. Ссылочку на него кинул в чат.
Владелец продукта открывает ссылку, вопросительно смотрит сначала на ту же лысоватую ёлочку на табуретке, потом на Алексея.
Алексей: Это трансляция из холла. Теперь можно следить за процессом online.
Владелец продукта: Ага, круто.
Daily
Василий: Купил ёлку в седьмом питомнике: ровно четыре метра. Завтра привезут.
Алена: Дизайнер прислал дизайн-проект.
Daily
Василий: Ёлка приехала, поставить не могут.
Владелец продукта: Почему?
Василий: Высота потолка — 3,5 метра.
Владелец продукта: Какие будут предложения?
Василий: Надо кастомизировать.
SCRUM-мастер: Подождите. Давайте обсудим, готова ли команда взять эту задачу в текущий спринт и не помешает ли это достижению поставленных целей?
Василий: Коллеги, давайте не забывать, что нам ещё релиз на этой неделе отдавать. А я с этой ёлочкой из трёх фич одну сделал.
Владелец продукта: Да, выкидывать эти задачи из спринта нельзя.
Василий: Тогда давайте кастомизацию ёлочки возьмём в бэклог.
Daily
Алена: Приехал дизайнер. Дизайнер украшать ёлку отказывается.
Владелец продукта: Почему?
Алена: Потому что она лежит.
Владелец продукта: Ну попробуйте договориться, пусть нарядит так. Потом поднимем.
Алена: Он отказывается.
SCRUM-мастер: Давайте его подключать на наши ежедневные созвоны. Так он лучше погрузится в контекст.
Daily
Владелец продукта (обращаясь к дизайнеру): Арсений, вы же посмотрели ёлочку? Есть идеи, как её украсить?
Дизайнер: Да. И в этом, безусловно, что-то есть… Горизонтальная ёлка отсылает нас к идее горизонтального управления, свободной коммуникации на равных. Давайте поставим ящик с игрушками около ёлки, и каждый желающий сможет сам подойти и повесить шар.
Владелец продукта: Нет, давайте её всё-таки нарядим.
Дизайнер: Хорошо, я ещё подумаю над концепцией.
Daily
Владелец продукта: Арсений, есть новые идеи?
Дизайнер: Да. Как вам космическая тема в ваших корпоративных цветах? Ёлка будет как Луна: повёрнута к нам одним боком.
Владелец продукта: Космос… Ну что же, прогрессивно. Давайте.
Обзор спринта
Стейкхолдеры (указывая на роскошную ель, лежащую на полу вдоль стены холла, всю усыпанную большими и мелкими огоньками, шарами с кратерами): Что это?
Владелец продукта: Ключевая функциональность, между прочим, реализована: создаёт новогоднее настроение и радует. В следующем релизе кастомизируем — будет стоять вертикально, как положено.
Ретро
Владелец: Коллеги, ёлка лежит. До корпоратива остались считанные дни.
SCRUM-мастер: Почему так получилось?
Василий: Критерии задачи плохо проработаны. Не проанализировали требования на совместимость с высотой потолка.
SCRUM-мастер: Что мы можем с этим сделать?
Василий: Лучше проверять требования на реализуемость.
SCRUM-мастер: Давайте добавим в описание задач раздел «Ограничения».
Третий спринт
Планирование
Владелец продукта: Давайте уже поставим наконец ёлку!
SCRUM-мастер: Давайте без резкости. Команда старалась, многое достигнуто. Ёлка же получилось красивая, как минимум верхним боком.
Владелец: Да, да. И основная функциональность реализована. Но, коллеги, корпоратив на носу. Давайте ускоряться. Нам надо поднять ёлку вертикально уже на этой неделе.
SCRUM-мастер: Не нужно давить на команду. Коллеги, как вы считаете, задача решаема в эти сроки?
Василий: В целом да.
Daily
Василий: Компания-поставщик ёлки нам помочь отказалась. Сказали, у них много заказов — разбирайтесь сами. Завтра проработаю вопрос со строительными бригадами, может, они нам помогут.
Daily
Василий: Обзвонил десять компаний: кто-то в отпуске, кто-то завершает заказы под новый год. Короче, мне до дома тут две станции метро, я за ножовкой.
Алексей: Ок, поищу стремянку.
Алена: Я тогда в ближайший ТЦ: шаров для тёмной стороны ёлки докуплю.
Владелец продукта: Значит, встречаемся через два часа в холле?
Команда: Да.
Через два часа команда была в сборе. Через три — ёлка заняла своё естественное положение в пространстве. Через четыре — была наряжена и сверкала огнями.
Владелец продукта: Красота!
SCRUM-мастер: Вот наглядная иллюстрация основного принципа Agile: люди и взаимодействие важнее процессов и инструментов.
С Новым годом! Гибкости вашим процессам и позитива вашим командам!