Обзор методологии Scrum. Гибкая методология Scrum

Scrum (skrʌm «схватка») - это методология управления проектами. Основной акцент использования данной методология делается на качественном контроле процесса разработки. Scrum является одной из наиболее популярных «методологий» разработки ПО. Кроме управления проектами по разработке ПО, Scrum может также использоваться и по сопровождению программ.

В статье «The New Product Development Game» (Гарвардский Деловой Обзор, январь-февраль 1986) Хиротака Такэути и Икудзиро Нонака отметили, что проекты, над которыми работают небольшие команды из специалистов, как правило, производят лучшие результаты. Они сослались на «подход регби» Scrum (толкотня, схватка вокруг мяча).

Впервые метод Scrum был представлен на общее обозрение задокументированным, чётко сформированным и описанным совместно Швабером и Джефом Сазерлендом, которые на протяжении следующих лет работали вместе, чтобы описать и представить весь их опыт и лучшие практические образцы для управления проектами в одно целое, в ту методологию, что известна сегодня как Scrum .

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

Процесс управления проектом Scrum

Терминология проекта Scrum

  • Sprint - этап разработки;
  • Sprint backlog - задачи по этапу разработки;
  • Project backlog - cписок требований к функциональности.

Итерация Sprint

Основой Scrum является Sprint - этап разработки, в течении которого выполняется определенная работа над продуктом. Полная разработка проекта состоит из коротких этапов Sprint"ов . Функции, которые нужно реализовать на каждом Sprint"е , строго фиксированы и их нельзя менять по ходу спринта; они разбиты на задачи, имеющие оценки и приоритеты.

Перед началом каждого Sprint"а производится Sprint planning , на котором оценивается содержимое Project backlog и формируется Sprint backlog , содержащий задачи (Story, Bugs, Tasks), которые должны быть выполнены в текущем спринте. Каждый спринт должен иметь цель, являющуюся мотивирующим фактором, которую можно достичь с помощью выполнения задач из Sprint backlog .

Sprint всегда ограничен по времени (1-4 недели) и имеет одинаковую продолжительность на протяжении всей жизни продукта. По окончанию Sprint"а должна быть получена новая рабочая, но не окончательная, версия продукта.

Список требований проекта Project backlog

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

В классическом Scrum подразумевается, что заказчик проекта может вносить любые изменения прямо по ходу проекта, но не в текущий Sprint . В большинстве случаев бюджет разработки ПО зафиксирован. А это значит, что и возможности Заказчика влиять на ход выполнения тоже ограничены. Тем не менее, при необходимости можно оформить «Дополнительное соглашение» к договору с учетом изменения финансовой составляющией проекта поскольку потребность добавлять или менять какие-либо функции проекта для Заказчика очень актуальна. Это способствует разработке нужного клиенту проекта, а не того, что формально представлено в ТЗ.

Поэтому, в качестве Backlog"а , как правило, используется перечень задач из технического задания, очерченных и закрепленных в договоре, плюс фиксированные в доп-соглашениях доработки, возникающие по ходу работы.

Список требований спринта Sprint backlog

Журнал пожеланий спринта Sprint backlog содержит функциональность проекта для определенного этапа Sprint"a.

Роли в управлении проектом Scrum

По методике Scrum в производственном процессе есть определённые роли, разбитые на 2 группы « свиней» и «кур». Эти названия были использованы вследствии следующей распространенной шутки:

Курица предлагает свинье: «А давай откроем ресторан!» Свинья удивленно смотрит на курицу и отвечает: «Идея хорошая, а как ты хочешь его назвать?» Курица недолго думает и отвечает: «Почему бы не назвать "Яичница с беконом"?».
«Так не пойдёт, - отвечает свинья, - ведь тогда мне придётся полностью посвятить себя проекту, а ты будешь вовлечена только частично».

Согласно Scrum «Свиньи» создают продукт, в то время как «куры» не настолько заинтересованы в готовом продукте. Им всё равно, будет ли проект удачным или нет, на них это мало отразится. Поэтому требования, пожелания и идеи «кур» принимаются во внимание, но им не разрешают непосредственно включаться в ход Scrum-проекта .

