bannerbannerbanner
Руководство профессионального скрам-мастера: Практические советы по внедрению аджайл-подходов

Стейша Вискарди
Руководство профессионального скрам-мастера: Практические советы по внедрению аджайл-подходов

Полная версия

Заключение

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

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

Глава 3
Планирование спринта – тонкая настройка обязательств по спринту

Если планирование релиза – камертон, то планирование спринта – это настройка музыкального инструмента, которую музыкант выполняет перед началом и во время игры. Настройка инструмента зависит от его состояния и влияния внешних факторов (например, погоды), а также манеры исполнения музыканта. Она возвращает инструменту его эталонный звук, то есть соответствующий внешнему эталону – камертону или цифровому тюнеру. В нашем аджайл-концерте планирование спринта – это тонкая настройка на элементы, занесенные в бэклог, но с ориентиром на более широкую картину (цели, которые записаны в план релиза). Инструмент может расстроиться, планы тоже. Но аджайл-план никогда не оторвется от общей линии, поскольку владелец продукта ведет его бэклог в соответствии с последними приоритетами и участвует вместе с командой в планировании спринта. Спринт позволяет команде и клиенту «настроить» кратковременные задачи, чтобы обеспечить достижение долговременных целей – от одного спринта к другому.

Основы планирования спринта

Если совсем грубо, то термин «планирование спринта» просто-напросто означает отрезок времени, когда команда… планирует спринт. Обычно это происходит в первый день спринта. Традиционно скрам оставляет восемь часов на планирование 30-дневного спринта. В последнее время многие команды перешли на двухнедельные спринты. Довольно распространены и спринты длительностью одну или три недели. В любом случае вполне логично, что при сокращении длительности спринта (менее одного месяца) команда должна сократить и количество времени, затрачиваемое на его планирование. Например, двухнедельный спринт не должен требовать более четырех часов планирования (его легко можно спланировать и за два часа). Как-то я работала с командой, которая затрачивала на планирование трехнедельного спринта всего 15 минут. При этом она постоянно добивалась выполнения от 85 до 95 % обязательств по спринту. При планировании «дольше» не означает «лучше»!

Программа Weight Watchers (контроль собственного веса) очень похожа на скрам. Когда человек начинает работать по этой программе, то он сначала взвешивается, чтобы определить, от чего отсчитывать прогресс. Он устанавливает цель и работает над еженедельными улучшениями показателей своего веса и состояния здоровья. Weight Watchers основана на системе еженедельных взвешиваний (они похожи на подведение итогов очередного спринта в скраме), а также еженедельных встреч партнеров-пользователей программы, в ходе которых они обсуждают результаты предыдущей недели и намечают планы на будущую. Взвешивания обеспечивают видимость и контролируемость результатов: да, пользователь может и не делиться результатами, но это, скорее всего, будет не очень продуктивно. Если результаты пользователя программы Weight Watchers невидимы, то невозможно узнать, в правильном ли направлении он двигается и правильно ли действует. Следовательно, невозможно и адаптироваться к ситуации. Без видимости процесса нельзя почувствовать, в чем именно возникла острая необходимость. Так, Weight Watchers побуждает пользователей в обязательном порядке посещать еженедельные собрания – чтобы перенимать у других опыт, учиться планировать работу на неделю вперед, разрабатывать стратегию, подогревать в себе интерес к продолжению занятий и заставлять себя выполнять взятые обязательства. Такова и суть планирования спринта в рамках скрама: представить себе процесс спринта, «зарядиться» на него и добиться выполнения своих обязательств. К сожалению, в реальном мире такому настрою отнюдь не помогает «внутренняя кухня» скрама – повестки дня, правила, точные результаты, бэклоги и цифры: то, что должно быть, напротив, средствами достижения цели. Вы как скрам-мастер не должны бояться вносить изменения в процесс в случае необходимости – а иногда и вообще отказываться от привычного подхода! Вы удивитесь, как изменятся ваши совещания, если вы сосредоточитесь на чувстве, которое стараетесь создать, а не на всех этих технических штучках. Изменяйте процессы, не бойтесь экспериментировать!

