Все о SCRUM. Изучение, разработка, интеграция

Tekst
1
Recenzje
Przeczytaj fragment
Oznacz jako przeczytane
Czcionka:Mniejsze АаWiększe Aa

4.7 Антипаттерны

4.7.1 Proxy Product Owner

Ситуация. В связи с тем, что у Владельца продукта не хватало времени на общение с клиентами, организация, которая отвечает за разработку, представила роль proxy PO.

Последствия. Рroxy PО принимает решения, которые ставятся под сомнение Владельцем продукта.

Как сделать лучше? Прояснить обязанности каждого и укрепить их сотрудничество. Внедрить в работу паттерн, о котором мы говорили выше, чтобы улучшить обмен между ними.

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

4.7.2 Неквалифицированный Владелец продукта

Ситуация. К началу работы только у Scrum-мастера есть специальное образование. Решено, что Владелец продукта будет обучаться по ходу проекта.

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

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

В организациях, где есть разрыв между пользователями и ИТ-специалистами (владелец проекта/менеджер проекта), обучение лучше вести внешнему тренеру (или Scrum-мастеру). Он привносит свои знания и опыт и помогает разобраться в роли.

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

4.7.3 Владелец продукта – писатель

Ситуация. В организации пришли к выводу, что в основе работы лежит коммуникация между Владельцем продукта и командой. Решено, что Владелец продукта начнет писать истории, активно используя формулировку в качестве…, о которой мы поговорим позднее.

Последствия. Общения с разработчиками нет. РО одиноко сидит в углу и пишет.

Как сделать лучше? Участвовать в доработке всей командой (см. главу 7).

Impact mapping, story mapping, innovation games… Все это – инструменты, которые позволяют Владельцу продукта выходить за рамки Scrum. Мы коснемся этой темы чуть позже.

Рисунок 4.7 – Не нужно оставлять РО наедине с бэклогом



Чтобы идти дальше

Книги

‣ Хенрик Книберг, «Scrum и ХР: Заметки с передовой», 2006

Онлайн-ресурсы

‣ Brian Marick, «How to be a Product Director», эссе, Web, 2006

5
Роль Scrum-мастера

Когда речь идет о проекте, разработанном группой, обычно считается, что кто-то должен нести ответственность за команду. Традиционно это руководитель проекта. Во Франции такая роль прочно закреплена в культуре разработки. Вот два примера.


✓ Многие студенты-программисты на собеседовании гордо заявляют, что планируют стать руководителем проекта. Вероятно, учителя внушили им такое стремление.

✓ Недавно во время презентации Scrum в одной крупной компании все участники представились по кругу как руководители проектов. В компаниях зачастую остаются только руководители проектов, которые несут ответственность за результаты.

Приглашенный гость на «ScrumDay» Доминик Дюпань – врач, автор хроник передачи «Ответный удар» на канале «France Inter» – подчеркнул эту тенденцию: нередки случаи, когда в организации остается всего несколько человек, умеющих действительно производить ценность, а не руководить.

Никаких руководителей проектов в Scrum! Эта роль исключена.

Работа и обязанности традиционного руководителя проекта не исчезают в Scrum-проектах. Одна часть передается Владельцу продукта, который несет ответственность за результаты. Другая остается за командой. Самоорганизация означает, что команда автономна, ей не нужен руководитель, выдающий участникам работу. Поэтому Scrum-мастер – не руководитель проекта.

5.1 Что такое Scrum – мастер?

В пятом издании этой книги я больше не пишу ScrumМастер одним словом, а разделяю их на два: Scrum-мастер (или SM). Такое написание привычно многим и используется, например, в объявлениях о работе.

Иногда приводят аналогии, чтобы объяснить эту роль: пастух, капитан, бульдог и т. д.

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

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

Термин Scrum-мастер вызывает сомнения по поводу своей второй части – мастер. Язык влияет на поведение: даже если термин Scrum-мастер новый для организации, часть мастер поможет встать на путь изменений и смены парадигмы.