Классический Scrum использует 3 базовых роли («Свиньи» ) :

  • Product owner (PO) - владелец продукта представляет интересы заказчика в проекте.
    PO является не членом команды разработчиков, а связующим звеном между командой разработчиков и заказчиком, т.е. это должен быть представитель заказчика. Поскольку роль накладывает высокие требования к опыту и компетенции индивида в сфере разработки и развития проекта, а также требует постоянного личного участия в проекте (что не всегда возможно для заказчика), то данную роль, как правило, выполняет менеджер проекта.
  • Scrum master (SM) «служащий лидер» - член команды, следящий за соблюдением принципов Scrum .
    Роль SM не предполагает каких-то дополнительных полномочий по проекту. Задача SM - помочь команде максимизировать ее эффективность посредством устранения препятствий, помощи, обучении и мотивации команде, оказание помощи PO.
  • Development team (DT) - команда разработчиков.
    Команда разработчиков состоит из специалистов, выполняющих непосредственную работу над проектом. Согласно «The Scrum Guide» DT должна обладать следующими качествами:
    • должна быть самоорганизующейся. Никто (включая SM и PO ) не может указывать DT каким образом преобразовать Project backlog в работающий продукт;
    • должна быть многофункциональной и обладать всеми необходимыми навыками для создания работающего продукта;
    • должна отвечать за проект вся команда, а не отдельные её члены.
    Рекомендуемый размер команды DT , как правило составляет 6...8 человек. Согласно идеологам Scrum , команда большего размера требует слишком больших ресурсов на коммуникации, в то время как команда меньшего размера повышает риски (в виду возможного отсутствия требуемых навыков) и уменьшает размер работы, который можно выполнить за определенный отрезок времени.

Дополнительные роли (Ancillary roles ) в методологии Scrum («Куры» ) :

  • клиенты Stakeholders - лица, которые инициируют проект и для кого проект будет приносить выгоду. Они вовлечены в Scrum только во время обзорного совещания по спринту Sprint Review ;
  • управляющие персоналом Managers;
  • эксперты-консультанты Consulting Experts.

Работа по этапам

Основная задача Product Owner"а связана с поддержкой в актуальном состоянии списка задач по проекту Backlog и правильной расстановкой приоритетов согласно бизнес-целям проекта. При этом в Backlog попадают, как правило, не мелкие задачи, типа изменить интерфейс формы, а более крупные бизнес-задачи, например «реализовать единую авторизацию через социальные сети».

В начале каждого этапа команда набирает себе из списка Project backlog столько задач, сколько способна реально выполнить за этап Sprint"a . Разбивает на подзадачи и уточняет сроки.


Планирование спринта Sprint Planning Meeting

В начале новой итерации Sprint"a необходимо выполнить соответствующее планирование. Для этого из Backlog"a проекта выбираются задачи, которые за Sprint команда DT должна выполнить. На основе выбранных задач создается Backlog Sprint"a .

Каждую задачу спринта необходимо оценить в идеальных человеко-часах. Решение задачи должно занимать от 8 до 16 часов, т.е. не более двух рабочих дней. При необходимости задачу можно разбить на подзадачи.

Во время планирования обсуждается и определяется порядок реализации всего объёма работ. Продолжительность совещания имеет строгие ограничения (не более одного рабочего дня) и зависит от продолжительности итерации и опыта команды.


Ежедневный контроль, Daily meetings

Daily meetings , иначе называемый Stand-up Meeting проводится каждый день. На протяжении всего Sprint"a команда регулярно собирается в одно и то же время. Каждый член команды DT должен ответить на три вопроса:

  • Что было сделано вчера?
  • Что будет сделано сегодня?
  • Какие есть проблемы?

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

Остановка спринта, Abnormal Termination

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

После остановки спринта проводится совещание с командой DT , где обсуждаются причины остановки. После этого команда переходит к выполнению очередного Sprint"a .

Диаграмма сгорания задач Burndown chart

Для наглядного представления состояния проекта используется диаграмма сгорания задач Burndown chart , демонстрирующая количество проделанной и оставшейся работы относительно всего времени, выделенного на разработку проекта. Диаграмму необходимо регулярно (ежедневно) обновлять, чтобы в реальном времени показывать подвижки и издержки в работе над спринтом и проектом. Burndown chart должна быть доступна для всех членов проекта.

