Гибкая организация
Scrum в современной организации
И почему для вас этот фреймворк может быть не лучшим выбором
Наш подход к разработке программного обеспечения не успевает за изменениями в технологиях и бизнесе. Даже с появлением agile люди по-прежнему перескакивают с одного фирменного метода на другой, выбрасывая хорошее вместе с плохим и часто ведут себя скорее как религиозные сектанты, чем как учёные.
— Ивар Якобсон и Роли Стимсон
Вступление
Перед вами вторая часть статьи про процесс разработки Scrum. В ней мы рассмотрим истоки заявлений о росте производительности, исследуем реалистичность таких заявлений, а также причины и факторы, мешающие достичь того, что обещает вам Scrum с рекламных плакатов.

Цель первой статьи была в том, чтобы рассказать, что именно предписывает выполнять фреймворк и почему были выбраны те или иные мероприятия и артефакты обязательными элементами процесса. Первая статья была написана с максимально научным подходом к изучению материалов и имеет довольно строгий язык учебных пособий. Данная статья, наоборот, скорее художественное повествование описывающее историю распространения Scrum, его коммерческого успеха, наступившего отрезвление разработческого сообщества, которое привело этот фреймворк к закату.
Это длинная статья. Её прочтение может занять до 20 минут.
Не всё так гладко
К великому сожалению, утверждение Джеффа Сазерленда о четырёхкратном повышении производительности от использования Scrum не выдерживает критики на практике. Недавнее исследование Quantitative Analysis of Agile Methods Study (2017): Twelve Major Findings, охватившее 155 организаций, 1500 команд, которые используют преимущественно предиктивные методики и 1500 команд, использующих agile-методологии, преимущественно Scrum, показало, что фактический рост производительности agile-команд, использующих Scrum приближается к 7-12%. В организациях, работающих большей частью по SAFe, улучшение ещё менее заметное — 3-5%.

С учётом комплексности изменений в организациях и стремительно развивающихся культуры DevOPS, методик программирования и тестирования, растущего и распространяющегося качественного open source, разгоняющего разработку лучше любой методологии, выделить прирост производительности того или иного фреймворка изолировано становится невозможно, а значит, и реальные цифры могут оказаться существенно хуже, чем в исследовании абзацем выше.
Откуда цифры, Джефф?
Как измерить прирост в производительности, если невозможно создать два одинаковых продукта одной и той же командой, используя одни и те же инструменты и технологии параллельно? Единственный правильный ответ — никак. Это важно помнить.

Как бы ни было это очевидно, стоит упомянуть, что замеры выполнялись командой внедрения Scrum последовательно, то есть до внедрения, во время внедрения и после внедрения, на основе "похожих" продуктов и задач, часто на уровне ощущений участников процесса.
Каша из топора
Yahoo как и многие другие похожие на неё компании во времена инфляционного развития доткомов имела взрывной рост. Число сотрудников выросло с нескольких десятков в девяностые до своего максимума в четырнадцать тысяч в 2007 году.

С двухтысячного года компания начала ощущать огромнейшее конкурентное давление со стороны Google. К этому моменту внутренние процессы порождения ценности, которые развивались в основном стихийно, оставляли желать лучшего. Каждый купленный стартап привносил что-то своё в процессы компании и то, что компания не работала как слаженный механизм стало очевидно.
Чтобы установить структурированный всеохватывающий единый подход к порождению ценности, в компании был разработан и в 2002 году внедрён "Процесс разработки продукта" (Product Development Process) на основе глубоко-предиктивных (читай водопадоподобных) практик управления разработкой. Процесс должен был выровнять производство со стратегией и целями компании, снизить ненужный труд и в целом из монстра Франкенштейна, сотканного разными людьми в разное время стремительного роста компании от ста сотрудников до десяти тысяч, сделать стройную оптимальную систему управления.

