Scrum Roles: Developers и реалии самоуправления
Узнайте, как Developers в Scrum применяют настоящее самоуправление, берут на себя ответственность за Sprint Backlog, поддерживают стандарты качества и исключают микроменеджмент.
Многие организации заявляют, что хотят видеть у себя самоуправляемые команды, но мало кто понимает, чего это требует от разработчиков программного обеспечения. В руководстве по Scrum 2020 года произошел переход от термина «самоорганизация» к «самоуправлению». Это изменение было осознанным. Самоорганизация означала, что команда сама решает, как выполнять работу. Самоуправление же означает, что команда сама определяет, кто, что, когда и как делает. Для Developers эта автономия влечет за собой прямую, неизбежную ответственность за Increment продукта.
Кто, что, когда и как делает
При классическом проектном подходе архитектор проектирует техническое решение, менеджер проекта распределяет задачи, а руководитель тестирования решает, готова ли система к релизу. Scrum заменяет эту раздробленную цепочку единой группой, которая называется Developers. Любой специалист, вносящий вклад в создание пригодного для использования Increment во время Sprint, считается Developer, независимо от того, занимается ли он разработкой серверной части, дизайном интерфейсов или инфраструктурой.
Когда команда действительно самоуправляется, никакой руководитель не раздает индивидуальные задания. Если миграцию базы данных нужно провести до тестирования API, Developers согласовывают эту работу между собой. Они не ждут, пока тимлид разобьет задачу на подзадачи. Они сами решают, кто возьмет задачу в работу, как пройдет код ревью и когда изменения попадут в основную ветку.
Sprint Backlog принадлежит Developers
Границы между ролями в Scrum проведены очень четко. Product Owner определяет, что именно создается, упорядочивая Product Backlog и уточняя потребности клиентов. Developers же решают, какой объем работы они могут спрогнозировать на Sprint и как именно его выполнить. Как только в ходе планирования выбрана Sprint Goal, весь Sprint Backlog переходит в полное распоряжение Developers.
Такое разделение защищает команду от микроменеджмента, но вместе с тем лишает ее любых оправданий. Менеджер не может принудительно добавить новые задачи в текущий Sprint. В то же время Developers не могут винить внешнее руководство, если прогноз окажется неточным. План принадлежит Developers. Если в середине Sprint выясняется, что задача сложнее, чем предполагалось, они обсуждают изменение объема работы с Product Owner, но технические решения остаются исключительно за ними.
Ответственность и Definition of Done
Самоуправление моментально рушится, если к качеству относятся как к чему-то необязательному. В Scrum качество закреплено в Definition of Done. Руководство по Scrum прямо указывает, что Developers несут ответственность за поддержание качества путем строгого соблюдения этого стандарта.
В компаниях с нарушенными процессами команды срезают углы ради соблюдения произвольных дедлайнов, рассчитывая, что отдел тестирования найдет ошибки позже. Самоуправляемая группа Developers не может так работать. Если элемент не соответствует критериям Definition of Done, его нельзя выпустить в релиз, и его нельзя считать завершенным на Sprint Review. Developers сами контролируют соблюдение этой дисциплины внутри команды. Здесь нет никакой внешней полиции качества.
Как проявляется самоуправление на практике
Когда Developers понимают суть самоуправления, меняются их повседневные привычки. Понять, управляет ли команда собой самостоятельно, можно по тому, как она решает типовые задачи:
- Они используют Daily Scrum для сотрудничества и корректировки плана на день, а не для отчетов о статусе перед Scrum Master.
- Они совместно подключаются к решению технических проблем, а не ждут, пока тимлид переназначит зависшие задачи.
- Они отвергают внешнее давление, требующее выпустить продукт с нарушением согласованного Definition of Done.
- Они заранее инициируют обсуждение с Product Owner, как только техническая реальность вступает в противоречие с ожиданиями бизнеса.
- Они распределяют знания внутри группы с помощью парной работы и код ревью, избегая зависимости от незаменимых экспертов.
Дисциплина автономии
Автономия без ответственности превращается в банальный хаос. Предоставление Developers контроля над своей работой оправдывает себя только тогда, когда они действуют как профессионалы, преданные общей Sprint Goal. Это требует честности относительно того, что реально выполнимо, взаимного уважения между коллегами и готовности открыто говорить о проблемах, когда что-то идет не так.
Самоуправление не является привилегией, которую даруют команде только после того, как она докажет свое умение следовать инструкциям. Это базовый принцип работы Scrum с самого первого дня. Когда организации убирают лишние административные барьеры и дают Developers возможность полностью управлять своими техническими процессами, люди, работающие непосредственно с кодом, принимают решения быстрее и качественнее любого стороннего менеджера.
