Как стать квалифицированным мастером Scrum в разработке Agile?

Scrum разработка Agile имеет три основные роли:

The 3 Scrum Roles

Мастер Scrum — одна из самых важных ролей. Сегодня мы поговорим о том, как стать квалифицированным мастером Scrum.

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

Мастер Scrum часто ошибочно принимается за менеджера проекта во многих проектах разработки. В то же время я часто вижу, как люди настаивают на том, что роль мастера Scrum и менеджера проекта полностью различны. Я не согласен. По моему мнению, хотя мастер Scrum не является традиционным менеджером проекта, он всё же выполняет многие из тех же функций. Так какие же именно обязанности у мастера Scrum? Что мы можем сделать, чтобы стать квалифицированным мастером Scrum?

What is a Scrum Master

Вот шесть ключевых аспектов для вашего сведения:

1. Управлять процессом Scrum

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

Во-первых, мастер Scrum проводит каждое совещание в течение спринта, включая:

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

Наконец, мастер Scrum помогает команде Scrumустранять препятствия, возникающие в процессе разработки. Мастер Scrum должен вести журнал препятствий для записи проблем и блокировок, с которыми сталкивается команда в процессе разработки. Этот журнал управляется самим мастером Scrum, и каждый элемент списка должен быть своевременно рассмотрен и устранён.

2. Защита команды

Скрам-мастер должен приложить все усилия, чтобы защитить команду от внешнего вмешательства — особенно со стороны владельца продукта. Каким образом скрам-мастер защищает команду? И в каких ситуациях команде нужна защита?

Scrum Master Protecting the Team

  • Избегайте перегрузки
    В начале каждого спринта скрам-мастер должен помочь команде принять реалистичный объем работы, основываясь на их возможностях и прошлых результатах. Никогда не слепо или оптимистично обещайте слишком много владельцу продукта. Некоторые скрам-мастера могут переоценивать возможности команды или пытаться произвести впечатление на руководство, перегружая команду, что приводит к постоянному сверхурочному времени только для выполнения целей спринта. Это серьезно снижает эффективность команды. В то же время спешка с выполнением при жестких сроках часто приводит к очень низкому качеству продукта, создавая порочный круг.
  • Сбалансированная нагрузка
    Хороший скрам-мастер знает, как «переговорить» с владельцем продукта, чтобы обеспечить разумную нагрузку. Эти «переговоры» не означают пассивное выполнение меньшего объема работы или сознательное снижение нагрузки команды — речь идет о создании сбалансированного объема работы, который позволяет команде достигать максимальной эффективности без потери мотивации. Это создает благоприятный цикл.
  • Защита от внешнего вмешательства
    Мы все знаем, что изменение требований — это кошмар для разработчиков. Одной из главных причин появления Agile было решение этой проблемы и помощь разработчикам принять изменения. Однако вы часто будете сталкиваться с тем, что владельцы продукта обходят скрам-мастера и напрямую обращаются к команде с новыми поручениями. В таких случаях скрам-мастер должен защищать команду, чтобы не нарушить текущую работу. Изменения — это хорошо, но они не должны мешать команде в ходе активного спринта. Изменения можно обсуждать и согласовывать на ежедневных стендапах или на встречах планирования спринта. Я считаю, что скрам-мастер всегда должен думать как «защитник ног» команды.

3. Эффективная коммуникация

Часто скрам-мастер выступает посредником между заинтересованными сторонами (руководством, владельцем продукта) и командой разработки. Легко почувствовать, что скрам-мастер пытается выжить в щелях и избегать раздражения кого-либо. Именно поэтому искусство коммуникации самоочевидно важно. Как убедить владельца продукта, удовлетворить руководство и сохранить счастье команды разработки — это путь обучения, который нужно освоить.

Effective Scrum Team Communication

Вот несколько рекомендаций:

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

4. Обеспечение качества

Качество определяет судьбу продукта. Как обеспечить качество? Вот несколько практических советов из практики агилити:

  1. Не переоценивайте скорость — вместо этого сосредоточьтесь на устойчивом, разумном темпе разработки. Это обеспечивает стабильное качество продукта. Процесс скрама должен стабильно завершаться в каждом спринте, помогая команде выработать хорошие привычки и в конечном итоге достичь здорового темпа разработки.
  2. Установите и соблюдайте стандарты кодирования, проводите регулярные ревью кода. Чистый, последовательный код значительно повышает эффективность разработки и коммуникации команды. Хороший код говорит сам за себя — ревью кода можно проводить в парах, а код должен быть зафиксирован только после прохождения ревью. Используйте запросы на слияние (pull requests) для ревью кода перед его слиянием в основную ветку.
  3. Пишите юнит-тесты — я полагаю, что каждый понимает их важность, но многие разработчики считают их мучительными и затратными по времени. Юнит-тесты делают ваш код тестируемым.
  4. Автоматизируйте тесты. Преимущества очевидны — те, кто ими пользуется, знают.
  5. Интегрируйтесь рано и часто, чтобы получать быструю обратную связь — это позволяет своевременно получать обратную связь от пользователей и оперативно исправлять проблемы.
  6. Наконец, хочу подчеркнуть одну вещь: никаких сверхурочных, никаких сверхурочных, никаких сверхурочных.

Scrum Quality Check

5. Отслеживание прогресса

Отслеживание прогресса — еще одна обязанность, традиционно возложенная на менеджеров проектов — и это также требование для скрам-мастеров. Существует множество эффективных инструментов для мониторинга прогресса скрама, таких какГрафики сгорания, доски задач, списки дел в Excel, Доски скрама, и другие. Однако большинство этих инструментов предоставляются отдельно различными поставщиками.

Одним из самых мощных решений для скрама является “Холст процесса Scrum, который позволяет управлять всем проектом Scrum — все в одном красиво спроектированном холсте:

Scrum Process Canvas

Холст процесса Scrum от Visual Paradigm позволяет вашей команде беспрепятственно проходить весь процесс Scrum в одном хорошо продуманном холсте. Быстро, легко и плавно выполняйте мероприятия Scrum. Полностью вовлекайте всю команду. Наша гибкая программа делает гибкие проекты простыми и эффективными.

6. Формирование команды

Формирование команды — абсолютно незаменимая часть разработки проекта. Согласованность команды напрямую влияет на общую боеспособность команды. Поэтому формирование отличной команды — важная миссия каждого Scrum-мастера.

Scrum Team Building

Так как же эффективно создать сильную команду?

  1. Одной из самых важных особенностей гибкой разработки является саморегулирование команды. Преимущество саморегулирующихся команд заключается в том, что, предоставив команде возможность самостоятельно думать, проектировать и разрабатывать без вмешательства, каждый член чувствует себя успешным, что значительно повышает инициативу и мотивацию всей команды.
  2. Создайте обучающую команду. Одним из эффективных методов является проведение регулярных внутренних сессий обмена знаниями, чтобы каждый мог узнавать новое и развиваться вместе.
    Например, каждый пятницу в 16:00 выделяйте один час на сессии обмена знаниями команды. Все становятся высоко мотивированными — при условии, что тема интересна, она не обязательно должна быть технической; может быть даже веселой или развлекательной. Преимущество этого подхода заключается в том, что он не только повышает технические навыки, но и значительно упрощает коммуникацию в команде, повышая сплоченность и общую силу команды.
  3. Наконец, одним из самых эффективных способов улучшить команду является одно слово: «поедим». Всегда отличное время, чтобы угостить команду вкусной едой. Конечно, это требует бюджета — но всегда есть способ, правда?

Leave a Reply