Внедрение было осуществлено безалаберно и не встретило широкой поддержки у конечных исполнителей, хотя сам процесс был обязателен к выполнению всеми службами, вовлечёнными в разработку ПО. В итоге сотрудники выполняли только часть практик и элементов процесса, а в остальном создавали видимость выполнения, что фактически привело к пришиванию дополнительных поломанных конечностей и без того неуклюжему еле ползающему голему, задача которого — бегать марафоны.
Scrum обещал простое внедрение без необходимости тщательно изучать текущие проблемы — просто разрушить что есть и установить новый процесс поверх выжженной пустыни. Это звучало убедительно для многих директоров и для директора Yahoo тоже, особенно на фоне неулучшающихся показателей производства после внедрения собственного процесса.

Компания купила услуги Джеффа и Кена. В 2004 году началась подготовка к внедрению Scrum, а в 2005 уже стартовала ограниченная пилотная программа. Команда Yahoo очень положительно встречала простую понятную структуру процесса Scrum, описанного буквально в 17-ти страничной методичке (сейчас уже 13) на фоне сложной непонятной бюрократизированной системы, в которой работали. Кен лично обучал лидеров команд мастерству Scrum.

Огромное внимание уделялось механизмам приоритизации, самоорганизации и командной работе, способам и практикам более глубокого и частого вовлечения заказчиков, фундаментам инкрементного строительства продукта.

Ежемесячно собиралась обратная связь. Вопросы и ответы участников пилотной программы после одного месяца работы приведены ниже. Цифры очень интересные:
  • Как много удалось сделать за месяц?
    со Scrum удалось больше/намного больше = 74%

    так же = 24%

    до Scrum было лучше = 2%
  • Ясность целей, которые команда должна достичь и задач, которые должна выполнить
    со Scrum лучше/намного лучше = 80%

    так же = 14%

    до Scrum было лучше = 6%
  • Ценность для бизнеса, созданная за 30 дней
    со Scrum удалось больше/намного больше = 64%

    так же = 34%

    до Scrum было лучше = 2%
  • Общее качество продукта
    со Scrum выше/намного выше = 54%

    так же = 41%

    до Scrum было выше = 5%
  • Сотрудничество и содействие в команде
    со Scrum лучше/намного лучше = 89%

    так же = 11%

    до Scrum было лучше = 0%
  • Количество бесполезной проделанной работы
    со Scrum меньше/намного меньше = 68%

    так же = 13%

    до Scrum было лучше = 19%
  • общее впечатление от работы по процессу Scrum
    нравится/очень нравится = 77%

    не знаю = 14%

    не нравится = 9%
  • Если бы вы решали продолжать работать по Scrum или нет, что бы вы решили?
    Продолжать = 81%

    Вернуть как было = 19%
  • посоветовали бы вы другим командам Yahoo перейти на Scrum?
    Да = 71%

    Не знаю = 25%

    Нет = 4%
Внедрение Scrum с самого его начала сопровождалось созданием и постоянной подпиткой азарта и возбуждения среди всех вовлекаемых сотрудников. Джефф и Кен читали лекции, проводили семинары со специалистами компании всех ступеней организационной структуры, приглашали внешних спикеров из небольших стартапов, которые уже работали по Scrum и могли поделиться своими благоприятными впечатлениями.

Не меньшая работа проводилась с руководством Yahoo. Управленческому составу убедительно доносились важность прозрачности процессов, ясности целей и задач как компании, так и продуктов, которые она создаёт, важность механизмов простого и понятного донесения информации до команд.

Много сил было направлено на то, чтобы руководство "отпустило" команды и позволила им стать самоорганизующимися. Эта часть внедрения фреймворка часто является серьёзным вызовом из-за её болезненности для управляющего состава компаний.

Создавался институт Владельцев Продукта, что во многих командах заставило начать осуществлять полноценный бизнес-анализ, порой впервые за долгие годы.
PDC/SA и DMAIC
И конечно, то, о чём мы так много писали — внедрялась культура непрерывных контролируемых улучшений по всей вертикали управления производством ПО, менявшая сознание команды разработки и руководства, и предоставлявшая мгновенные результаты в основном за счёт искоренения подхода "мы так делали годами, всё и так работало".

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