В некоторых организациях с иерархической культурой роль SM, мастера Scrum, может восприниматься как роль менеджера, руководителя. На самом же деле у него нет власти над командой.

Вот мое определение роли:

Человек, который играет роль Scrum-мастера (SM), является частью Scrum-команды и служит ей. Он фасилитирует работу, запрошенную Владельцем продукта, путем применения Scrum с учетом контекста организации.

Одним словом, это фасилитатор.


Рисунок 5.1 – SM – фасилитатор для команды

5.2 Функции Scrum – мастера

5.2.1 Поощрение самоорганизации команды

Одна из функций – мотивировать команду становиться все более самостоятельной.

Он стимулирует команду:

✓ подталкивая участников к кроссфункциональности,

✓ укрепляя их навыки в инженерии, чтобы не зависеть от внешних экспертов.


Если SM преуспевает, команда меньше в нем нуждается. В этом парадокс роли.

Вовлечение Владельца продукта остается на одном уровне с течением времени. А роль Scrum-мастера – уменьшается или увеличивается.

5.2.2 Устранение препятствий

Во время разработки всегда бывают непредвиденные события. Некоторые могут замедлить или вовсе приостановить работу команды. По терминологии Scrum, такие события называются препятствиями (impediments) и могут сильно различаться по своей природе и значимости.

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

Примеры препятствий для команды Peetic:

Разработчик катался на лыжах и сломал руку. Сервер упал. Ожидаемый компонент онлайн-оплаты не готов. Владелец продукта не отвечает – и т. д.

Scrum-мастер выявляет препятствия и помогает команде с ними справиться.

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

5.2.3 Применение Scrum

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

Он фасилитирует события спринта.

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

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

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

5.3 Желательные компетенции

5.3.1 Хорошее знание Scrum

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

Его знания касаются не только самойо роли – они охватывают все, что входит в Scrum-подход. Он прививает ценности Scrum участникам команды и гарантирует следование им в работе.

5.3.2 Понимание технической части

Формально Scrum-мастер не обязан разбираться в области, для которой команда разрабатывает продукт. Но знания и опыт в этой сфере облегчат общение с Владельцем продукта и позволят лучше вовлекать команду в работу над максимизацией ценности продукта.

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

5.3.3 Коммуникативная компетентность

Навыки общения необходимы для Scrum-мастера: он должен часто разговаривать с командой и руководством.

 

Разговор может протекать в разных контекстах, и от Scrum-мастера требуется умение адаптировать свой стиль общения в разных ситуациях: он умеет завоевать доверие участника команды; обеспечивает успех проводимых событий спринта; он настойчив и тверд в своих просьбах к руководству, но способен пойти на компромисс.

5.3.4 Способность вести за собой и направлять

Scrum-мастер имеет большое влияние: он лидер, ориентир для команды. Знает, как создать условия для мотивации участников, чтобы те достигли результата.

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

Во время спринта сопровождает команду на пути к результату, фокусируя участников на цели спринта, которую определили совместно.

5.3.5 Умение быть посредником

Важная долгосрочная задача Scrum-мастера – устранение препятствий. Есть такие, что возникают на почве конфликтов между участниками команды.

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


Рисунок 5.2 – SM играет роль посредника


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

Я знаю одного Scrum-мастера, который плохо понял свою роль. Под предлогом технических сложностей он выступал против Владельца продукта и пытался предотвратить запуск производства. Если между этими двумя ролями разлад, стоит помнить, что не Scrum-мастер отвечает за жизнь продукта. Он ограничивается представлением точки зрения команды.

5.3.6 Настойчивость и целеустремленность

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

5.3.7 Обеспечение прозрачности

Scrum требует прозрачности. Scrum-мастер обеспечивает соблюдение этого принципа.

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

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

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

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

5.3.8 Служба команде

Scrum-мастер не командует, не навязывает и не принуждает. Он служит команде и предлагает участникам свою поддержку.