Я не раз слышала, что во многих командах не любят планирование спринта. Я считаю, что это неудача скрам-мастеров. Обязанность скрам-мастера состоит в том, чтобы сделать планирование спринта значимой и интересной частью работы команды. Если такое совещание вы хотите превратить в скучное мероприятие с таблицами на экране и пускающими во сне слюни разработчиками, то лучше не надо! Скрам-мастер должен создавать на совещании увлекательную атмосферу, чтобы каждому члену команды хотелось внести свой вклад в обсуждение. В ходе планирования спринта они должны обсудить дизайн и код очередного продукта, продумать вопросы его тестирования и создать свой собственный план. Не тратьте время профессионалов, заставляя их смотреть, как вы впечатываете те или иные задачи в план, развернутый перед ними на экране. Не следует и диктовать им их задачи или вручать оценки, составленные вами или руководителем группы. Эти люди вполне способны сделать это самостоятельно.


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


Допустим, врач назначил мне прием, потому что у меня проблемы с сердцем. После ряда обследований врач приглашает меня в кабинет, закрывает дверь и смотрит на меня с очень серьезным выражением лица. «Стейша, – говорит он, – вам нужна операция на открытом сердце. Это не самая простая операция, к тому же у вас есть некоторые проблемы со здоровьем. Вас подключат к аппарату "искусственное сердце" на 4–5 часов. Вы очнетесь с очень длинным послеоперационным рубцом на груди, а реабилитация займет от полутора до двух месяцев. И, между прочим, такая операция не из дешевых. Она будет стоить около $100 000». На моем лице застывает изумление. Мне трудно даже представить себе такую сложную и обширную операцию. Я смотрю на врача и говорю ему: «Доктор, я очень уважаю вас как профессионала. Но мне нужно быть на ногах уже через два дня после операции. Я не хочу, чтобы меня уродовал длинный шрам. И кстати, я могу потратить только $1000. Вы можете помочь мне на таких условиях?» Разумеется, врач посылает меня куда подальше и захлопывает за мной дверь. Он профессионал и хочет выполнить свою работу профессионально, поэтому никогда не согласится на мои условия. Почему же тогда наш разработчик-программист сдается и отступает от своих оценок? «Две недели? – восклицает его менеджер. – Какие еще две недели, вы должны выполнить это за два дня!» Программист смотрит на своего менеджера, кивает и говорит: «За два дня так за два дня». Как вы думаете, что получится в результате такого компромисса?

Формально часы начинают отсчитывать время проекта от планирования спринта, когда владелец продукта и команда собираются вместе и обсуждают, какие задачи следует решить в ходе предстоящего спринта. Во время этого совещания владелец продукта объясняет приоритетные требования из бэклога, а команда рассказывает владельцу, что она рассчитывает реально выполнить за спринт. Взгляните на выдержку из инструкции по проектному менеджменту от Microsoft Press:

Планирование спринта не может длиться дольше 8 часов. Таким образом, оно ограничено по времени, чтобы не болтать лишнего по поводу того, что можно и нельзя выполнить. Цель состоит в том, чтобы взяться за работу, а не порассуждать о работе.

Я обнаружила, что многие скрам-мастера неправильно понимают это указание: они считают, что нужно как-то заполнить все 8 часов различными мероприятиями. Нет! Ни в коем случае! Чем дольше команда планирует спринт, тем больше беспокойства возникает у нее по поводу самой работы. Поэтому подходите к планированию по принципу «необходимо и достаточно» – и беритесь за выполнение плана!

Скрам призван облегчить работу команды в целом, а задача повестки планирования спринта – облегчить составление плана спринта благодаря взаимодействию членов команды. Если команда успешно взаимодействует в течение 80 % или более длительности обсуждения повестки дня, то повестка дня составлена правильно. Если вам не удается этого добиться на совещаниях, читайте книгу дальше.

Подготовка планирования спринта

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

 
«Высокооктановые» задачи

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