В итоге у Джеффа и Кена были:
  • поддержка руководства
  • поддержка исполнителей
  • метрики от пилотного внедрения
  • ошибки и прочие "грабли" пилотного внедрения

По итогу пилотной программы руководство согласовало внедрение Scrum во всех командах разработки.
А в вашей организации гибкие методики внедрялись хотя бы вполовину так же ответственно?
Интерпретация результатов внедрения
Yahoo не единственная история успеха внедрения в двухтысячных, но очень показательная и поучительная.

При переходе от хаоса к порядку или от разгильдяйства к дисциплине всегда растёт производительность, часто в разы. Внедрение Scrum в Yahoo было осуществлено профессионально, со всеми необходимыми мероприятиями по снижению рисков неуспеха. Кроме установки процесса производства в Yahoo команда внедрения, без преувеличения, трансформировала компанию и попутно сдвинула мировоззрение её руководства.

К сожалению, это не спасло её от краха, но это уже другая история, которая, возможно, не имеет к Scrum отношения.

Как много компаний росли и растут в данный момент без специалистов с фундаментальными знаниями о настройке производственных процессов и их совершенствования? Очень много. Управление организациями с множеством тысяч сотрудников требует определённого опыта и знаний, но компании времён доткомного бума создавались выпускниками факультетов электротехники, которые после взрывного роста организации становились у её руля, не имея никакого опыта управления корпорациями и их операционными процессами.
Где моя х4 производительность, чувак?
Scrum пропагандируется как единая система, которая "должна" работать одинаково эффективно, независимо от контекста её применения.

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

Почему так?
Оптимальная и субоптимальная система
Любая система работает оптимально только в среде, относительно параметров которой оптимизировалась. Как бы это ни было очевидным, это часто забывается, когда касается управления предприятием.
Мы постоянно сталкиваемся с командами, которые приняли предписывающий гибкий метод, очень часто Scrum или SAFe, находящимися на плато производительности, потому что они столкнулись с одной или несколькими проблемами, не решаемыми напрямую в явном виде выбранной ими методологией или фреймворком. Поскольку конкретный фреймворк не решает эту конкретную проблему, и поскольку у команды нет опыта в этой области, они, как правило, начинают путаться. Ивар Якобсон придумал для этого термин "они застряли в тюрьме метода".
Скотт Эмблер и Марк Лайнз, создатели инструментария Disciplined Agile
(translate.google удивительным образом красиво переводит как "дисциплинированное проворство")
Cоплу ракеты, летающей в атмосфере, требуется одна форма и один диаметр (а ещё лучше разные, для разных высот полёта с разным давлением атмосферы), соплу ракеты, летающей в вакууме, требуется другая форма и диаметр. Поэтому и ещё потому, что мы хотим отстегнуть лишний вес, мы делаем 2 ступени. Если мы не можем обеспечить ракету-носитель двумя-тремя разными соплами, мы прибегаем к компромиссу — универсальное сопло, которое одинаково плохо работает на всех высотах и в вакууме. Такой компромисс есть неоптимальное, относительно каждого отдельного из целевых параметров, решение, но одновременно это есть успешное решение задачи мультикритериальной оптимизации, то есть работа одновременно или последовательно в разных режимах и/или условиях.

Между полётом ракеты и работой команды разработки есть принципиальная разница. Ракета и режимы её работы спроектированы заранее. Её поведение в условиях, на которые она не рассчитана и в которых она не тестировалась, непредсказуемы и часто фатальны для миссии. Команда разработки может жить и эволюционировать вместе с изменяющимися условиями. Зачем детально проектировать поведение команды заранее, будто это бездумный механизм? Запрещать приспособляться, когда это требуется, только потому, что кто-то, даже не представляющий в каких условиях вы работаете, предписал вам модель работы вашей команды?

