Все о SCRUM. Изучение, разработка, интеграция - Бомбора 2 стр.


Пока я читал, в голову пришла мысль: этот пришелец явно не с привычной мне планеты. Хотя в статье было много ссылок на объектно-ориентированное программирование (вероятно, просто чтобы ее включили в конференцию OOPSLA), она противоречила настроениям того времени.

Это все было слегка за пределами сферы моих интересов – архитектуры ПО и моделирования. И все же я оценил акцент на команде, а упоминание регби возбудило любопытство. Разработанные идеи заинтриговали меня, особенно эмпирический подход: они были противопоставлены индустриализации, модной на тот момент.

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

Давайте коротко рассмотрим, что это вообще такое – Scrum.

1.1 Первая схватка со Scrum

1.1.1 Легкий фреймворк

В статье 1995 года Швабер взбудоражил читателей, рассказав о процессе и методологии. После этого Scrum чаще всего определялся как Agile-методология.

Затем Кен Швабер и Джефф Сазерленд, его со-основатель, установили, что Scrum – это процессный фреймворк (process framework).

Scrum не является законченным процессом (как и методом или методологией), это процессный фреймворк.

Процесс определяет способ работы, а фреймворк только определяет границы, фреймы. Это рамка, при помощи которой Scrum вводит несколько правил и принципов.

Классифицировать Scrum нелегко – проще объяснить механизм его реализации.

1.1.2 Scrum вкратце

Прежде чем перейти к ответу на вопрос как? – факт, на который стоит обратить внимание:

Scrum действительно помогает людям работать в команде.

Слово команда имеет фундаментальное значение!

Можно объяснить Scrum несколькими словами. Помнится, были челленджи, в которых надо было представить Scrum меньше, чем за пять минут. Удалось это далеко не всем. Большинство пытались прояснить, как, собственно, применять Scrum.

На данный момент моя версия ответа на этот вопрос звучит так:


✓ Люди работают в команде, следуя принципам Scrum.

✓ Ритм устанавливается при помощи серии итераций.

✓ Все, что необходимо сделать, включено в список задач.


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


✓ Первое событие в начале спринта – согласование цели и подготовка к работе.

✓ Второе событие – это ежедневная синхронизация команды для достижения общей цели.

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

1.1.3 Истоки Scrum

Scrum не аббревиатура. Это слово взято из игры в регби: в английском языке scrum означает схватка. Чтобы отличать одно от другого, к нашему Scrum добавили заглавную букву.

Вот почему мы не пишем SCRUM. И вот почему мы произносим именно так: скрам. Если хотите убедиться в своем правильном произношении, включите матч по регби с англофонным арбитром.

Рисунок 1.1 – Схватка


По правилам регби, схватка возобновляет игру после какого-либо нарушения правил. Правила постоянно меняются (и в этом очарование регби) – особенно те, что касаются самой схватки. Но те, которые регулируют ее присуждение, более менее постоянны:

✓ был пас вперед;

✓ мяч был выбит в аут.


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

В 2005, когда я впервые представлял Scrum на конференции, я много говорил о его связи с регби. Вот выдержка из моего выступления:

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


Почему именно регби?

Оба основателя Scrum – американцы. В США особо не играют в регби со схватками. Почему же именно этот вид спорта?

Отсылка к регби появилась в статье 1986 года, написанной японцами. Они любят эту игру вместе с ее схватками. Там было описано, как компании Honda, Canon, NEC и Fuji-Xerox демонстрируют совместный подход к разработке своих продуктов, и подчеркивалась важность автономных и самоуправляемых команд. Авторы сравнили такой формат работы с игрой в регби:

Традиционный последовательный подход к разработке продукта, известный как «эстафета» (например, при поэтапном планировании программ), может противоречить целям максимальной скорости и гибкости. Вместо него, удовлетворяя требованиям конкурентоспособности, лучше подходит целостный подход – как при игре в регби, где команда прилагает совместные усилия и играет сплоченно, перемещаясь по полю и передавая мяч из рук в руки.

Джефф Сазерленд опирался на эту статью, когда придумывал Scrum.

1.1.4 В чем Scrum принципиально отличается?

В мире организаций, где центральное место все еще занимает процессный подход и индивидуализация целей, Scrum сильно выделяется.


Рисунок 1.2–6 свойств Scrum


1. Появление нового

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


2. Приоритизация

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


3. Предприимчивость

Команда уполномочена самостоятельно организовывать свою работу в соответствии со своей целью. Такой подход позволяет вовлечь всех участников процесса и способствует их раскрытию в команде.

4. Прозрачность

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


Рисунок 1.3 – Визуальный менеджмент


5. Практика

Изначально Scrum был создан для разработки сложных систем эмпирическим, опытным путем. Это может удивить тех, кто уверен: мол, Scrum не подходит для их «слишком сложной» сферы деятельности. Но Scrum нацелен именно на сложные задачи! В настоящее время, когда все вокруг представляется сложным, практический подход позволяет найти решение и продвигаться к нему через короткие циклы с частой обратной связью.

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

6. Постоянный ритм

Scrum использует фиксированные отрезки времени для создания ритма. Основа ритма Scrum – это спринт. Спринт завершается по расписанию, а не с окончанием работы. Отодвинуть завершение спринта по времени невозможно.

1.1.5 Где найти справочные материалы по Scrum?

На протяжении долгого времени не было книг о Scrum. Затем Кен Швабер опубликовал несколько работ, но ни одна из них не была безупречной и полностью понятной читателю.

В 2010 Джефф Сазерленд и Кен Швабер опубликовали небольшой документ – «Руководство по Scrum» («The Scrum Guide»).

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