Существуют два вида диаграммы:

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

Особенности Scrum-проекта

1. В Scrum-проекте изменения в требования можно вносить в любой момент.
Таким образом можно менять Product backlog по ходу выполнения. Это затрудняет использование принципов Scrum в fixed-cost/fixed-time проектах. Идеология Scrum утверждает, что заранее невозможно предусмотреть все изменения, поэтому нет смысла заранее планировать весь проект, ограничившись только just-in-timе планированием, т. е. планированием только тех работ, которые должны быть выполнены в ближайших Sprint"ах.

2. В Scrum-проекте главным источником достоверной информации является эмпирический опыт участников.
В «The Scrum Guide» говорится о необходимости полного и точного выполнения положений Scrum в виду отсутствия формального лидера и руководителя.

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

Плюсы и минусы Scrum-проекта

Одним из главных плюсов, с точки зрения Заказчика, является быстрый запуск Srcum-проекта с самыми приоритетными функциями и минимально возможным бюджетом. Таким образом, Scrum ориентирован на клиента. Scrum предоставляет клиенту возможность вносить изменения в требования в любой момент времени, но не гарантирует, что эти изменения будут выполнены. Возможность изменения требований привлекательна для многих заказчиков ПО. Кроме этого, Scrum упрощает контроль за ходом выполнения работ.

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

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

Следует отметить, что Scrum не подходит для выполнения Гос-заказов, где до начала разработки ПО должно быть все согласовано, т.е. сформировано ТЗ и определены требования, установлены сроки по этапам и утвержден бюджет.

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

В скрам-командах ключевые позиции занимают
scrum-master и product owner ,
итерация начинается планированием ,
на котором члены команды «играют»
в покер планирования,
и завершается демо с ретроспективой .

Scrum методология создана американцами Джеффом Сазерлендом, исследователем и бизнес-консультантом, и Кеном Швабером, практикующим программистом, в 1993 году. В 1995 году авторы концепции официально представили ее подходы на научной конференции Ассоциации вычислительной техники в Остине, Техас.

Идея соавторов скрама не была новой: и концепцию, и даже название они переняли из работы японских исследователей в сфере управления , опубликованной в 1986 году. Уже тогда японские производители использовали подходы, которые легли в основу скрама. А название методологии заимствовано из словаря игроков в регби. Scrum, или схватка, — элемент игры, показывающий важность командной работы для победы на поле.

Применение скрама в IT и не только

Впервые scrum был применен в компаниях, которые производят программное обеспечение. Первый проект, который Дж.Сазерленд курировал еще до официальной презентации скрама, — создание ПО для сети банкоматов (1983 г.). Команды программистов в IT компаниях и подразделениях до сих пор остаются главными потребителями scrum. Однако автор методологии настаивает, что скрам применим для решения любых задач, и приводит примеры использования скрама в производстве, строительстве, образовании, политике и даже при решении бытовых задач вроде генеральной уборки или организации праздника.

И действительно, по данным Scrum Alliance за 2016 г. 21% проектов, выполненных по скраму, не имели отношения к сфере IT. Посмотрите, какие подразделения успешно используют scrum:


Scrum VS Agile VS Waterfall

Скрам относится к группе гибких методологий, или agile методологий. Agile — это не отдельная методология, а целая философия разработки ПО, ее основные подходы зафиксированы в в 2001 году. В манифесте перечислены основные принципы agile — значимость команды, акцент на продукт, а не на документацию, прозрачность процессов, постоянное совершенствование, быстрый результат.

Скрам — это один из фреймворков agile , формализованная методология работы над проектами. К аджайл методологиям, кроме скрама, относятся и другие современные подходы. Альтернативой scrum могут быть , Scrumban и другие. То есть скрам — это agile, но agile — не только скрам.

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

Соответственно, визуально различия и сходства между Scrum и Agile можно представить так:

* Артефакты в скраме — это объекты, которые создаются командой во время работы над проектом. К ним относятся бэклог продукта, бэклог спринта и инкремент продукта, то есть работающий кусок функционала, который команда демонстрирует в конце спринта.

