Люди и взаимодействие важнее процессов и инструментов.
3.1 Экосистема Scrum
Сердце Scrum – это люди, которые составляют команду и находятся в постоянном взаимодействии. Но чтобы внедрить Scrum-подход, одной команды недостаточно.
Помимо команды есть те, кто интересуется достигнутыми результатами.
Чтобы привести команду к идеалу, необходимо учитывать и тех, кто состоит в команде, и тех, кто находится вне ее.
Все они – часть одной экосистемы.
Экосистема в данном случае – это система, состоящая из людей, взаимодействующих и преследующих общую цель. Ладно, в экосистеме Скрама также могут быть растения и животные, но такое встречается реже.
Экосистема Scrum включает команду, результаты ее работы на основе бэклога, всех, кто заинтересован в этих результатах.
Рисунок 3.1 – Экосистема
Обратная связь от заинтересованных сторон о результатах команды регулирует бэклог, лежащий в основе их работы.
Экосистема также касается рабочего пространства, в котором работают команда и заинтересованные стороны.
3.2 Смена парадигмы
Для компаний, которые выстроили многоуровневую иерархию и поддерживают культуру контроля, изменения, вызванные Scrum, кардинальны: доверие и самоорганизация стоят выше авторитета начальника.
В Scrum-командах люди – не взаимозаменяемые ресурсы.
Менеджмент не ликвидирован: он стал делом каждого. Эта парадигма не уникальна в Scrum, она является частью гораздо более широкого движения, ставящего под сомнение тейлоризм [16] и его принципы.
Scrum поддерживает образ живой системы, а не машины, состоящей из взаимозаменяемых шестеренок.
Такой образ строится на самоорганизации и общих ценностях.
Экосистема Scrum создана для разработки продукта или услуги. Она не покрывает организацию. Это может быть ее подразделение или – что чаще – экосистема будет содержать людей, работающих в разных компаниях.
Природные экосистемы (например, лес, пруд, поле) показывают нам, как разным существам удается соседствовать и эффективно взаимодействовать без иерархии. Это то, что внедряется посредством Scrum – предоставление всем участникам команды автономии в принятии решений.
Другой характеристикой экосистемы является интеграция двух исторически разделенных типов людей: те, кто составляет Scrum-команду, и те, кто использует ее результат. Проблема заключается в том, что они придерживаются одних и тех же ценностей.
Scrum поддерживает пять ценностей: решимость, уважение, приверженность, открытость и рассудительность.
Рисунок 3.2 – РУПОР Scrum
Следует отметить, что эти ценности появились только в версии Руководства по Scrum от 2016 года, и это изменение – единственное между версиями 2013 и 2016 годов (пр. пер: в оригинале получается аббревиатура FORCE, то есть сила).
В следующих главах мы подробнее изучим влияние ценностей на жизнь команды, кроме той, что требует немедленного объяснения.
Рассудительность и концентрация позволяют команде держать фокус на одной точке. Во время спринта команда сосредотачивается на цели, которую поставили на этапе планирования.
Решимость, уважение, приверженность, открытоть и рассудительность, больше юмора – и вперед! Эти ценности не являются прерогативой Scrum-команд (я перечислил их в своей речи на свадьбе моей дочери). Но вместе они образуют единое целое, усиливая друг друга.
При анализе проблем, возникающих в конце спринта, можно заметить, что они часто являются последствием ухода от тех или иных ценностей. Недостаточно просто перечислить эти ценности, что делает каждая организация, необходимо придерживаться их на практике.
Вот почему мне кажется важным разобраться в том, что такое командная этика. Мы вернемся к этому в 13 главе.
3.3 Команда Scrum
Scrum-команда состоит из людей, которые помогают добиться результата в каждом спринте.
Рисунок 3.3 – Роли в Scrum-команде
Scrum-команда включает всего три роли:
✓ Две специфичные Scrum-роли, о которых пойдет речь в следующих главах: Владелец продукта (Product Owner, PO) и Scrum-мастер (Scrum-master, SM).
✓ Участник команды разработки (Development, DEV); разработка рассматривается здесь в широком смысле. Эта роль охватывает всех участников команды.
Термин разработчик, используемый в Руководстве по Scrum, иногда понимается слишком узко, поэтому вместо него я буду использовать термин участник команды.
Scrum-команда – это живая система, которая приносит результаты. Чтобы оптимизировать ее эффективность, она должна быть подходящего размера, самоорганизованной, кроссфункциональной, самобытной и стабильной.
Рисунок 3.4 – Свойства Scrum-команды
• Подходящий размер
Чтобы принцип Scrum соблюдался, команда должна быть определенного размера.
Уровень удовлетворенности от принадлежности к команде варьируется в зависимости от размера команды. Исследования показывают, что оптимальное количество участников – семеро [стр. 13].
В 2013 году я провел голосование на тему размера Scrum-команд. Оно показало возможный диапазон вокруг этого оптимального количества участников:
• Из одного или двух человек не получается команда.
• 3–4 человека – это маленькая Scrum-команда.
• 5–9 человек – идеальная Scrum-команда [17].
• 10 человек и более – команда слишком большая для эффективной работы [18].
• Самоорганизация и коллективный разум
Так как это команда, нацеленная на результат, она наделена правом и властью работать так, как, на ее взгляд, будет наиболее эффективно.
Она сама организует работу. Каждый участник команды привносит свой опыт, культивируя синергию и повышая общую производительность.
Игра, давшая Scrum название, напоминает о ключевой роли коллектива. Возьмем пример из статьи Пьера Вильпре, посвященной регби, для определения высшей точки самоорганизации – ситуационного интеллекта.
…Игроки оказываются в ситуациях, где они должны иметь возможность развивать навыки, отличные от их позиции.
Вклад каждого игрока в эти задачи, не являющиеся частью его стандартных обязанностей, должен соответствовать ситуационному контексту и, следовательно, значению, придаваемому всей командой этой ситуации.
Можно даже сказать, что когда все идет, как по маслу, и каждый играет именно ту роль, которая ему временно назначена в этой ситуации, тогда эта «коллективная синхронизация» представляет собой реальную игровую систему, определяемую как открытая.
Это же можно отнести к Scrum-команде, заменив разве что игру на разработку и открытая на agile.
• Кроссфункциональность
В идеале, Scrum-команда объединяет все компетенции, необходимые для завершения работы в спринте.
Команда считается кроссфункциональной, если она коллективно покрывает все дисциплины, необходимые для создания ценности.
Кроссфункциональность предоставляет команде возможность создавать ценность, не завися от других команд или людей. Чтобы достичь этого, команда должна обладать компетенциями, позволяющими ей дойти до релиза.
Поэтому, в зависимости от области разработки, Scrum-команда будет включать в себя людей с различными дополнительными навыками.
К примеру, в сфере разработки ПО компетенции группируют в соответствии с определением продукта, пользовательским опытом (UX), архитектурой программного обеспечения, собственно разработкой (кодом), тестированием на разных уровнях, документацией, поддержкой, эксплуатацией и т. д.
Кроссфункциональность применяется к команде в целом. Каждому участнику команды не нужно обладать всеми компетенциями. Но для одного участника предпочтительнее иметь разноплановые компетенции, нежели быть узким специалистом.
Даже кроссфункциональной команде будет необходимо время от времени привлекать заинтересованных лиц с компетенциями, которые в ней не представлены, чтобы добиться нужных результатов.
Желательно, чтобы они продолжили поддерживать связь с командой, даже если она станет более автономной.
Кроссфункциональность не означает закрытость.
Развитие отношений и эффективное взаимодействие достигаются не только разнообразием компетенций, но и культур.
• Самобытность
Хорошая Scrum-команда обладает некой самобытностью, индивидуальностью, и каждый участник это ощущает. Добиться этого можно во время прелюдии (см. главу 13).
Индивидуальность команды подкрепляется физическим пространством, в котором участники находятся. Выделенный специально для команды офис со стенами или перегородками позволяет выражать и укреплять коллективную самобытность. Гораздо лучше, если все участники команды находятся в одном рабочем пространстве. Это то, что можно развить при помощи паттерна границ. Можно немного отклониться от этого принципа, когда один или два человека работают дистанционно [19], но не более того – особенно если язык и культура не являются общими для всей команды. Команда, разбросанная по всему земному шару, не станет настоящей Scrum-командой, потому что ее участники не смогут встретиться и узнать друг друга лучше во время прелюдии.
Самобытность группы строится на ее успехах. Мероприятия в конце спринта – это отличная возможность представить результаты заинтересованным сторонам, а затем отметить их вместе.