При внедрении Scrum в организации с преимущественно хаотичными или неконтролируемыми, пущенными на самотёк процессами производства выстраивается порядок согласно методичке Scrum. В организации, процессы производства которой неоптимальны, но не хаотичны и адаптированы под реальность, в которой она существует, внедрение фреймворка со всеми его ограничениями и предписанными практиками не гарантирует прироста производительности вовсе.
Ограничения, с которыми сталкивается разработка в суровой реальности
Разберёмся, к чему конкретно командам постоянно требуется приспосабливаться и по каким причинам они могут захотеть работать не так, как их коллеги с соседнего потока.
Методика ситуационного контекста (Situation Context Framework) или просто SCF показывает, что существует несколько факторов контекста, в котором команда осуществляет свою деятельность, влияющих на то, как команда выбирает свой подход к работе, включая методики и практики.

Факторы организованы в 2 категории:
1
Ключевые контекстные факторы, влияющие на выбор фундаментального подхода к организации труда в команде — производственного жизненного цикла. Это стратегия поведения команды.
2
Факторы побуждающие команду выбрать ту или иную активность, практику или подход для оптимального решения проблемы с учётом условий, в которых работает команда. Это тактика поведения команды. Disciplined Agile (далее по тексту ДА) называет их тактическими коэффициентами масштабирования.
Читайте также

Методика ситуационного контекста (Situation Context Framework) или просто SCF показывает, что существует несколько факторов контекста, в котором команда осуществляет свою деятельность, влияющих на то, как команда выбирает свой подход к работе, включая методики и практики.

Скотт Эмблер и Марк Лайнз пишут в своей книге, что "существует несколько интересных следствий {из ограничений SCF — прим. автора}.

Во-первых, чем правее по каждому контекстному фактору, тем большему риску подвергается команда. Например, намного рискованнее использовать аутсорсинг, чем создавать собственную внутреннюю команду. Команда с более низким набором навыков является более рискованным предложением, чем высококвалифицированная команда. Большая команда — гораздо более рискованное предприятие, чем маленькая команда. Удовлетворение нормативам безопасности жизни и здоровья гораздо более рискованно, чем удовлетворение нормативам финансового регулятора, которое, в свою очередь, более рискованно, чем полное отсутствие регулирования.

Во-вторых, поскольку командам в разных ситуациях нужно будет выбрать способ работы, соответствующий конкретной ситуации, с которой столкнулись, чтобы помочь им эффективно адаптировать свой подход, мы обязаны предоставить им выбор.

В-третьих, любой, кто взаимодействует с несколькими командами, должен быть достаточно гибким, чтобы правильно работать с каждой из этих команд. Например, мы будем управлять небольшой, совместно размещённой, командой, которая работает над системами жизнеобеспечения иначе, чем командой среднего размера, разбросанной по офисам и работающей без регуляторных требований. При этом корпоративный архитектор, поддерживающий обе команды, будет по-разному взаимодействовать с каждой из них.

Scrum даёт то, что раньше было надёжным руководством для создания ценности гибким способом, но официально он описан только в девятнадцати страничном буклете {в 2022 году в 13-ти страничном прим. автора}.
"
Если учесть, что Scrum, по сути, уже выбранная стратегия и жизненный цикл производства, то проверка, как на него ложатся различные случаи значений стратегических контекстных факторов, является довольно жестоким насилием. Можете почитать подробнее о них в этой статье. С другой стороны, Scrum подразумевает конкретные требования к внедрению себя как процесса, так что будем считать наоборот, что эти требования заставляют организацию иметь определённый уровень навыков членов команды, культуру команды и организации и так далее.
Тактические коэффициенты масштабирования и Scrum
Разные команды разного размера, разного типа совместного размещения и с разным содержанием необходимых навыков из разных компаний, разного размера, оргструктуры и индустрий, регулируемых совершенно по-разному, работают с программным обеспечением разного уровня комплексности.

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

В организациях среднего размера (например, от 200 человек) большие и сложные инициативы не смогут быть произведены в таком подходе. Один владелец продукта не в состоянии выполнить весь необходимый бизнес-анализ и если Цель Продукта остаётся важным и полезным артефактом, который не теряет ценности при масштабировании, то единый бэклог продукта превратится буквально в тысячи разнотипных требований, а уход за ним превратится в непрекращающуюся агонию.
При росте числа разработчиков (тех, кто работает непосредственно над кодом) нелинейно растёт риск снижения качества кода, плохого взаимодействия компонент системы, переиспользуемости блоков кода и/или целых компонент. Вам может понадобиться архитектор систем, а в случае производства ПО в условиях сложного и/или регулируемого бизнеса и бизнес-архитектор.

