Знакомы с разработкой по принципам agile? Развиваете бизнес по методичкам «бережливого стартапа»? Ликвидируете потери на производстве по технике Тайити Оно? Тогда вы знаете, что такое скрам. Но даже если не знаете — а бизнес процветает, то вы все равно работаете в этом стиле. Писать рецензию на «Scrum» Джеффа Сазерленда было бы потерей времени. Если хотите, книгу можно найти здесь. Этот пост — о прикладной реализации скрам-алгоритма.
Проблема — повод для скрама
99% недовольных результатами своего проекта уверены, что знают, кто виноват. Владельцы ругают ленивых подрядчиков, программисты — непонятливых заказчиков. Кто прав? Заблуждаются все. Каждый из нас считает, будто только он умеет объективно реагировать на ситуацию, в то время как поведение остальных лишь мотивировано их персональными особенностями.
Вспомните: когда нас просят описать черты характера, собственные и наших друзей, мы всегда изображаем себя куда более банальными. Мы не находим в себе тех ярких особенностей, которые признаем за своими знакомыми. При обсуждении других людей мы говорим об их внутренних свойствах, вместо того, чтобы рассматривать эти свойства в контексте внешних условий.
По сути, именно взаимодействие с окружающей средой управляет нашим поведением. Все дело скорее в системе, которая нас окружает, а не в неком внутреннем качестве, которое по большей части в ответе за наше поведение. Люди стремятся обвинять отдельных людей, но никак не систему. Так проще.
Фундаментальная ошибка атрибуции обращается к нашему чувству справедливости. Если мы можем обвинить другого, мы ограждаем себя от возможности сделать то же самое. Мы убегаем от мысли, что с такой же вероятностью, как и любой другой, совершили бы ту же ошибку.
Автомобильный завод компании New United Motor Manufacturing, Inc. (NUMMI), расположенный в Фримонте, штат Калифорния, был совместным предприятием General Motors и Toyota. Завод был закрыт GM в 1982 году. Руководство считало его работников худшими в США. Люди не приходили на работу, пили на рабочих местах и постоянно намеренно портили машины (например, оставляли внутри двери банку из-под кока-колы, которая громыхала и мешала покупателям). Toyota вновь открыла завод в 1984 году. Компания GM предупредила, что рабочие завода ужасны, но управляющие отличные и их стоит нанять снова. Вместо этого Toyota не спешила приглашать на работу старое руководство, а вот рабочих вернула почти всех, некоторых даже отправила в Японию изучать производственную систему Toyota. Завод NUMMI практически сразу стал собирать автомобили с той же точностью и таким же низким уровнем брака, как и в Японии. Люди остались теми же — поменялась система.
Обвинять вообще глупо. Не ищите дурных людей, ищите вредные системы — системы, которые стимулируют ненадлежащее поведение и вознаграждают за плохую работу. Методика скрам, вместо того, чтобы искать виноватых, пытается изучить систему, ставшую источником ошибки, и исправить ее.
Дословно scrum («схватка») — элемент игры в регби, когда игроки двух противостоящих команд принимают боевую стойку над мячом после того, как одна из команд теряет над ним контроль и роняет на землю.
В основе скрама лежит простая идея. Когда бы ни был запущен проект, вам ничто не мешает регулярно проверять ход работ и последовательно выяснять:
- справляетесь ли вы с заданием;
- в нужном ли направлении движетесь;
- создаете ли именно то, что на самом деле хочет получить заказчик.
Вам также ничто не мешает постоянно поднимать следующие вопросы:
- есть ли способы усовершенствовать методы разработки и выполнять работу наиболее качественно и быстро;
- существуют ли факторы, препятствующие вашим задачам.
Процесс, описанный Джеффом Сазерлендом, назван «проверять и адаптироваться». Иначе говоря, в любой подходящий момент и как можно чаще следует прерывать сиюминутную работу, пересматривать то, что уже создано, и выяснять, все ли сделано, что нужно, и как это выполнить лучше.
Как это сделать? Автор методики скрама предлагает список из 11 пунктов.
1. Выберите владельца продукта
Джефф Сазерленд называет владельцем продукта не главного инвестора, а специалиста, профессионала, обладающего видением того, что вы собираетесь делать, производить, достигать. Он может принимать окончательные решения, всегда доступен для команды и готов отвечать на вопросы. Именно он принимает во внимание риски и выгоды: что нужно выполнить, что может быть сделано для максимальной пользы продукта и что воодушевит всю команду. Именно на владельце продукта лежит ответственность за цикл OODA (аббревиатура от наблюдать, ориентироваться, решать, действовать).
Эта концепция создана военным летчиком Джоном Бойдом. Когда-то в небе над Северной Кореей работа по принципам OODA помогла имеющим более широкий обзор F-86 получить превосходство над более совершенными в маневренности и вооружении МИГ-15. Тот, кто владеет OODA, способен проникнуть внутрь цикла принятия решений противника-конкурента, обрекая его на волнение, замешательство и сомнение. Так о чем же речь?
- Наблюдать — означает ясно видеть ситуацию по мере развития событий. Тем не менее это положение не столь очевидно, как кажется на первый взгляд. Бойд рекомендовал в этом случае выходить за пределы собственного «я», чтобы увидеть картину в целом, а не только с собственной точки зрения.
- Ориентироваться — речь идет не только о месте, где вы находитесь; это еще и варианты развития ситуации, которые вы можете увидеть, — меню возможностей, которое вы создаете для себя сами. Согласно Бойду, на меню возможностей влияют такие факторы, как генетический фонд, культурные традиции, предшествующий опыт и, безусловно, развитие ситуации. Таким образом, это положение отражает не только то, как вы видите мир и свое место в нем, но и какой мир вы в принципе способны увидеть.
- Решать — к этому этапу приводит комбинация положений наблюдать и ориентироваться.
- Действовать — говорит само за себя.
Затем цикл повторяется: снова надо начинать наблюдать — за результатами собственных поступков, действий своих противников, оппонентов, конкурентов или за реакцией рынка.
Методология скрама с добавлением в эту модель понятия «приращение работы» позволяет владельцу продукта видеть, сколько ценности создает это приращение и как на него реагируют люди. На основании полученной информации он может изменить задания, предназначенные для следующего спринта. Таким образом устанавливается постоянный цикл обратной связи, который ускоряет процесс нововведений и адаптации и позволяет владельцу продукта измерить количество добавленной ценности.
В бизнесе мы измеряем это количество нашим доходом. Если вы перекрашиваете дом, то измерять это количество нужно в покрашенных комнатах.
2. Соберите команду
Кто те люди, которым предстоит выполнить работу? Специалисты, входящие в группу, должны обладать всеми навыками и знаниями, необходимыми, чтобы воплотить идею владельца продукта в жизнь. Главные атрибуты команды:
- автономность;
- многофункциональность;
- стремление преодолевать границы возможного;
- возможность победить малым количеством (золотой стандарт скрама — от трех до девяти человек в одной команде).
Должна ли быть команда мотивирована для достижения цели? Безусловно. Но какой бы значимой ни была коллективная целеустремленность, она не более чем одна ножка треногого табурета. В одинаковой степени важна, но почему-то обделена вниманием, автономность, то есть свобода выполнять свою работу тем способом, который вы считаете наилучшим.
Во всех великих командах за их участниками остается право решать, каким путем двигаться к цели, поставленной руководством. При этом совершенно необязательно трудиться сверхурочно. Даже наоборот.
В середине 90-х OpenView мало чем отличалась от большинства молодых энергичных фирм. В ее корпоративную культуру было прочно впаяно представление, что работать нужно допоздна и желательно прихватывать выходные. Ребята из OpenView были целеустремленными и честолюбивыми. Но постепенно они начали выдыхаться и испытывать чувство подавленности. В общем, сотрудники упали духом. Среда была настолько агрессивна, что некоторые не выдерживали и уходили. Однако когда внутри компании были созданы группы, работающие по методике скрама, руководитель Скотт заметил положительную динамику в производительности.
Как только сотрудники компании перестали трудиться с утра до ночи, они увеличили выработку вдвое. Однажды Скотт нарисовал на доске кривую.
Ось y означала продуктивность, ось x — часы работы. Пик продуктивности приходился на рабочую неделю, которая составляла чуть менее сорока часов. Располагая такими данными, Скотт уверенно заявил, что сокращает рабочий день, и теперь сотрудники могут уходить домой раньше.
3. Выберите скрам-мастера
Критически важно, чтобы кто-то задавал непростые вопросы. Нужен персонаж наподобие шекспировского мудрого шута. Это человек, который следит за ходом проекта, обеспечивает проведение всех коротких собраний и помогает команде устранять мешающие ей препятствия. Чаще всего, скрам-мастер и руководит проектом. Кстати, именно Тайити Оно, которого я уже вспоминал в первом абзаце статьи, внедрил понятие «непрерывного потока».
Идея заключается в том, что процесс производства должен быть быстрым и бесперебойным, а ключевая задача руководства — выявлять и устранять препятствия на пути течения потока.
4. Создайте бэклог продукта
Программисты в курсе — это список абсолютно всех требований, предъявляемых к продукту и расставленных по их приоритету. Бэклог существует и развивается на протяжении всей жизни продукта, которому он служит ориентиром. Бэклог продукта — единственная и однозначная концепция «всего, что команда в принципе может сделать, в порядке приоритетности».
Существует только один бэклог продукта. Это означает, что владелец продукта должен принимать решения о приоритетности на основе всего спектра задач. Владелец продукта должен беседовать со всеми заинтересованными лицами и командой, чтобы гарантировать всю полноту обратной связи и отображать в бэклоге все требования и пожелания потребителя.
5. Уточните и оцените бэклог продукта
Крайне важно, чтобы участники группы, которые будут выполнять задания из бэклога, оценили, сколько усилий это потребует. Команда должна взглянуть на каждую задачу и определить, выполнима ли она в принципе.
Достаточно ли информации, чтобы выполнить задачу? Достаточно ли она обозрима, чтобы ее можно было оценить? Есть ли общее понимание, каким стандартам и критериям она должна соответствовать, чтобы быть выполненной? Создается ли при этом действительная стоимость?
Должна быть обеспечена возможность продемонстрировать результат выполнения каждой задачи. Не оценивайте задания бэклога в часах, поскольку люди плохо с этим справляются. Оценивайте в относительных размерах: «малый», «средний», «большой». Лучше использовать последовательность Фибоначчи и присваивать каждой задаче количество баллов: 1, 2, 3, 5, 8, 13, 21.
Если у вас порядок с фантазией, можно присвоить цифрам соответствующие образы. Например, такса — единица, бульдог — тройка, а дог — тринадцать. Если возникла задача-дог, возможно, есть смысл разрезать её на мелкие кусочки. Коннечно, ничто не будет точно пятью, или восемью, или тринадцатью, но, применяя эти числа, можно собирать мнения о масштабах задачи в условиях, когда все пользуются приблизительно одной системой измерения, — так мы быстрее достигнем согласия. Таким образом получается, что коллективная оценка дает нам гораздо более точные результаты, чем индивидуальная.
Человек склонен думать, что если все остальные поддерживают какую-то мысль, то его сомнения возникли по незнанию или глупости. Кто захочет выглядеть недалеким неучем в глазах всей группы?
Групповое мышление — не ошибка отдельного человека, а типичное заблуждение людей. К счастью, есть довольно быстрый и точный способ сбора оценок. Он называется «покер планирования».
Идея проста. Каждому участнику дается колода карт с числами Фибоначчи. Каждая единица работы, которая должна быть оценена, выкладывается на стол. Затем каждый участник группы берет ту карту, число на которой, по его мнению, соответствует объему необходимых усилий, и кладет ее на стол рубашкой вверх. Затем все одновременно открывают карты. Если расхождение не больше чем на две карты (скажем, пятерка, две восьмерки и тринадцать), команда просто их складывает, берет среднее арифметическое. Если расхождение получается более чем на три карты, тогда те, кто положил карты с самым большим и самым маленьким значением, объясняют, почему они так считают. Затем проводится еще один раунд покера планирования.
Всегда стоит задаваться вопросом: что сможет повысить эффективность работы и ее ценность? Найдя, что именно, этим и следует заняться в первую очередь.
6. Планируйте спринт
В лаборатории Media Lab (MIT) трудятся множество рабочих групп студентов. Тематики проектов — самые разнообразные: от создания наночипов до робототехники. Каждые три недели любая рабочая группа Media Lab (MIT) должна демонстрировать коллегам, над чем она сейчас работает. Это открытые показы, прийти посмотреть мог любой. И если выясняется, что пробная версия не отличалась ни эффективностью, ни особой крутизной, руководство лаборатории проект закрывало. Немедленная критическая оценка работы особенно важна — именно она заставляет студентов работать еще быстрее и создавать невообразимые вещи.
Спринт — это отрезок времени, за который команда создает хотя бы минимально функционирующую часть продукта. То, что сразу можно показать клиенту.
Каждому спринту предшествует собрание, на котором команда, скрам-мастер и владелец продукта планируют спринт.
Спринты всегда имеют фиксированную продолжительность, которая должна быть меньше месяца. Как правило, выбирают спринты длиной в одну или две недели. Команда смотрит в верхнюю часть бэклога и прогнозирует количество заданий, которое возможно выполнить за следующий спринт. Если команда уже прошла пару спринтов, ей следует учитывать то количество баллов, которое было в прошлом спринте. Количество баллов иначе называется динамикой производительности. Скрам-мастер и команда должны в каждом спринте наращивать динамику.
Планирование спринта — это еще одна возможность для владельца продукта и команды удостовериться, что все точно понимают, как реализация заданий служит воплощению замысла. На этой встрече все должны договориться о цели спринта и определить, что должны выполнить за спринт.
Основное правило скрама — если команда договорилась об определенном количестве заданий, которые нужно выполнить за один спринт, то добавлять новые уже нельзя.
Команда должна быть в состоянии работать автономно на протяжении всего спринта и завершить то, что пообещала сделать для заказчика.
7. Рабочий процесс должен быть прозрачным
По-настоящему великие команды с их принципом информационной открытости и владения общим объемом знаний несут в себе угрозу структурам с укоренившейся скрытностью и привычкой умышленно заметать следы своих дел.
Все дело в построении правильной системы с правильными стимулами. Нужно дать людям свободу, уважение и право делать свое дело самостоятельно. Величием нельзя наделить, оно должно исходить изнутри. По мнению Джеффа Сазерленда, оно живет внутри каждого из нас.
Руководители организаций, где свойственно все держать в тайне, не желают, чтобы кто-нибудь: рядовые сотрудники, ведущие специалисты, даже близкие к вершине иерархической лестницы управляющие, — знал, что происходит в настоящее время, что уже осуществлено и в какие сроки. Любые сведения и знания не подлежат распространению, поскольку скрытая информация — единственный залог сохранения их власти. Вряд ли задумываясь хоть когда-нибудь над проблемами общего блага, они преследуют лишь собственные интересы, чаще всего не идущие дальше стяжательства и высоких постов.
Здесь мы имеем дело с типом мышления, ответственным за такое явление, как несостоятельность руководства, которое приняло массовый характер и в итоге вызвало последний экономический крах. Прозрачность всех действий и процессов обеспечивает скорейшее достижение цели.
Наиболее распространенный способ добиться этого — завести скрам-доску с колонками: «Нужно сделать, или бэклог»; «В работе»; «Сделано». Стикеры — это пользовательские требования, которые нужно реализовать; по мере того как они выполняются, команда перемещает стикеры из одной колонки в другую.
Во многих крупных компаниях вместо скрам-досок используются системы управления проектами, например,
Еще один способ сделать работу прозрачной — создать диаграмму выгорания задач. На одной оси — количество баллов, которое команда взяла в этом спринте, на другой — количество дней. Каждый день скрам-мастер подсчитывает количество баллов за выполненные задачи и отражает это на графике.
В идеале к концу спринта должен быть резкий спад до нуля. Кстати, еще один плюс прозрачности работы — участники команды могут объективно оценивать объем задач друг друга и оперативно помогать отстающим ради достижения поставленных в спринте целей.
В агентстве Netpeak считают, что такие сотрудники примеряют на себя маску особого супергероя — Подстрахуя.
Супергерой, который нужен этому городу
8. Ежедневное собрание на ходу или ежедневный скрам
Это пульс всего процесса скрама. Каждый день в одно и то же время не более чем на пятнадцать минут команда и скрам-мастер встречаются и дают ответы на три вопроса:
- Что ты делал вчера, чтобы помочь команде завершить спринт?
- Что ты будешь делать сегодня, чтобы помочь команде завершить спринт?
- Какие препятствия встают на пути команды?
Вот и все. Вся встреча. Если на это требуется больше пятнадцати минут, значит вы что-то делаете неправильно. Суть таких встреч в том, чтобы вся команда точно знала, какое задание на каком этапе находится в текущем спринте. Все ли задачи будут выполнены в срок? Есть ли возможность помочь другим членам команды преодолеть препятствия? Никто не распределяет заданий сверху — команда самостоятельна и все решает сама. Никто не пишет подробных отчетов руководству.
Если вам какое-то время придется существовать в такой системе координат, как спринты и собрания на ходу, вы перестанете считать время линейной категорией. Вы поймете, насколько оно по сути своей циклично. Каждый спринт предоставляет возможность сделать что-то совершенно новое. Каждый день — это шанс стать лучше.
Скрам формирует целостное мировоззрение. Человек, выбравший скрам, будет ценить каждое мгновение.
9. Обзор спринта
Это встреча, на которой команда рассказывает, что сделано за спринт, и демонстрирует готовые части продукта. Присутствуют владелец продукта, скрам-мастер, команда и любые заинтересованные лица: заказчик, представители руководства, потенциальные потребители. Это открытая встреча, где команда демонстрирует, что удалось переместить в колонку «Сделано» за время спринта.
Демонстрировать команда должна только то, что соответствует определению «Сделано». Что полностью и окончательно готово. Это может быть полностью выполненный продукт или его отдельная готовая функция.
Не все удается выполнить? Значит, для этого спринта было отобрано слишком много задач. Бывает наоборот — недостаточное количество задач. В данном случае важно другое: у группы развивается чувство собственной скорости, то есть появляется необходимое знание, как быстро она может продвигаться в своей работе.
10. Ретроспективное собрание
После того как команда показала, что она сделала за прошедший спринт и что может быть сдано клиенту для получения обратной связи, все садятся за общий стол и обсуждают ряд вопросов. Что прошло хорошо? Что можно было сделать лучше? Что можно сделать лучше в следующем спринте? Какое улучшение команда может внедрить в процесс немедленно?
Чтобы собрание было действенным, потребуется создать атмосферу доверия и проявить необходимую эмоциональную зрелость. Главное, о чем нужно помнить, — вы никого не обличаете, а рассматриваете рабочий процесс. Почему это случилось? Почему мы это упустили? Что могло бы ускорить ход работ?
У Николя Дурамбе (вице-президент SalesForce) есть верный способ проверки, не сбилась ли команда с нужного пути. Она может неожиданно спросить, скажем, у сетевого инженера, из какой он группы. Если специалист, отвечая, называет программный продукт, над которым они в данный момент работают (например, автоматизация и интеграция), а не свою специальность (разработка сетевых технологий), то она одобрительно кивает. Если сотрудник идентифицирует себя со своей специальностью в большей степени, чем с тем продуктом, который они создают, Дурамбе понимает, что есть еще над чем работать.
Особенно важно, что люди ощущают себя командой и берут на себя ответственность за все процессы и их результаты. Решения ищут всей командой. Участники группы должны обладать определенной психологической выдержкой, чтобы их обсуждения были направлены на решение злободневной проблемы, а не на поиски виноватых. Абсолютно недопустимо, чтобы даже один член команды вынужден был занимать оборонительную позицию, — все в группе должны слышать и понимать друг друга. К концу встречи команда и скрам-мастер должны договориться о совершенствовании процесса, которое будет введено в действие в следующем спринте.
Совершенствование, которое называют кайдзен, должно быть внесено в бэклог для следующего спринта, включая приемочные тесты.
Благодаря скрам-доске и тестированию команда сможет понять, действительно ли они внедрили совершенствование и как оно сказалось на динамике производительности.
Присутствие заказчика на ретроспективных обраниях и мгновенная реакция на изменения в проекте делает скрам похожим на подход аgile.
11. Немедленно начинайте следующий спринт
Самое важное в данной методологии — ориентация на клиента. Заказчик должен получить то, что хочет, вовремя и с минимальными затратами.
Основная идея методологии скрама — итеративный подход к планированию и выполнению проекта.
В отличие от линейного (каскадного) подхода, когда проект изначально планируется «от» и «до», а результат где-то «в конце пути», этот способ позволяет в короткие сроки с минимальными затратами получить готовый продукт. Конечно, он еще не обладает всеми требуемыми характеристиками, но его уже можно использовать. Далее в ходе проекта исполнитель получает обратную связь от клиента, на основе которой осуществляется циклическое наращивание функциональности и совершенствование продукта.
Основная характеристика скрама — гибкость. Этот подход позволяет оперативно реагировать на изменения в требованиях заказчика и быстро адаптировать продукт к ним. При внедрении скрама могут возникнуть трудности. Во-первых, предполагается активное участие заказчика в проекте, а во-вторых, требуется слаженная командная работа.
Мир меняется: все, кому выгодна секретность и обман, скоро обнаружат, что осталось не так много мест, где они могли бы укрыться. Scrum меняет действительность, и несмотря на отчаянное сопротивление коррупционеров, бюрократов, карьеристов и просто лентяев, изменения неизбежны. Scrum позволяет работать настолько быстро, открыто и качественно, настолько лучше отвечает потребностям людей, что в конце концов этому методу суждено победить даже политиков, стоящих у него на пути. Джефф Сазерленд
Вместо эпилога
Каждая глава книги Джеффа Сазерленда читается как напряженный IT-детектив или сага, в которой скрам шаг за шагом побеждает каскадный подход к проектам, ликвидирует значимость диаграмм Ганта (кстати, они были придуманы еще в 1910 году) и превращается из принципа разработки программного обеспечения в продуктивный способ мышления. Правда, с некоторыми мыслями автора (например, отрицание пользы многозадачности) можно поспорить. После следующего спринта.
Что ещё почитать об организации работы в команде, с задачами:
По теме
Восемь способов сделать так, чтобы люди покупали в вашем блоге
В этой статье поделюсь способами, благодаря которым вы превратите читателей вашего блога в клиентов
Репутация бренда в интернете — SERM для бизнеса
Плюс чек-лист с обязательными имиджевыми шагами для молодых компаний, которые слабо представлены в сети.
Свежее
Кейс: как увеличить показы и установки приложения на 16% за две недели
Подробно о том, как мы улучшили позиции в топе и видимость в поисковой выдаче
Как легко запомнить пароли, пин-коды, телефоны и все важное
В статье поделюсь несколькими лайфхаками, которые помогут сохранить вашу память (и нервы!) и вовремя вспоминать, наконец, пин-коды банковских карт, исторические даты и другие важные вещи
Как оптимизировать конверсии для страниц приложения в App Store и Google Play
Какие поля и параметры имеют больше значения, и как выжать из них все