Это руководство – надежный источник информации о Scrum.

В начале 2017 года компания 3Back опубликовала статью объемом около двадцати страниц, в которой предлагалось развить концепцию Scrum. Авторы – Дэн Роастхорн и Дуг Шимп – ранее уже написали весьма содержательную книгу «Исследуя Scrum»[5]. Их новая статья называлась «Обзор Scrum 3.0» (Scrum 3.0 overview [6])

В предыдущем издании этой книги я рассматривал некоторые паттерны, предложенные Роастхорном и Шимпом.

В этом пятом издании у меня следующая позиция: в Scrum 3.0 действительно есть интересные мысли.

Идеи, изложенные в этой книге, не противоречат вышеупомянутым источникам, но в поле моего зрения больше деталей, чем вы найдете в этих небольших документах. Кроме того, я опирался и на другие источники. И самое главное: я говорю не только о Scrum, в этой книге вы найдете то, что никак не связано со Scrum 3.0.

1.2 Agile-движение

1.2.1 Аgile-манифест

Термин Аgile, тесно связанный со Scrum, появился в сфере разработки ПО в документе под названием «Agile-манифест».

Манифест опубликован в начале 2001 года и дошел без изменений до наших дней. Он выражает позицию по отношению к громоздким и бюрократическим процессам, которые были в моде в то время (а иногда даже сегодня).

Эта позиция отражается в формулировке не отрицая важности того, что справа, мы больше ценим то, что слева. Основополагающие ценности манифеста следующие:


✓ Люди и взаимодействие важнее процессов и инструментов.

✓ Работающий продукт важнее исчерпывающей документации.

✓ Сотрудничество с заказчиком важнее согласования условий контракта.

✓ Готовность к изменениям важнее следования первоначальному плану.

Публикация Agile-манифеста вызвала громкую положительную реакцию и дала старт новой моде: упрощению процессов.

Помимо четырех основных ценностей, Манифест содержит двенадцать принципов. Ниже я цитирую первый, ключевой:

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

Scrum стоит под знаменем Agile-манифеста. Два его основателя также входят в число 17 подписавших документ.

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

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

1.2.2 Аgile-практики

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

Практики, описываемые как гибкие, или Agile-практики, существовали и до Манифеста, а некоторые – задолго до него.

К примеру, еще в начале 1980-х сообщество разработчиков программного обеспечения рекомендовало совершать короткие циклы разработки (так называемая итеративная разработка).

Некоторые практики появились вместе с Agile-движением и со временем стали незаменимыми, многократно подтверждая свою эффективность. Среди них можно отметить ежедневные совещания (схватки, или собственно Scrum).

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

1.2.3 Аgile-методика

Scrum и Экстремальное Программирование (XP) существовали и до Манифеста. После его подписания и публикации они стали считаться Agile-методами, в то время как другие попали в список отсталых и утратили популярность. С недавнего времени к семье Agile присоединился Kanban [7].


Рисунок 1.4 – Быть гибким с Agile-методикой


По статистике проводимых год за годом опросов, Scrum – самый популярный из трех. Scrum и Agile – слова, которые мы часто произносим в речи и складываем друг с другом, будь то предложение о работе или статья об Agile Scrum. Но мы убедились, что Scrum на самом деле не метод [8].

1.2.4 Аgile-режим

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

Однако Scrum потерял смысл в этом Agile-режиме разработки программного обеспечения [9].

1.2.5 Agility

За пределами информационных технологий

Agile-манифест объединил в себе Аgile-методы и породил целое Agile-движение, сильно набравшее обороты за последние годы. Scrum теперь известен и распространен во многих организациях, пройдя путь от первых адептов до большинства крупных компаний, которые им заинтересовались.

Scrum берет начало в разработке ПО, но сейчас широко используется и за пределами ИТ:

✓ в маркетинге и торговле;

✓ в сфере цифровых технологий;

✓ при разработке оборудования (hardware) и систем, включающих программное обеспечение.


Марк Андриссен, основатель Netscape, произнес известную фразу: софт пожирает мир.

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

Scrum не относится ни к какой конкретной области и может быть использован для разработки продуктов или услуг совершенно любого характера.


Аgile-менеджмент

Управление меняется. Новые подходы[10] идут в ногу с Agile-принципами.

Тем не менее, все инициативы, претендующие на название Agile-менеджмент, исходят не от движения, появившегося вслед за Манифестом. Сейчас самое время попытаться определить, что такое Agility.


Определение Agility

Джим Хайсмит, один из подписантов Манифеста, так определяет Agility по отношению к изменениям:

Agility – это способность отвечать на изменения для того, чтобы процветать в непрерывно меняющейся экономической обстановке.

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

Agility – это способность организации приносить максимум ценности, часто и своевременно, и адаптироваться к изменениям в своей среде.

Из этого определения ясно, что гибкость относится не только к команде, но и к организации.

Agile организация

Принципы освобожденных компаний (liberated companies) также имеют много общего с Agile-движением с точки зрения ценностей и важности человеческого фактора.

Работа Фредерика Лалу[11], посвященная успешным новым организациям, выдвигает на первый план принципы бирюзовых организаций (teal organisations), идущих в ногу с Agile.

Scrum помогает на пути компаний к трансформации. Я знаю ряд организаций, которые начали с внедрения Scrum в рамках одной команды разработчиков и перешли к освобождению (или становлению бирюзовой) всей компании.


Рисунок 1.5 – Agility – трамплин, чтобы выбраться с галеры на свободу


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

Для большинства организаций ценности и принципы Agility по-прежнему носят подрывной характер (хотя ценности при этом весьма быстро изымаются) и идут вразрез с доминирующей культурой.

Назад Дальше