Это именно те причины, по которым появились SAFe (Scaled Agile Framework), Nexus и LeSS (Large-Scale Scrum), что однозначно отражает мнение общественности о невозможности применять Scrum, если нет возможности организовать эффективную работу крохотных команд в больших и маленьких организациях.

Это также одна из причин возникновения, так называемых гибридных жизненных циклов, когда в водопадоподобных (предиктивных, итеративных или инкрементных) проектах по разработке ПО включены одна или множество фаз, похожих на процесс Scrum.
2 Географическая распространённость членов команды
До 2020 года это было место, где Scrum ломался, но после пандемии его привели в более современный вид. Ориентированность на живое взаимодействие и общение вместо документирования налагает определённые требования как на техническое обеспечение современных команд, так и на размещение.
Очевидно, что команда не может быть распределена на множество временных зон.

Тем не менее есть основание полагать, что нынешние средства конференц-связи и совместной работы онлайн, такие как Miro или Figma, позволяют команде, находящейся в одной временной зоне, иметь столько виртуального взаимодействия сколько нужно практически без ущерба (а порой даже с повышением) производительности.
Авторы статьи видели прекрасные примеры, когда для команды создавались одна виртуальная "комната для работы" и параллельно "виртуальный кафетерий" в slack или Google meets. Все, кто хотел развеется, выйти покурить и поговорить на нерабочие или околорабочие темы могли просто переключиться из комнаты в комнату.
3 Организационная распределённость
В этой части Scrum твёрд и непреклонен. Если вы не в состоянии собрать самоорганизующуюся кросс-функциональную команду с плоской структурой, содержащую все необходимые навыки, то вы не сможете применить этот фреймворк.
Это означает, что у вас не должно быть периодически приходящих и уходящий специалистов с неполной загрузкой из прочих подразделений и департаментов со своим начальством, которое управляет их ресурсом.

Никаких вендоров-разработчиков или аутсорса части функциональности.
4 Доступность требуемых навыков
Scrum-команда обязана содержать все роли и навыки, необходимые для рождения работающего инкремента ПО за спринт.

Если навыки недоступны, нет и Scrum.
5 Compliance
Ещё одно место, где фреймворк очень быстро ломается.

Если вы работаете в высокозарегулированной среде, вам потребуется предварительный анализ или исследование для удовлетворения требований регуляторов; заранее продуманная, с учётом этого анализа, как бизнес-, так и техническая архитектура решения и стратегия тестирования.
Чем жёстче условия регуляторов, тем больше жизненный цикл производства вырождается в предиктивный из-за ярко выраженных необходимых фаз предварительного исследования, анализа, дизайна и проверки.

Экстремальный случай — соблюдение норм и положений по обеспечению безопасности жизни и здоровья — может потребовать отдельных фаз независимых проверок внешних экспертов, а подход к работе существенно ограничивать соблюдением требований к процессу производства.
6 Сложность предметной области
Разработка в сложных предметных областях и индустриях часто требует:
  • временное привлечение экспертов в команду для работы над частью продукта;
  • огромное количество исследований, анализа, включая бизнес-анализ;
  • предварительную проработку моделей и прототипов;
  • предварительную проработку архитектур, как бизнес-, так и техническую;
  • проработку инфраструктуры решения;
  • проработку стратегии тестирования;
  • больше тестирования и специфические виды тестирования;
  • тщательного планирования с учётом всех факторов выше, взаимосвязей работ, и рисков проекта и продукта.
Scrum требует единого окна заинтересованных сторон в лице владельца продукта. При разработке решения сложной проблемы может понадобиться целая обойма скоординированных окон к заинтересованным сторонам, что, конечно, ломает Scrum.

