Agile и Scrum становятся все более востребованными для больших компаний и больших продуктов. Есть несколько известных подходов к тому, как «масштабировать Agile», то есть организовывать работу нескольких Agile-команд над одним большим продуктом, – SAFe, LeSS, Nexus и другие. У каждого подхода есть свои особенности и свои преимущества.
Что касается Nexus - он отражает практический опыт масштабирования создателя Scrum Кена Швабера и его сподвижников из организации Scrum.org. Этот опыт в частности говорит о том, что при разработке большого продукта существуют две самые болезненные проблемы:
⦁ Зависимости. Они приводят к тому, что команды ожидают или даже блокируют друг друга, ломают чужой код, замедляя друг друга и т.д.
⦁ Интеграция. По отдельности команды могут создавать работающий код, но продукт в целом может при этом быть не работоспособным.
Важно отметить, что эти 2 проблемы в принципе отсутствуют, если над продуктом работает только одна команда. Проблемы возникают именно при масштабировании. Однако фреймворк Scrum, определенный в Руководстве по Scrum, практически ничего не говорит о таких «масштабированных» ситуациях.
Идея Nexus очень проста: нужно дополнить Scrum несколькими простыми элементами, помогающими прежде всего решить две упомянутые проблемы. Эти дополнительные элементы описаны в Nexus Guide – кратком бесплатном руководстве, доступном на сайте Scrum.org.
Давайте теперь рассмотрим обе проблемы на реальном примере.