Его главное качество состоит в том, чтобы оставаться незаметным:

✓ если спринт прошел успешно, он не присваивает себе лавры почета. Это заслуга всей команды;

✓ если во время работы возникают трудности, это не вина кого-либо из команды.

5.4 Выбор Scrum – мастера

5.4.1 Человек, соответствующий уровню команды

Работа Scrum-мастер зависит от уровня команды.

При становлении команды группа проходит последовательные стадии. Каждый уровень соответствует определенным задачам Scrum-мастера:

✓ сначала он обучает команду Scrum,

✓ потом он помогает команде применять Scrum,

✓ затем он мотивирует участников команды брать на себя инициативу,

✓ он развивает такое свойство команды, как коллективный разум.

5.4.2 Человек, у которого есть время

Задачи SM, а особенно устранение препятствий, требуют времени.

Человек, принимающий на себя функции Scrum-мастера для начинающей Scrum-команды, работает на полную ставку.

Он участник команды и общается с остальными. Он должен регулярно с ними видеться – лично! – и не остается работать на своем месте.

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

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

5.4.3 Человек, который олицетворяет изменения

Эта новая роль является олицетворением радикальных изменений. В случае организации с мощной иерархической культурой Scrum влияет на основы управления.

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

В некоторых командах Scrum-мастером становится опытный разработчик. Но чаще эту роль берет на себя руководитель проекта.

Бывает Scrum-мастер из добровольцев. Его можно избрать. Есть новый метод избрания SM в команде: выборы без кандидата. Об этом можно прочитать в работе «Мягкий разрыв»[22].

5.4.4 Scrum-мастер как состояние души

Само собой, функциям Scrum-мастера можно обучиться. Но человек, берущий на себя эту роль, должен ей подходить.

Некоторые черты характера позволяют обнаружить Scrum-мастера в команде:

✓ умение чувствовать эмоции команды,

✓ любознательность,

✓ уверенность, что люди делают все возможное в своей работе,

✓ желание перемен, даже если это представляется сложным,

✓ ориентация на коллектив,

✓ азартность.

Я встречал Scrum-мастеров, что называется, от природы. Они, как Обеликс, упали в Scrum-котел, когда были маленькими (хотя в галльской деревне Scrum-мастер, скорее, Астерикс).

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

5.5 Scrum – мастер внутри экосистемы

Рисунок 5.3 – Обмен с SM внутри экосистемы


SM является частью команды. Но хорошему SM нужно быть в контакте с людьми в экосистеме.

5.5.1 Обмен с Владельцем продукта

Уникальность Scrum в том, что обязанности распределяются: Владелец продукта планирует и предвосхищает, Scrum-мастер поддерживает команду в том, что она делает по требованию PO.

Успех Scrum основан на давлении запросов Владельца продукта на команду – давлении, конструктивно контролируемом Scrum-мастером.

5.5.2 Обмен с Agile-коучем

Этот обмен соответствует Зоне 3.

Scrum-мастер не коуч. Один и тот же человек может совмещать обе роли, но это редкий случай.

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

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

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

5.5.3 Обмен с заинтересованными сторонами

Этот обмен проходит в Зоне 4.

Человек, который становится Scrum-мастером, в иерархии компании часто находится под руководством менеджеров.

Хорошее знание Scrum позволит ему самоутвердиться, и это ограничит чрезмерное давление заинтересованных сторон, использующих свою власть и навязывающих свое мнение.

5.5.4 Обмен в границах экосистемы

Этот обмен соотетствует Зоне 5.

Scrum-мастер делится практиками с коллегами.

Роль требует прекрасного знания Agile-культуры и владения Scrum. Этому, разумеется, можно научиться на практике, но можно узнавать новое из книг и статей.

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

Scrum-мастеру потребуется много времени на самообразование: смотреть видео, слушать подкасты и читать статьи.

5.6 Обычный день Scrum – мастера

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