Я обнаружила, что придуманное Биллом Уэйком сокращение INVEST, о котором говорилось выше, лучше всего отражает готовность команды к качественному планированию спринта. Напомню, что буквы этого слова обозначают свойства планирования: все, что планируется, должно быть независимым (Independent), обсуждаемым (Negotiable), важным (Valuable), поддающимся оценке (Estimable), небольшим по объему (Small) и тестируемым (Testable).

● Независимость: границы пользовательских историй или задач четко обозначены, так что команда может выполнять их в любом порядке. Например, сначала команда может отработать одну пользовательскую историю – создание аккаунта, а затем другую – настройки аккаунта. Это независимые части функциональности.

● Возможность обсуждения: позиция бэклога или задача (PBI) – это не подписанный контракт. Это просто идея: чего хочет владелец продукта и почему он этого хочет. Однако детали будут уточняться во время обсуждений между владельцем продукта и командой. Допустим, когда в ходе планирования спринта владелец и члены команды обсуждают параметры аккаунта, владелец может сказать, что команде необязательно в процессе спринта выполнять задачу «забытый пароль». Для этой функциональности он создаст отдельное требование в бэклоге и поместит его туда позднее.

● Важность: описание задачи бэклога должно помогать команде понять, почему она важна для пользователя.

● Возможность оценки: команда разработчиков должна иметь возможность оценить задачу. Это помогает владельцу продукта расставлять задачи по приоритетам и дает представление об ее объемах. Почему это важно? Обратимся к следующему пункту.

● Небольшие размеры: при планировании спринта объемы задач должны быть небольшими. Это позволит команде как следует понять задачу и увидеть ее границы. Если пользовательская история бэклога небольшая, то она может быть реализована и протестирована в процессе спринта. Включение функции «социальные сети» – это большая задача (возможно, даже эпик), тогда как функция «лайки Facebook на домашней странице» – задача небольшая.

● Поддающаяся тестированию: команда должна ясно представлять себе, как можно протестировать выполненную задачу. «На нашей странице должна отображаться кнопка Like размером 90 × 20 пикселей. Выбирайте – XFBML или Iframe. В первом случае пользователи смогут добавлять комментарии, а во втором – только ставить "лайки"».


Кроме того, есть и другая причина, почему INVEST такое удачное сокращение: оно напоминает нам, что владелец продукта может вносить свой вклад (читай: инвестировать) в виде идей в каждый спринт и ждет, что его вложения окупятся ко времени подведения итогов спринта. Поэтому для команды важно обсудить, как те или иные требования бэклога будут оценены при подведении итогов, чтобы стало ясно, насколько рентабельны «инвестиции».

Путаные задачи бэклога – это все равно что плохое топливо: у машины заглохнет двигатель, а в работе команды возникнут перебои и задержки. Хорошо проработанный бэклог – это высокооктановое топливо для вашей команды, поэтому необходимо постоянно работать с владельцем продукта, помогая ему совершенствовать бэклог и направлять команду. Кроме того, постоянно напоминайте вашей команде, что далеко не каждый владелец продукта способен идеально сформулировать требования бэклога или пользовательской истории (да, в общем-то, дело и не в этом). Гораздо важнее формулировать пользовательские истории так, чтобы команда могла их предметно обсудить и полностью понять, чего от нее хотят. Когда владелец продукта привлекает команду к составлению бэклога уже на ранней стадии (о чем говорилось в главе 2), то с самого начала все понимают проблему одинаково, что впоследствии помогает им в формулировании пользовательских историй и их реализации.

Помогайте владельцу продукта в планировании спринта

Свяжитесь с вашим владельцем продукта за несколько дней до планирования спринта, чтобы убедиться в том, что:

● он сможет присутствовать на планировании спринта;

● очень большие функциональности, которые иногда называют эпиками (epic), разделены на небольшие фрагменты, именуемые пользовательскими историями (user stories);

● бэклог продукта отражает последние приоритеты (не только между требованиями, но и по глубине разработки каждой отдельной функциональности);

