Почему LeSS?

Традиционная водопадная модель разработки устарела. Она работает плохо, независимо от того говорим мы о разработке небольших или наоборот крупных продуктов. Начиная с 2001 года, Agile-разработка и Scrum в частности, произвели революцию в разработке программного обеспечения. Но когда возникает вопрос - как применять Agile-разработку в больших группах, многие люди говорят “не стоит” или “работайте только с небольшой командой” или “используйте Скрам только на уровне одной команды”. Пользы в этих советах, конечно, мало. И не смотря на то, что лучше избегать увеличения количества людей вовлеченных в разработку, также очевидно и то, что крупномасштабная разработка продуктов никуда не исчезнет. Поэтому приходится искать подходы к тому, как сделать ее лучше.
Мы (Craig Larman и Bas Wodde) в разном качестве долгое время занимались разработкой программного обеспечения в традиционной последовательной модели, Unified Process, CMMi и других. И ни один из этих подходов не выглядел правильным. При этом Скрам, с другой стороны, хорошо себя зарекомендовал для однокомандной разработки. В результате возник вопрос - «Как мы можем масштабировать Скрам, не потеряв его сильные качества?»

LeSS это масштабируемый Скрам

В чем сила Скрама? На этот вопрос не так-то просто ответить. Безусловно, концепции и принципы, лежащие в основе Скрама, такие как Прозрачность, Эмпирический процесс контроля, Итеративная разработка и Самоорганизованные команды имеют решающее значение. Однако эти принципы существуют уже довольно давно, поэтому их включение в Скрам не объясняет его успеха. После долгих обсуждений, мы пришли к выводу:

Успех Скрама в удачном сочетании общих принципов и конкретных практик.

Таким образом, чтобы сохранить масштабируемый Скрам как Скрам, нам необходимо найти аналогичный баланс, чтобы мы могли сказать:

Для больших групп успех LeSS в удачном балансе между конкретными элементами и эмпирическим процессом управления.

Это приводит к некоторым решениям:

  • LeSS должен быть простым
    При масштабировании, существует тенденция добавления ролей, артефактов, процессов и т. д. Этого нужно избегать, чтобы процесс эмпирически создавался продуктовой группой. Большинство других масштабируемых фреймворков попадают в ловушку обеспечения определенного процесса. В LeSS мы хотим избежать этой ловушки.
  • LeSS - это Масштабируемый Скрам
    Вместо простого использования Скрама в качестве строительного блока для масштабируемого фреймворка, нам требуется посмотреть на Скрам и для каждого его элемента спросить: “Почему он там?”, а затем - ”Если у нас есть больше одной команды, как мы можем применять его с таким же успехом на больших масштабах?”
  • Масштабируемый вместо подогнанного
    Общей концепцией развития процессов является описание универсального, общего фреймворка, а затем его контекстная подгонка. Это плохо работает, потому что люди зачастую предполагают, что в их контексте нужно все. Это предположение часто приводит к созданию раздутых процессов. LeSS сводит все это к минимуму. Мы признаем, что масштабирование может потребовать «большего» (количества элементов, правил, артефактов фреймворка и т.п.), но вместо “замусоривания” LeSS опциональными элементами мы создали отдельный фреймворк - LeSS Huge.

Обзор LeSS

То, как мы видим LeSS очень хорошо изображено на рисунке:

LeSS использует эксперименты

В наших первых книгах, Scaling Agile and Lean Development и Practices for Scaling Agile and Lean Development, мы определили масштабируемый Скрам как набор экспериментов, исходя из принципа:

Не существует «лучших практик». Есть только практики, которые хороши в конкретном контексте.

Поэтому в книгах описано много экспериментов, которые мы провели. Некоторые их них мы рекомендуем вам попробовать, некоторые рекомендуем избегать, часть будут работать в определенных контекстах, но при этом будут иметь плохие последствия в других. Такой подход действительно работает и мы получили массу положительной обратной связи.

Но мы также получили обратную связь от людей, которые были немного обескуражены таким подходом. Им требовалось что-то большее, чего можно было бы придерживаться … что-то менее зависимое от контекста … некоторые правила. Основываясь на этой обратной связи, мы подумали и вернулись к модели обучения Shu Ha Ri:

shuhari.png

Эта модель показывает различные этапы, которые учащиеся проходят при изучении новых концепций:

  • Shu—следуй правилам для изучения основ
  • Ha—нарушай правила и исследуй контекст
  • Ri—овладей в совершенстве и найди свой собственный путь

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

LeSS это фреймворк

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

Это также лежит в основе третьей книги LeSS, просто названной Large-Scale Scrum. В этой книге LeSS определяется как:

  • правила LeSS, которые обеспечивают LeSS фреймворк (и LeSS Huge фреймворк для более крупных продуктовых групп)
  • Руководства для применения LeSS
  • Эксперименты из двух первых двух книг.

Таким образом, LeSS прост и остается верным духу Scrum. В то же время, как и Scrum, LeSS предоставляет достаточно конкретных практик для старта и достаточную гибкость и мощность для масштабирования.

Перевод статьи осуществлен Сергеем Господчиковым и Алексеем Ворониным