Гибкие методики разработки противостоят каскадной модели (каскад, водопад, waterfall) , которой в 90-е годы пользовались практически все команды разработчиков.

Суть каскадной модели — поэтапное выполнение проекта, причем работа над каждым последующим этапом начинается только после окончания предыдущего. Схематически каскадная модель выглядит так:


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

Как работать по скраму

Роли в скраме

Скрам-команда

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

Для скрама нужна небольшая команда: 7±2 человек. При большем количестве людей участники команды тратят слишком много ресурсов на коммуникации. В середине 90-х годов Лоуренс Путнэм проанализировал 491 команду разработчиков: все они создавали новый продукт и были разных размеров. Исследование показало, что большим командам (9-20 человек) нужно в 4 раза больше времени и усилий, чтобы решить задачу, чем малочисленным группам (3-7 человек).

Скрам-мастер

Скрам-мастер — это формальный руководитель скрам-команды, помощник, который следит за правильным применением методологии и поддерживает боевой дух команды. Он отвечает за то, как делать работу.

Владелец продукта, Product Owner

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

Заказчик

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

Регулярные скрам-собрания и Worksection

Планирование

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

Выбранные задачи вносятся в проект-спринт с дедлайном и исполнителем.

Ежедневные собрания на ходу

Все участники команды каждый день в одно и то же время собираются, чтобы оценить ход работы и обменяться информацией.

Для этого они отвечают на три вопроса:

  1. что я делал вчера, чтобы команда добилась цели?
  2. что я буду делать сегодня, чтобы команда добилась цели?
  3. что мешало мне выполнять работу?

Собрания длятся не дольше 15 минут и проводятся стоя.

Для этой встречи каждый может посмотреть свой Отчет за выбранный день.

Демонстрация или обзор спринта

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

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

Ретроспектива

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

Используются Отчеты за соответствующий промежуток времени по Людям, Отделам, Счета и Детальный.

Алгоритм. Что за чем делать?

1. Выберите владельца продукта , который четко определит, что должно быть сделано.

2. Сформируйте скрам-команду.

3. Назначьте скрам-мастера.

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

Бэклог — это полный список работ, которые нужно выполнить.
Пользовательские истории, User stories — это требования к функциональности продукта, озвученные от имени конечного потребителя. Например, я, как покупатель интернет-магазина, хочу искать нужный товар на сайте (оплачивать покупки картой, сохранять товары в корзину и т.д.).

5. Оцените задачи из бэклога , используя относительные величины, например, размеры футболок или числа из последовательности Фибоначчи: 0, 1, 1, 2, 3, 5, 8, 13 и т.д. Оценивайте задачи всей командой с помощью покера планирования (planning poker): используйте колоду карт или приложение на смартфон.

Покер планирования — специальная колода карт с числами Фибоначчи. Каждый член команды получает свой комплект. Когда скрам-мастер озвучивает задачу, члены команды одновременно кладут на стол карты с числами, которые, по их мнению, соответствуют сложности задачи. Если карты участников расходятся на одну-две единицы, например, 3 и 8, то задаче присваивается сложность, равная среднему арифметическому этих чисел. Если расхождение больше, то участники, которые выкинули самую маленькую и самую большую карты, объясняют свои решения. После этого все члены команды выкладывают карты заново. И так, пока все не придут к соглашению.


6. Проведите планирование спринта : выберите задачи и распределите их между исполнителями.

7. Заведите скрам-доску , поделите ее на три части: нужно сделать, в работе, сделано. Перемещайте стикеры с задачами, чтобы видеть динамику работы. Используйте реальную или виртуальную доску.

8. Не забывайте о ежедневных собраниях.

9. В конце спринта проведите демонстрацию.

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

11. Начинайте следующий спринт с планирования (пункт 6).

Скрам Гайд. Исчерпывающее руководство по Скраму: Правила Игры / Кен Швабер, Джефф Сазерленд

Руководство по применению скрама: описывает роли, мероприятия, артефакты скрама, и правила их использования. составлен и поддерживается соавторами скрам методологии.

Скрам. Революционный метод управления проектами / Джефф Сазерленд


