Scrum в деталях

Термин «scrum» применительно к методам управления проектами был предложен Хиротакой Такеши и Икуджиро Нанакой в 1986 году, а затем доработан Джеффом Сазерлендом и Марком Швебером. Согласно философии Scrum, наиболее эффективно над решением задач трудятся маленькие команды. Фото: Pexels.com (CC0).
Термин «scrum» применительно к методам управления проектами был предложен Хиротакой Такеши и Икуджиро Нанакой в 1986 году, а затем доработан Джеффом Сазерлендом и Марком Швебером. Согласно философии Scrum, наиболее эффективно над решением задач трудятся маленькие команды. Фото: Pexels.com (CC0).

Scrum – одна из самых популярных на сегодня методологий так называемой гибкой (agile) разработки продуктов. Термин scrum («схватка» на англ.) заимствован из регби. Он описывает прием, когда группа игроков из обеих команд образует смычку над мячом. Поначалу методика применялась для создания и поддержки именно программного обеспечения. Сейчас она все активней используется в самых разных сферах.

Что такое «гибкая методология разработки»

В 1990-х годах в индустрии создания софта царил каскадный, или водопадный, метод. Он подразумевает поэтапное создание продукта – поступательный переход от одной стадии к другой: от определения требований через проектирование к реализации, отладке, установке и поддержке. Новая стадия начинается по завершении предыдущей.

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

В 2001 году на горнолыжном курорте Сноуберд в американском штате Юта 17 новаторов в области управления технологическими проектами подписали «Манифест методологии гибкой разработки». Он излагал основные принципы нового подхода к проектной деятельности в мире IT.

  • Люди и коммуникации между ними важней, чем процессы и инструменты.
  • Работающее ПО важней, чем подробная документация.
  • Сотрудничество с заказчиком важней переговоров по заключению контракта.
  • Реагирование на перемены важней следования плану.

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

Линейка гибких методологий разработки постоянно расширяется. Сейчас к ним, помимо Scrum, относятся, например, Kanban, Crystal, Lean Software Development, экстремальное программирование, DSDM (Dynamic Systems Development Method), FDD (Feature Driven Developement) и другие, менее известные. Hewlett Packard в этом году провел онлайн-исследование, в котором были опрошены представители 601 it-компании. Лишь два процента из них заявили, что по-прежнему пользуются только каскадным методом в проектной работе. 91 процент использует либо только гибкую разработку, либо гибридные методы. 51 процент опрошенных отметили, что их компании отдают предпочтение гибким методологиям.

Что такое «scrum»

Термин «scrum» применительно к методам управления проектами был предложен Хиротакой Такеши и Икуджиро Нанакой в 1986 году, а затем доработан Джеффом Сазерлендом и Марком Швебером. Согласно философии Scrum, наиболее эффективно над решением задач трудятся маленькие команды.

Чем группа становится больше, тем менее она плодотворна. Оптимальной считается ячейка из 7 человек (от 5 до 9). Она должна быть многофункциональной, то есть способной работать автономно. Еще одна отличительная особенность метода – групповая ответственность. Упор делается не на индивидуальных показателях, а на качестве работы всей команды.

Люди

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

Спринты и истории

В основе методологии также лежит беспрерывное дробление требований к конечному продукту на изолированные задачи, а также разбивка процесса работы на сжатые отрезки времени – спринты. Этим он отличается от того же каскадного метода, который предусматривает планирование проекта на месяцы вперед. Каждый спринт, по правилам scrum, длится около 2-4, максимум 6 недель. Обязательное требование: результатом спринта должен быть осязаемый, рабочий продукт, который можно протестировать, показать клиенту, поставить на полку.

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

Ивенты

На первой scrum-встрече владелец продукта презентует журнал пожеланий проекта. Команда выбирает задачи, над которыми ей предстоит работать в ходе этого спринта. Спринты разбиваются на еще более короткие промежутки времени. Оптимальным считается один рабочий день. С такой периодичностью осуществляется контроль над ходом проекта. Команда ежедневно проводит обязательную короткую сессию продолжительностью не более 15 минут. За их организацию отвечает scrum-менеджер. В ходе встречи члены команды разработчиков отвечают на три вопроса:

  • что я сделал в рамках спринта с момента прошлой встречи;
  • что собираюсь сделать до следующей встречи;
  • какие существуют препятствия для выполнения мною задачи.

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

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

Достоинства Scrum

Автор журнала Forbes Стив Деннинг называет Scrum одним из величайших открытий в сфере управления в целом, не только в мире IT. Он так суммирует достоинства методологии:

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

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

Недостатки Scrum

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

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

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

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

Например, Scrum часто сталкивается со сложностями при внедрении в компаниях с жесткой системой иерархии, когда на неподготовленных управленцев разных звеньев возлагаются непривычные функции лидера-служителя, каким выступает scrum-менеджер. Для выявления несовершенства внедрения scrum был разработан тест ScrumButt. Он позволяет установить, не вернулась ли команда к каскадному приему в своей работе.

Где применяется scrum

Scrum используют такие технологические гиганты, как Intel, Microsoft, Amazon. На своем сайте один из создателей методики Джефф Сазерленд в качестве клиентов упоминает Google, Bosch, JPMorgan Chase, Lufthansa и Toyota. Активно пользуется Scrum компания Salesforce.

Scrum применяет Wikispeed. Компания работает на волонтерских началах и занимается производством автомобиля на основе модульного принципа и с открытым дизайном. Среди других проектов компании – MicroHouse – технологическое решение, направленное на борьбу с бездомностью. Его основные характеристики: спальное место и санитарное пространство стоимостью менее 100 долларов. Основатель компании Джо Джастис является экспертом по scrum и одним из авторов методологии eXtreme Manufacturing – методики гибкой разработки в промышленности, которая сочетает методы Scrum и Kanban.

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

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

Американский писатель Брюс Фейлер заявляет, что применяет методы гибкой методологии управления в собственной семье, в частности, устраивает утренние короткие встречи с задачами на день. Это позволяет его детям самим планировать свои цели, оценивать свою работу и учиться на своих ошибках. Разработчик Майк Кон делится опытом планирования жизни с использованием приемов scrum, в том числе спринтов на каждую неделю.