● вы хорошо понимаете, как сможете наиболее эффективно помочь владельцу продукта до, во время и после совещания (есть ли у него материалы, которые стоит заранее распечатать и развесить в конференц-зале, хочет ли он, чтобы вы делали заметки по ходу совещания, и т. д.) и не стесняетесь спросить у него, какая помощь может ему потребоваться;

● владелец продукта попытался определить критерии приемки или условия удовлетворительного выполнения задач, планируемых на спринт.


Уточнение по поводу последнего пункта: владелец продукта может дать разъяснения по включенным в спринт позициям бэклога при помощи диаграмм, макетов, моделей или других дополнительных визуальных материалов. Под этот случай идеально подходит старая поговорка: «Лучше один раз увидеть, чем 100 раз услышать».

Физическое пространство

Как и при планировании релиза, для планирования спринта обеспечьте достаточно свободное помещение и достаточное количество стикеров, досок, маркеров и… да-да, стен – по крайней мере на несколько первых совещаний (а потом можно и в парк). Нужно ли покупать материалы перед совещанием? Есть ли у вас цифровой фотоаппарат или смартфон с хорошей камерой, чтобы можно было просто «щелкнуть» подготовленный план, не переписывая его? Найдется ли у вас пять минут до совещания, чтобы вывесить календарь спринта или «напоминалку» по его важнейшим моментам? Даже такая простая вещь, как круглый стол (за которым члены команды будут видеть лица друг друга), может значительно увеличить объем и качество взаимодействия во время планирования спринта.


В отличие от обычных менеджеров, которые могут попытаться контролировать планирование спринта или даже явиться на совещание с заранее составленным планом спринта, скрам-мастер создает как можно более благоприятные условия и атмосферу, чтобы сама команда разрабатывала план и определяла свои обязательства по нему.

Я люблю перед совещанием вешать на стену календарь спринта, критерии готовности и стандартные принадлежности совещания (повестку, формулировку целей, описание проблем и идей на будущее). Все это должно быть готово до того, как на совещание прибудут члены команды. Если я не могу попасть в помещение заранее, то приношу плакаты (графики, таблицы), которые можно будет быстренько пришпилить к стенам за несколько минут до совещания.

Визуализируйте совещание

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



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

● Что я должна сделать в первую очередь, придя на совещание? Организовать пространство, подготовить все необходимые материалы, запустить оборудование для встречи онлайн, расставить стулья, разложить стикеры, очистить доски для записей…


Мои действия:

■ Записать цель совещания, его повестку и идеи на будущее на больших отрывных листах и закрепить их на стенах до начала совещания.

■ Убедиться, что приглашение на онлайн-совещание содержит всю необходимую информацию. Протестировать связь.

■ Купить до завтра новые стикеры.

● Каким будет начало совещания? Члены команды входят в комнату совещаний, рассаживаются, переговариваются друг с другом и проверяют свои телефоны. Я в передней части зала, обмениваюсь репликами с участниками.


Мои действия:

■ Завтра принести с собой кофе и пончики.

● Что дальше? В начале совещания я прошу внимания собравшихся и обращаюсь с просьбой отложить смартфоны и закрыть ноутбуки. Я повторяю цель совещания и еще раз напоминаю его повестку. Я разъясняю участникам регламент и рассказываю про перерывы (туалет, обед и т. д.).


Мои действия:

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

● Что дальше? Владелец продукта зачитывает пользовательские истории из бэклога продукта, чтобы помочь команде понять, что нужно сделать в ходе данного спринта (и почему это ему нужно). Члены команды задают вопросы и обсуждают услышанное.


Мои действия:

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

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

■ Проведу экспресс-встречу с владельцем продукта, чтобы обсудить его роль в совещании и помочь ему подготовиться.

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


Мои действия:

■ Составить до совещания таблицу возможностей команды. Разослать ее участникам совещания заранее.

■ Предложить, чтобы команда разбилась на маленькие подгруппы по принципу «разделяй и властвуй» (работа с детальным планом).