Управление продуктом в Scrum. Agile-методы для вашего бизнеса / Роман Пихлер

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

Scrum и XP: заметки с передовой / Хенрик Книберг

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

Agile-манифест разработки программного обеспечения

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

Преимущества и недостатки Scrum в ІТ

Скрам — отличная методология: высокоэффективная, прозрачная, мотивирующая. Это win-win подход, от которого выигрывает и команда, и заказчик.

  1. Прозрачность. В команде открытый обмен информацией, знаниями, проблемами, каждый чувствует себя причастным к общей цели. Заказчик всегда в курсе хода работ, вносит правки в процессе, получает достоверную информацию о сроках сдачи.
  2. Автономность команд. Ч лены команды сами решают, как работать над проектом, свобода действий и ответственность мотивируют. Заказчик передает требования команде напрямую, без испорченного телефона.
  3. Мотивация результатом. Концепция скрама позволяет каждому члену группы видеть свои и общие достижения ежедневно. Заказчик получает прирост функциональности с каждой итерацией.
  4. Минимизация рыночных рисков. Команда оперативно реагирует на изменение требований к проекту и не делает лишнюю работу. Заказчик получает то, что хочет, и что востребовано на рынке.
  5. Минимизация финансовых рисков. На устранение багов и добавление функционала тратится мало времени и средств, все вкладываются в бюджет.

Но скрам — формализованная методология, и для некоторых проектов применять ее не так просто.

Вот явные недостатки скрама:

  • не подходит для проектов с туманными требованиями к конечному продукту, т.к. заказчик может наращивать функционал до бесконечности;
  • сложно научиться правильно расставлять приоритеты и оценивать задачи;
  • успех проекта слишком зависит от скрам-мастера;
  • скрам сложно использовать в крупных проектах, приходится масштабировать методологию и вводить собрания scrum of scrums. В таких митингах участвуют представители нескольких скрам-команд, работающий над связанными продуктами.
В нашем проекте сразу пытались практиковать двухуровневый скрам: глобальный и на уровне подразделений (sales, маркетинг, финансы и т.д.). Сначала руководители отделов определяли задачи на глобальном планировании, потом они спускались на уровень отдела. У нас получалось плохо — конечный результат был слишком размыт.
  • высокоэффективные команды расслабляются и перестают совершенствоваться. Индикатор наличия проблемы — снижение динамики производительности спринтов. Скрам-мастер должен донести серьезность проблемы до команды. Если команда не выходит из тупика самостоятельно, вмешивается руководство: нанимаются новые сотрудники, проводится ротация кадров.

Scrum-компании

По данным отчета Scrumalliance 70% IT компаний используют скрам. Среди них такие гиганты как Google, Amazon, Salesforce.com, Microsoft, Adobe.

Salesforce.com

Американская , ведущий разработчик CRM систем для бизнеса. Ее продуктами пользуется 150 тыс. компаний. Много лет использует гибкие методологические подходы во главе со скрамом, создав на его основе уникальный гибрид из нескольких фреймворков agile.


Применяет гибкие методики с 1999 года, и к 2004 году несколько команд разработчиков уже использовали скрам. К 2009 большая часть разработчиков была целенаправленно переведена на скрам.

Spotify

Цифровой музыкальный сервис, который успешно конкурирует с гигантами Google, Apple и Amazon. Своим конкурентным преимуществом Spotify считает максимальное использование возможностей скрам. Руководство компании нанимает лучших скрам-коучей на роль скрам-мастеров. Работа ведется маленькими автономными командами, к которым относятся как к стартапам.


Применяет скрам с 2008 г., 4 тыс. разработчиков в сотнях команд по 10-12 человек трудятся по методологии скрам, выпуская новый продукт каждые три недели. Корпорации удалось успешно масштабировать скрам под свои размеры.

То, что скрам используется не только в IT сфере, демонстрирует проект — инициатива учителя химии в школе нидерландского городка Алфен-ан-ден-Рейн. При поддержке делового сообщества в Голландии был создан фонд eduScrum, который обучает учителей использовать скрам на уроках. Школьники, работающие в скрам-командах, учатся лучше и с большим удовольствием, чем сверстники.


