Все о SCRUM (страница 3)

Страница 3

В 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 по-прежнему носят подрывной характер (хотя ценности при этом весьма быстро изымаются) и идут вразрез с доминирующей культурой.

Если организации, практикующие Scrum, не согласны с духом Agility, который несут Scrum-команды, несоответствие довольно скоро вызовет перебои. Необходим комплексный подход.

1.2.6 Вклад системологии

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

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

Это становится ясно на практике. Многие задачи невозможно решить внутри команды. Нужно обращаться к экосистеме, внутри которой развивается команда, в частности, к отношениям с заинтересованными сторонами.

В этом издании мы разработаем системный подход к Scrum.

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

Существует множество направлений системологии: холизм, кибернетика, теория систем и т. д.

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

Пермакультура: философский системный подход к построению жизнеспособных экосистем. В нашем случае речь идет о человеческих экосистемах.

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

1.3 Скрам сегодня

Какова ситуация в отношении Scrum сегодня?

1.3.1 Scrum-мания

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

В опросах три четверти респондентов утверждают, что используют Scrum или его варианты.

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

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

1.3.2 Критика Scrum

Вполне логично, что при нынешней популярности Scrum написано много статей, критикующих его и предлагающих другие подходы.

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

Другие понимают Scrum лишь частично:

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

✓ Менеджеры, которые уверены, что Agilе-команда – на то и Agile, что может выполнять больше работы за меньшее время.

Реальность может их разочаровать. Мы постараемся дать ответ на эту критику и разочарования.

1.3.3 Scrum лично для вас

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

✓ Если вы разрабатываете приложения из категории несложных по модели Cynefin вероятно, Scrum для вас – не лучший выбор.

[5] Ориг. назв.: Exploring Scrum, The Fundamentals. – Прим. ред.
[6] 3Back, Scrum3.0, Web, 2017. https://3back.com/scrum30/ – Прим. авт.
[7] Kanban появился среди Agile-методов совсем недавно; на самом же деле Lean Software, где зародился Kanban, опирался на фундамент, заложенный еще производственной системой заводов Toyota в 1950-х годах. – Прим. авт.
[8] Kanban также не является Agile-методом, это скорее метод улучшения процесса или метод управления потоком. В конце концов, остается только Экстремальное Программирование, которое можно назвать методом. – Прим. авт.
[9] Как и не стоит обращаться к Scrum, чтобы войти в Agile-режим. – Прим. авт.
[10] Steven Denning, Radical Management. – Прим. авт.
[11] Frederic Laloux, Reinventing Organizations. – Прим. авт.