Высокая сложность предметной области часто требует временного участия узкоспециализированных профессионалов на специфических этапах производства. Заставлять, пусть и кросс-функциональную команду, тратить время на погружение в задачи и получение экспертного понимания где-то далеко за рамками их компетенции и возможно даже разработки в целом не является оптимальным решением с точки зрения скорости производства и траты бюджета.
7 Комплексность продукта
Легко разрабатывать примитивные игры для apple watch. Часто и независимо от сложности предметной области и индустрии требуется разработать комплексное решение, которое встраивается в существующую архитектуру, вынуждено частично питаться данными из устаревших систем, но использовать современные технологии и базироваться на современной инфраструктуре по соседству с устарелой инфраструктурой, с которой требуется поддерживать интеграцию, бесперебойную и безопасную.
Разработка сложных продуктов часто требует:
  • огромное количество бизнес-анализа. Часто требуется несколько бизнес-аналитиков с разной экспертизой, в том числе с пониманием механизмов работы устаревших систем;
  • анализа существующей инфраструктуры;
  • анализа существующей бизнес- и технической- архитектур;
  • анализа источников данных;
  • анализа качества данных из существующих, часто устарелых источников;
  • наличия специфических экспертов в команде;
  • наличия экспертов по legacy-системам, с которыми нужно интегрироваться или в которые встраивать решение или его часть;
  • наличия большой команды;
  • тщательного планирования с учётом взаимозависимостей работ и этапов, всех факторов, описанных выше, и рисков проекта и продукта.
Аналогично сложности предметной области и учёта требований регуляторов — чем сложнее продукт, тем больше прослеживается ярко выраженная неминуемая фазность из-за необходимости собирать конкретных специалистов и экспертов для решения конкретных задач в конкретной точке плана производства.
Границы применимости и поддельная гибкость
Итого, чтобы Scrum работал:
  • 1
    Должна быть небольшая команда или небольшое количество небольших команд.
  • 2
    Количество команд ограничивается способностью Владельца Продукта выполнять свои обязанности, соблюдать порядок и гигиену в бэклоге продукта.
  • 3
    Команда может быть географически распределена, но:
    • обязана находится в одном часовом поясе или с небольшим смещением между поясами
      И
    • крайне желательно иметь возможность в ключевые моменты производства собираться с заинтересованными сторонами очно.
  • 4
    Команда не может быть организационно распределена.
    Все члены команды выделены на команду на 100%, работают в плоской структуре команды, не принимают больше ничьих указаний, кроме указаний, рождённых в процессе самоорганизации команды.
  • 5
    Не должно быть существенных регуляторных требований, нарушающих размер или структуру команды.
    Команда должна содержать все навыки для работы с нормативами, с которыми имеет дело продукт или производственный процесс.
  • 6
    Как продукт, так и предметная область должны быть простыми и не приводить к разрастанию размера, специализированности и иерархичности команды.
Continious business justification
— Ты обоснуй?!
— От обоснуя слышу!
При всех описанных ограничениях, которые могут быть восприняты негативно, хотя в реальности не несут ничего негативного (как если бы невозможность описать квантовый мир классической ньютоновской механикой вызывало грусть) стоит упомянуть о важном крайне положительном ограничении, которое поставляется в комплекте со Scrum — необходимость постоянного подтверждения ожидаемых изменений.

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

Scrum обязывает вернуть такой подход. Владелец продукта обязан регулярно осуществлять бизнес-анализ хотя бы в минимальном объёме для формирования бэклога продукта. Команда обязана регулярно демонстрировать результаты работ. В свою очередь, заказчики и спонсоры обязаны регулярно думать и решать, продолжать ли команде в том же духе и удовлетворяет ли создаваемый продукт целям, задачам и в конечном счёте стратегии предприятия, которая, к слову, может поменяться посреди большой сложной разработки.