Проект «Страж» для ФБР

Внедрение скрам методологии спасло от краха многомиллионный проект американского правительства — единую базу данных «Страж» для ФБР. «Страж» был второй попыткой разработать единую информационную систему для ФБР. Первая провалилась, не проработав и дня.

«Страж» начал создаваться в 2005 г. по каскадной модели. На проект было выделено 4 года и 450 млн дол. В начале пятого года компания-подрядчик выполнила половину работ и израсходовала 95% бюджета. По оценкам экспертов ей бы потребовалось еще 350 млн. и 6-8 лет для завершения проекта.

Когда в начале 2010 г. каскадную модель сменила работа в скрам-командах, производительность разработчиков увеличилась втрое и 2 июля 2012 года «Стражем» пользовались сотрудники ФБР во всех штатах.

Приложения

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



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

Worksection сейчас дорабатывает и тестирует перед внедрением (на октябрь 2017) фишки для scrum: диаграммы сгорания задач и бэклог — чисто скрамовские инструменты. Возможно будет и покер планирования. Наш консультант в этом деле,

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

Scrum («скрам») - практическое воплощение Agile-принципов. Это подход, позволяющий, по словам его создателя Джеффа Сазерленда (Jeff Sutherland), делать в два раза больше за вдвое меньшее время.

Вы, вероятно, хотели бы знать больше об Agile и Scrum, чтобы быть в теме. Мир IT уже невозможно представить без Agile, и эта «зараза» стремительно распространяется на традиционные офлайновые бизнесы.

Чтобы быть в курсе, вы можете прочитать новую книгу Джеффа Сазерленда «Scrum. Революционный метод управления проектами». Это займёт несколько дней. Альтернативный способ быстрого чтения умных американских бизнес-книг - прочитать краткую выжимку , пересказ, саммари от нашего партнёра - компании Smart Reading. Это займёт полчаса, и вы обязательно усвоите все ключевые идеи без воды.

Scrum появился около 20 лет назад как эффективный метод увеличения продуктивности при разработке программного обеспечения. Завоевав популярность в Кремниевой долине, Scrum быстро получил признание в других отраслях бизнеса. Его создатели Кен Швабер (Ken Schwaber) и Джефф Сазерленд изучили передовой мировой опыт успешных компаний и пришли к выводу, что «водопадная» модель, по которой прежде строилась работа над IT-проектами, безнадёжно устарела. Она не отвечала ожиданиям клиентов, поскольку работа продвигалась медленно, в строгом соответствии с долгосрочным планом, и часто на выходе получался не тот продукт, который на самом деле был нужен.

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

Познакомьтесь с ключевыми принципами Scrum, и, возможно, тема заинтересует вас настолько, что не прочитать книжку Сазерленда вы уже не сможете.

Люди важнее процессов

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

Scrum - это про счастливых сотрудников, а не про бесконечно стройные и дорогие процессы.

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

Продукт важнее документации

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

Scrum - это про смысл, а не про создание максимума бумажек ради создания максимума бумажек.

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

Сотрудничество с клиентом важнее идеально составленного контракта

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

Scrum - это про понимание и сотрудничество, а не про юристов и прикрывание мягкого места.

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

Способность меняться важнее следования планам

Говорят, самое страшное - всю жизнь делать продукт, которым в итоге никто не воспользовался. Представьте, вы три года разрабатывали что-то, что потом не полетело, так как оказалось невостребованным на рынке. Виной тому грандиозные планы, составленные на старте, и точное следование им. Что, если план на три года был ошибочен? Вы потратите кучу денег и останетесь у разбитого корыта.

Scrum - это про науку и смысл, а не про веру и необоснованные надежды.

Как же быть? По Scrum, вы должны иметь большую цель, но идти к ней итеративно, не пытаясь предугадать каждый свой шаг в далёком будущем. Небольшими итерациями по 2–4 недели двигайтесь к цели, оборачивайтесь назад, делайте ретроспективу, оценивайте сделанное, отказывайтесь от результата последней итерации, если он не приближает вас к цели. Таким образом можно избежать глупых больших провалов. Итеративность - это научный подход. Надежды на правильность больших планов - это, скорее, похоже на религию.

