Все о SCRUM (страница 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 для вас – не лучший выбор.