Внедрение одного только этого элемента процесса рождения ценности давало конкурентное преимущество и позволяло сосредотачиваться на важном и экономить ресурсы на бесполезном, в то время как многие компании продолжали завершать многолетние проекты с давно потерянной бизнес-необходимостью потому, что команде проекта, включая бизнес-представителей, нужно отчитаться за его завершение и получить от руководства бонус.
"Scrum…, но…"
Если в слове "Scrum" сделать пять ошибок, то получится "Agile"
Поймите автора этой статьи правильно. Scrum был бы прекрасен в рамках своих границ применимости. Но есть две проблемы: первая в том, что эти границы постоянно непристойно и невежественно нарушаются; вторая в том, что эти границы нигде не обозначены в явном виде, но даже, наоборот, умышленно приуменьшены для увеличения продаж. Scrum это многомиллионная индустрия!

Лучшее, что может сделать организация это изменить в том числе и сам фреймворк, убрать часть предписанных элементов в пользу эффективности производства. Конечно же, это уже не будет Scrum. Худшее — это продолжать работать по методичке во что бы то ни стало потому, что Scrum требует бездумно выполнять все предписанные мероприятия и использовать артефакты, ни капли не сомневаясь в их надобности и не ставя под сомнение рациональность, независимо от контекста применения. Scrum удивительным образом должен одинаково эффективно работать в любых условиях. Это здорово повышает продажи Scrum, но ужасно влияет на производительность организаций.
Мы постоянно сталкиваемся с командами, которые приняли предписывающий гибкий метод, очень часто Scrum или SAFe, которые находятся на плато производительности, потому что они столкнулись с одной или несколькими проблемами, которые напрямую не решаются выбранной ими методикой / фреймворком. Поскольку этот метод не решает проблемы, с которыми они сталкиваются, и поскольку у них нет опыта в этой области {настройка производственных процессов}, они, как правило, путаются. Ивар Якобсон придумал для этой ситуации термин "они застряли в тюрьме метода". [Снесите тюрьмы методов! Освободите практики!]
...
Мартин Фаулер ввёл термин "гибкий промышленный комплекс" для обозначения наблюдения за тем, что многие команды придерживаются стратегии "поддельной гибкости", которую иногда называют "гибкость только по названию" (AINO). Это часто является результатом того, что организации принимают предписывающую структуру, такую как Scaled Agile Framework (SAFe®), а затем заставляют команды принимать её независимо от того, имеет ли это смысл на самом деле (а смысл редко имеется), или заставляют команды следовать типовому применению процесса Scrum [Scrum Guide; SchwaberBeedle].
...
Мы наблюдаем растущую негативную реакцию сообщества agile на его предписывающие аспекты. На практике мы регулярно видим, как продвинутые команды устраняют отходы процесса Scrum, например, ежедневные совещания, планирование, оценка и ретроспективы, по мере того как они превращаются в формальность фреймворка без добавления стоимости. Сообщество Scrum быстро подвергает остракизму такое поведение как "Scrum..., но..." — делаю кое-что из Scrum, но не всё.

Тем не менее мы рассматриваем это как естественную эволюцию, поскольку команда заменяет расточительную деятельность созданием дополнительной ценности. Природа этих команд, которые общаются и сотрудничают весь день, каждый день, означает, что им не нужно проводить такие церемонии в итеративном режиме, предпочитая делать это по мере необходимости (JIT — just-in-time). Мы думаем, что это хорошо и естественно."
Скотт Эмблер и Марк Лайнз, авторы книги "Выбирай свой подход к работе"
Зачем вам Scrum?
Стоит задуматься
Попробуем подвести непредвзятый итог. Scrum хорошо подойдёт вашей организации, если вы:
  • не разбираетесь в процессах производства;
  • хотите простую понятную стартовую точку для ваших процессов разработки и не питаете религиозной привязанности к проприетарным фреймворкам.

Не стоит думать, что это попытка обесценить фреймворк и обидеть его последователей. Нет. Разработка программного обеспечения — очень сложное явление, но его сложность постоянно приуменьшается.

Мастером скрама может стать буквально любой (на момент написания этой статьи — любой кроме жителя России) независимо от компетентности и глубины понимания устройства и процессов организаций, а также специфики разработки ПО.