Должности и титулы не важны - важно то, что вы делаете

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

Scrum - это про доверие, а не про силу и насилие.

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

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

Итак, узнать досконально всё о Scrum можно из книги его создателя Джеффа Сазерленда. В качестве альтернативы можно за 20–30 минут прочитать саммари этой книги в электронной библиотеке Smart Reading.

Лайфхакер и Smart Reading предлагают попробовать этот новый способ быстро узнавать всю суть очень умных, но весьма толстых книг. На сайте Smart Reading вас ждёт ещё несколько сотен саммари великих книг, которые, возможно, вы никогда полностью не прочтёте.

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

Scrum («скрам») - практическое воплощение Agile-принципов. Это подход, позволяющий, по словам его создателя Джеффа Сазерленда (Jeff Sutherland), делать в два раза больше за вдвое меньшее время.

Вы, вероятно, хотели бы знать больше об Agile и Scrum, чтобы быть в теме. Мир IT уже невозможно представить без Agile, и эта «зараза» стремительно распространяется на традиционные офлайновые бизнесы.

Чтобы быть в курсе, вы можете прочитать новую книгу Джеффа Сазерленда «Scrum. Революционный метод управления проектами». Это займёт несколько дней. Альтернативный способ быстрого чтения умных американских бизнес-книг - прочитать краткую выжимку , пересказ, саммари от нашего партнёра - компании Smart Reading. Это займёт полчаса, и вы обязательно усвоите все ключевые идеи без воды.

Scrum появился около 20 лет назад как эффективный метод увеличения продуктивности при разработке программного обеспечения. Завоевав популярность в Кремниевой долине, Scrum быстро получил признание в других отраслях бизнеса. Его создатели Кен Швабер (Ken Schwaber) и Джефф Сазерленд изучили передовой мировой опыт успешных компаний и пришли к выводу, что «водопадная» модель, по которой прежде строилась работа над IT-проектами, безнадёжно устарела. Она не отвечала ожиданиям клиентов, поскольку работа продвигалась медленно, в строгом соответствии с долгосрочным планом, и часто на выходе получался не тот продукт, который на самом деле был нужен.

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

Познакомьтесь с ключевыми принципами Scrum, и, возможно, тема заинтересует вас настолько, что не прочитать книжку Сазерленда вы уже не сможете.

Люди важнее процессов

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

Scrum - это про счастливых сотрудников, а не про бесконечно стройные и дорогие процессы.

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

Продукт важнее документации

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

Scrum - это про смысл, а не про создание максимума бумажек ради создания максимума бумажек.

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

Сотрудничество с клиентом важнее идеально составленного контракта

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

Scrum - это про понимание и сотрудничество, а не про юристов и прикрывание мягкого места.

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

Способность меняться важнее следования планам

Говорят, самое страшное - всю жизнь делать продукт, которым в итоге никто не воспользовался. Представьте, вы три года разрабатывали что-то, что потом не полетело, так как оказалось невостребованным на рынке. Виной тому грандиозные планы, составленные на старте, и точное следование им. Что, если план на три года был ошибочен? Вы потратите кучу денег и останетесь у разбитого корыта.

Scrum - это про науку и смысл, а не про веру и необоснованные надежды.

Как же быть? По Scrum, вы должны иметь большую цель, но идти к ней итеративно, не пытаясь предугадать каждый свой шаг в далёком будущем. Небольшими итерациями по 2–4 недели двигайтесь к цели, оборачивайтесь назад, делайте ретроспективу, оценивайте сделанное, отказывайтесь от результата последней итерации, если он не приближает вас к цели. Таким образом можно избежать глупых больших провалов. Итеративность - это научный подход. Надежды на правильность больших планов - это, скорее, похоже на религию.

Должности и титулы не важны - важно то, что вы делаете

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

Scrum - это про доверие, а не про силу и насилие.

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

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

Итак, узнать досконально всё о Scrum можно из книги его создателя Джеффа Сазерленда. В качестве альтернативы можно за 20–30 минут прочитать саммари этой книги в электронной библиотеке Smart Reading.