■ Дать участникам таблицы и попросить их составить свою собственную доску задач (показать пример).

■ Использовать упражнение «на пальцах»[8], чтобы проверить, есть ли в команде согласие, и определить уровень уверенности.


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

Тетрадь для записей, сценарий и повестка дня

В тетради для записей вы собираете идеи и делаете первые грубые наброски (как вы видите будущее совещание). Идеи, которые накапливаются в тетради, в итоге рано или поздно «переедут» в повестку дня. Лично я люблю составлять так называемый сценарий – это, грубо говоря, расширенная повестка дня со всякими «напоминалками», заметками, рисунками, идеями… словом, со всем, что может пригодиться в ходе совещания. Сценарий – для вас, повестка дня – для всей команды. Благодаря сценарию скрам-мастер не забудет имена участников совещания, данные для онлайн-связи и т. п. (слава богу, со мной такого никогда не случалось). Ничто так не портит настрой участников и не мешает сосредоточиться на работе, чем ситуация, когда совещание прерывается из-за судорожных поисков какой-то информации, зарядных устройств, пульта управления проектором или из-за суеты: скажем, скрам-мастер забыл заранее позвонить удаленному участнику совещания и пригласить его на онлайн-встречу.

 

Кроме того, сценарий напоминает скрам-мастеру, когда именно команда должна обсудить тот или иной конкретный вопрос. Например, в ходе подведения итогов предыдущего спринта прозвучало замечание: команде непонятно, кто из участников над чем работает. В таком случае я вношу в свой сценарий специальное указание: в ходе планирования очередных задач команда должна решить оставшиеся «в наследство» проблемы. Нижеприведенный рисунок показывает, как тетрадь для записей превращается в два варианта повестки дня: вариант для команды, по которому она будет работать в ходе совещания, и вариант с дополнительными пометками, комментариями, «напоминалками» и подсказками, который вы, скрам-мастер, будете параллельно использовать в ходе совещания.



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

Главное, что нужно учитывать, – довольно беспорядочный характер записей в моем блокноте. Но ведь они предназначены лично для меня, так что все в порядке. Вы заметите, что я мысленно представляю себе и «сегодня», и «завтра». Под заголовком «Завтра» я представила всю подготовительную работу: вывесить главные пользовательские истории, обеспечить наличие стикеров… Обратите внимание, что в разделе «Сценарий» я подготовила для себя «напоминалки» (что было вынесено из предыдущих спринтов), а также информацию для обсуждения всей командой. Под пометкой «Обратная связь от команды» я поместила рукописные замечания, основанные на высказываниях членов команды в ходе предыдущего подведения итогов. В ходе обсуждения плана релиза я хотела использовать все возможности, чтобы напомнить членам команды об их задачах и обязательствах.

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

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



Понимаю, со стороны кажется, что за всем этим стоит уйма работы. Не спорю. Но чем чаще вы проводите совещания и практикуетесь (испытываете в деле то, чему научились, и приспосабливаетесь к реалиям), тем легче вам становится. На то, что раньше занимало четыре часа, вы тратите всего 15 минут. Если готовить совещания тщательно, продумывая детали, члены команды обязательно заметят, что вы цените их время, энергию и приверженность делу. Вы облегчаете участникам задачу (обсуждение успешного спринта), а они ценят вашу подготовленность. Совещания, во время которых участники не топчутся на одном месте, а динамично переходят от одной темы к другой (с новыми повестками и ощущением продуктивности), – возможность для подлинного и энергичного сотрудничества. Старайтесь подготавливать такие совещания, которыми ваша команда не будет пренебрегать.

8Fist to Five – способ быстрого получения обратной связи или оценки уровня согласия во время встречи. Ведущий делает заявление, а затем просит участников продемонстрировать «на пальцах» уровень своего согласия с этим заявлением, подняв вверх руку: от сжатого кулака (0, абсолютное несогласие) до растопыренной ладони (5, полное согласие). – Прим. пер.
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28 
Рейтинг@Mail.ru