Руководители нанимают сертифицированного мастера по Scrum, который начинает внедрять то, чему его учили два дня, независимо от контекста, существующего в данный момент в организации, независимо от специфики среды, в которой организация работает и рисков, которые несёт. Часто эти "гуру" не учитывают накопившиеся знания коллег, которые давно работают в этой организации и обладают глубочайшими познаниями в тонкостях механизмов их среды существования и как их (механизмы) оптимизировать. Это приводит к негодованию сотрудников компании и к колоссальному ухудшению качества продукта, которое списывают на "время адаптации" к новым подходам.
Найм в управление разработкой или производством в целом необразованных специалистов в мире достигает таких масштабов, что влияет на требования к вакансиям, которые теперь часто приводят к ожидаемому такими специалистами виду, что, в свою очередь, отталкивает образованных и опытных.

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

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

Кстати, Scrum, умело внедрённый в рамках границ своей применимости, покрывает оба этих шага. Иногда и этого достаточно, чтобы избавиться от примитивных проблем. Чаще нет.
Что если не Scrum?
Как будто мало вариантов
Сам вопрос, в его текущем виде поставлен неверно. Это всё равно, что спросить "что если не рубанок" стоя в гараже, полном инструментов. Правильный вопрос — "почему в любой ситуации я использовал только рубанок?!"
Проблема в том, что профессиональные практики, которые разрабатывались и совершенствовались в течение многих лет и которые в совокупности представляют собой наши общие отраслевые знания и опыт слишком часто заключаются в тюрьму проприетарных методов.

Единственный вариант, который видят перед собой организации и команды разработчиков — это принять тот или иной метод/фреймворк оптом и отвергнуть все другие, тогда как на самом деле необходимо, чтобы организации и команды были свободны в выборе профессиональных практик, которые им подходят, где бы и чем бы они ни определялись, и использовать их в любых перестановках и комбинациях, в соответствии с точным набором обстоятельств, проблем и контекста, с которыми они сталкиваются.

Есть простой способ вырваться из этого замкнутого круга нездоровой конкуренции между методологий и фреймворков, в которых больше сходства, чем различий — высвободить практики из их тюрем. Нужно позволить практикам расти, взлетать и падать по их собственным заслугам, а не из-за методологии, в которой они заключены.

Позвольте командам экспериментировать, внедрять инновации, когда требуется, или использовать проверенные практики для организации подхода к работе, который им нужен сегодня, и плавно перейти к тому, который им нужен будет завтра.
Посмотрите на современные заводы и их производственные цеха. Они сделаны инженерами и оптимизированы под выполнение своей задачи. В мире разработки ПО мы имеем привилегию изменять и модифицировать наши "виртуальные производственные цеха" быстро и в любой момент, но пытаемся следовать проложенным кем-то другим задолго до нас проржавевшим рельсам.

Применение инженерного подхода, а значит, отношение к процессам производства ПО как к непрерывно меняющейся системе, даёт колоссальное конкурентное преимущество и позволяет иметь оптимальный подход к каждой поставленной перед производственной командой задаче с учётом контекста, включающего точки взаимодействия (интеграции) с окружающим эту команду миром.
Организации представляют собой совокупность взаимодействующих команд и групп, каждая из которых постоянно изменяется. По мере того как команды развивают свои подходы к работе, они мотивируют изменения в командах, с которыми они взаимодействуют. Из-за такой постоянной эволюции (будем надеяться, изменяющей систему к лучшему), и из-за того, что люди уникальны, становится невозможно предсказать, как люди будут работать вместе или каковы будут результаты этой работы. Короче говоря, ваша организация представляет собой сложную адаптивную систему (CAS).
Скотт Эмблер и Марк Лайнз, авторы книги "Выбирай свой подход к работе"
Производители аппаратного обеспечения не могут посреди цикла производства перебирать и тестировать методики, выбирая наиболее подходящую (могут, если производство экспериментальное) или пробовать новые подходы и способы взаимодействия внутри команды и с другими командами, а мы, разработчики ПО, можем.

Что же нам мешает, кроме невежества?