Николя – Scrum-мастер команды Peetic. Его выбрали на эту роль. Он принял ее с радостью.

Сейчас идет третий спринт во втором сезоне.

5.6.1 Утренняя схватка

Утром Николя листает электронную почту, потом идет к кофемашине – там уже собралась команда. Ребята обсуждают фильм. В 9:30 начинается ежедневный Scrum перед доской текущего спринта. В рамках прошлой ретроспективы предложили улучшение, касающееся продолжительности схватки. Николя следит, чтобы Scrum длился не более четверти часа.

5.6.2 Забег с препятствиями

Сразу после схватки он видится с Жюльеном и системным инженером. Разговор идет о препятствии, связанном с промежуточным сервером: он еще не запущен и на каждом спринте затрудняет развертывание.

Решение найдено, Николя обновляет таблицу препятствий. Ох, осталось всего три! Заодно проверяет, обновлены ли задачи после схватки. Все сделано, хорошо.

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

В полдень он устраивает пробежку вдоль канала.


Рисунок 5.4 – Полуденный канал


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

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

Он пытается объяснить Себастьяну, что тот вполне мог бы справиться с проблемой в одиночку.

5.6.3 И наконец

У Николя есть немного времени до собрания, чтобы проанализировать причины крупного бага на прошлой неделе. Он идет к участникам команды, которые занимаются историей «Отредактировать раздел с фотографиями собак». Помогает им пройти две проверки, связанные с этой историей. Она будет закончена сегодня вечером!

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

5.6.4 Во благо команды

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

 

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

5.7 Антипаттерны

5.7.1 Scrum-мастер – микро-шеф

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


Последствия. Команда демотивирована. Самоорганизация отсутствует.


Как сделать лучше? Заменить Scrum-мастера в соответствии с паттерном вращающегося Scrum-мастера.

Например, в опытной команде роль Scrum-мастера может переходить от человека к человеку и меняться каждый спринт или после нескольких спринтов.

Таким образом, роль Scrum-мастера динамична. Она не достается тому, кто превращает работу в рутину или беспрекословное подчинение указаниям. Этот паттерн позволяет увидеть отношения участников и понять, какое поведение наиболее приемлемо на роли SM для конкретной команды.


Рисунок 5.5 – Вращающийся SM

5.7.2 Scrum-мастер – чужак

Ситуация. При внедрении Scrum руководитель проекта стал Владельцем продукта, а на роль SM пригласили человека извне – буквально навязали его команде.


Последствия. Его легитимность не признана. Человек не способен устранять препятствия. Ко всему прочему, он не понимает проблем технического характера.


Как сделать лучше? Устраивать выборы без кандидатов.

5.7.3 Scrum-мастер – разработчик

Ситуация. Команда достигла значительных успехов, и в какой-то момент SM, бывший разработчик, решил развиваться дальше. Он покинул пост SM команды.


Последствия. Scrum не применяется, работа команды встала.


Как сделать лучше? Научиться менять положение в команде.

Роль Scrum-мастера развивается вместе с командой: сначала он уделяет много времени обучению команды принципам Scrum, затем становится советчиком (экспертом, ментором, коучем).

5.7.4 Scrum-мастер – добрый самаритянин

Ситуация. SM делает все, что связано с логистикой. Он убирается, закупает необходимое. Единственный из команды пишет Post-it®.


Последствия. Остальные во всем на него полагаются и не участвуют в жизни команды. Scrum-мастера все достало.


Рисунок 5.6 – Scrum-мастер проверяет, все ли готово


Как сделать лучше? Коллективно обсудить правила жизни команды.



Чтобы идти дальше

Книги

‣ Rachel Davies, Liz Sedley, «Coaching Agile», Lulu, 2009. Эта книга дает очень хорошие советы Scrum-мастеру, хотя даже не упоминает эту роль

22Ориг. назв.: Rupture Douce, Лоран Сарразен и др., 2014
To koniec darmowego fragmentu. Czy chcesz czytać dalej?