Лайфхакер и Smart Reading предлагают попробовать этот новый способ быстро узнавать всю суть очень умных, но весьма толстых книг. На сайте Smart Reading вас ждёт ещё несколько сотен саммари великих книг, которые, возможно, вы никогда полностью не прочтёте.

Scrum, наверное, самая популярная методология разработки программного обеспечения. Что же представляет собой Scrum? Это своеобразный каркас, позволяющий успешно решать проблемы разработки ПО высокой сложности и значимости. Данная методология обладает замечательной гибкостью функционала, что позволяет проводить такие тонкие настройки, что дистрибутивы программы, установленные на компьютерах разных разработчиков, могут кардинально отличаться друг от друга. Также Scrum является доступной и понятной, но одновременно сложной в глубоком освоении. Методология Scrum в используется довольно успешно уже не один год. Рассмотрим основы данной методологии.

Роли в проекте

Стандартный Scrum включает в себя три базовые роли. О них и поговорим подробнее:

  • Product owner (PO). Это своеобразное связующее звено, с помощью которого происходит «общение» команды разработчиков проекта с заказчиком. Главной целью РО является повышение ценности проекта и деятельности команды в глазах заказчика. Метод достижения данной цели – Product Backlog, содержащий отсортированные в порядке важности рабочие задачи проекта (Bug, Task, Story и некоторые другие).
  • Scrum master (SM). Цель, которую преследует данная роль, – помощь команде проекта в повышении эффективности ее работы. Достигается она путем устранения препятствий и проблем, возникающих в то время, когда происходит разработка проекта, а также дополнительной мотивацией персонала.
  • Development team (DT). Команда разработки, которая включает в себя квалифицированных сотрудников, работающих над непосредственной реализацией проекта. Scrum Guide (руководство по работе в данной программе) рекомендует набирать в команду не более 7-8 человек. Меньшая численность команды грозит недостаточной производительностью труда. Большая – высокими расходами на поддержание коммуникации между членами команды.

Для успешной работы над проектом требуется 7-8 человек: при меньшей численности производительность труда будет недостаточна, при большей – возникают проблемы с коммуникацией.

Процесс Sprint – основа методологии

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

Перед запуском очередного Sprint осуществляется Sprint Planning, целью которого является оценка состояния Product Backlog и создание Sprint Backlog, содержащего набор задач для текущего этапа Sprint. Главной особенностью любого Sprint является наличие четко обозначенной цели, которую необходимо достигнуть за отведенный срок.

Во время работы над проектом ежедневно проводится так называемый Daily Scrum («планерка»), на котором каждый участник проекта оценивает свою вчерашнюю деятельность, а также составляет план текущего рабочего дня. Основополагающей задачей Daily Scrum является оценка статуса проекта и прогресса текущего Sprint, а также ранний мониторинг проблем, с которыми может столкнуться команда разработчиков проекта. По завершении каждого Sprint осуществляются Sprint Review и Sprint Retrospective, которые определяют степень эффективности команды в прошедшем Sprint, а также прогнозируют производительность работы над проектом в следующем Sprint.

Некоторые особенности методологии

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

  • Возникающие сбои в работе Scrum зачастую просто являются результатом неверного применения функционала программы. Эта методология очень чувствительна к максимально точной организации рабочего процесса, основные принципы которой описаны в документе под названием Scrum Guide.
  • Scrum должен применяться для управления проектами, требования к которым не вступают в противоречия с идеологией данной программы. Крайне не рекомендуется использование Scrum в fixed-cost или fixed-time проектах. Так, суть данной методологии подразумевает возможность внесения изменений в проект на любом этапе его разработки.
  • Методология Scrum ориентирована на потребности клиента, и ее можно адаптировать к различным типам работы.
  • Важной особенностью и преимуществом является возможность выдавать потенциально рабочий и функциональный продукт по завершении каждого Sprint.
  • Так как Scrum является членом программной «семьи» Agile, в ее функционале не предусмотрена возможность планирования коммуникаций и реакции на риски. Это сильно препятствует и даже делает невозможным какое-либо противодействие нарушениям правил.
  • Продуктивная работа в Scrum должна проводиться профессиональной и многофункциональной командой проекта, создание которой сопряжено с немалыми затратами на отбор и обучение персонала.

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