Это борьба до смерти! (Шучу. Эти две роли на самом деле прекрасно сосуществуют.)
Agile команды структурно отличаются от своих коллег водопада (waterfall). Команды водопадов (waterfall) следуют структуре организации, а планирование часто «сверху вниз», что означает, что руководство определяет темп и график. В agile разработке команда самоорганизуется. Она устанавливает собственный график на основе приоритетов владельца продукта и имеющихся возможностей команды.
Мастера Scrum и менеджеры по разработке ликвидируют организационный разрыв между высшим руководством и отдельными командами разработчиков. Они работают над тем, чтобы оптимизировать команды и отдельные лица для предоставления программного обеспечения самого высокого качества, которое соответствует целям компании. Скрам-мастер и менеджер по разработке также защищают команды от внешних отвлекающих факторов, таких как ползучесть функций, анти-паттерны (образцы) водопадов (waterfall), межфункциональный трэш (мусор) и побочные проекты, которые отвлекают от истинных целей команды.
ТВИИТ: Скрам-мастера фокусируются на выстраивании скорости. Менеджеры по разработке развивают навыки членов команды.
Как мастера scrum, так и менеджеры по разработке обычно работают с несколькими agile командами. Давайте посмотрим, как они работают с каждой командой в больших гибких портфолио.
Что такое менеджер по разработке?
Менеджеры по разработке являются ключевыми участниками agile организаций, и их роль является существенной. Они несут ответственность за качество продукта, от архитектуры кода до качества конечного пользователя. Они участвуют в обзорах кода, чтобы убедиться, что члены команды вносят код, отвечающий краткосрочным и долгосрочным целям программы, и, поскольку они настолько близки к команде, они обычно влияют на выбор технологии для программы. В совокупности эта близость к процессу и продукту позволяет менеджерам разработки внутренне взаимодействовать для команды и для более крупной организации.
Великие менеджеры по разработке являются создателями команд, и это начинается с найма. Менеджеры по разработке руководят процессом найма и имеют хорошие возможности для этого, потому что:
- Найм для команды отнимает много времени и отвлекает.
- Поиск кандидатов отвлекает внимание от создания отличных продуктов.
- Менеджер по разработке может помочь уменьшить некоторые эффекты адаптации, так как каждый новый человек интегрируется в команду.
Проще говоря, когда менеджер по разработке берет на себя задачи по подбору и найму сотрудников, команда может сосредоточиться на продукте.
Менеджеры по разработке также выступают в качестве партнера и наставника, потому что они хорошо разбираются в основах управления: встречах один на один, обратной связи и коучинга (тренинга). Успешные менеджеры по разработке наставляют инженеров, чтобы принести величие к столу: идеи, код, тесты и культура. Время от времени команда будет бороться с решениями, начиная от архитектурного дизайна до стратегии ветвления. Менеджеры по разработке адептов знают, когда вмешиваться, или позволить команде продолжать бороться за обучение.
Другая большая ответственность для менеджеров по разработке - выступать в качестве партнера в процессе оценки. Напротив, разговор в команде водопада обычно звучит так:
В Agile команда устанавливает график, потому что основной принцип гибкости заключается в следующем: наиболее близкие к работе лучше всего могут охватить и выполнить эту работу. Менеджер по разработке добавляет ценность, задавая вопросы и проверяя предположения, сделанные в процессе оценки, но никогда не будет диктовать сроки для команды или менять область применения без консультации с владельцем продукта. Вы не услышите «Найти способ сделать это за четыре недели» в agile организациях. (А если ты это сделаешь, то это, хм ... определенный запах, скажем?)
Что такое мастер scrum?
Мастера Scrum являются лидерами проектов в agile команде, которая сосредоточена на оптимизации производительности, работая между владельцем продукта и командой для обеспечения последовательных, успешных спринтов. Мастера Scrum также владеют межгрупповой координацией, чтобы основная команда могла сосредоточиться на разработке продукта.
Цель мастера scrum состоит в том, чтобы держать всех эффективными и на одной той же странице. В результате мастер scrum координирует большинство входов и выходов, необходимых для agile программы. Он или она проводит agile церемонии запуска спринта, ежедневных летучек, проверки спринта, ретроспективы спринта и работает с командой и менеджерами по разработке, чтобы оценить более крупные элементы, такие как эпики и отдельные истории пользователей в списке необходимых требований (backlog). Мастер Scrum может быть не таким техническим, как остальная часть команды, поэтому менеджер по разработке может вмешаться, чтобы предоставить ценный контекст между мастером Scrum и командой, когда возникает пробел в знаниях. По мере того как команда становится более зрелой в применении agile, мастер scrum уделяет меньше внимания оценке, а больше оптимизирует скорость предоставления.
Scrum-мастер также выступает в качестве agile тренера для более крупной организации, помогая команде внедрять и владеть agile практиками на протяжении всего жизненного цикла продукта: оценка сюжетных точек, планирование спринтов и непрерывное предоставление.
Тренерский аспект работы мастера scrum имеет решающее значение. Как agile эксперты, они знают, почему agile подходит для проекта и компании, и могут быть сторонниками agile, когда компания работает над растущими трудностями в его принятии.
Scrum мастеры и менеджеры по разработке сотрудничают в agile портфолио
Большинство водопадных (waterfall) команд ориентированы на менеджеров. Они обращаются к менеджерам для определения приоритетов, отслеживания прогресса и оценки эффективности. Напротив, agile команды - это самоорганизующиеся команды, которым принадлежат их дорожная карта и предоставление. Чтобы сделать эту работу для более крупных организаций, scrum-мастера и менеджеры разработки работают вместе, чтобы создать agile культуру во всей организации и выступать в качестве буфера между командами и управлением на уровне C. Поскольку обе роли работают в нескольких agile командах, они являются ключевыми участниками agile портфолио.
Сосредоточьте мастера scrum на принятии и внедрении командой agile, а менеджера по разработке - по най му нужных людей, наставничеству для существующих членов команды и обеспечению хорошей культуры разработки в каждой команде. Обе роли, работая вместе, будут способствовать созданию высокоэффективных agile команд.
По материалам Agile Coach "Development managers vs. scrum masters"