Scrum. Революционный метод управления проектами

16
  • 9
  • 10
  • 12
  • 13
  • 14
  • 16
  • 18
  • 24

Привычное мироустройство дает трещину

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

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

Потому, что реальность непредсказуема. Планировать дальше, чем на несколько шагов, нет смысла. Чем дальше — тем больше реальные дела отклоняются от запланированных. А корректировка плана требует много времени и средств. Да еще волокита с этими огромными томами документации, которые практически никто никогда не читает. В итоге все отклонения от плана становятся заметны лишь в конце работы. И команда начинает все спешно переделывать.

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

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

Истоки и рождение Scrum

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

Позже эти навыки пригодились ему и в гражданской жизни. Благодаря им он смог добиться успеха в научной деятельности. А затем создал на их основе метод Scrum.

Другой важной основой этого метода является принцип производства PDCA, введенный в Японии в пятидесятые годы. Аббревиатура складывается из четырех слов, которые переводятся как «планировать ― действовать ― проверять ― корректировать». Каждый спринт в Scrum-команде состоит из последовательности именно этих действий. Это помогает команде улучшать качество своей работы от спринта к спринту.

Не менее важным для метода Scrum является принцип «сюхари», применяемый в айкидо. Он состоит из трех шагов:

  • «сю» ― просто повторять движения за мастером, привыкая к ним;
  • «ха» ― после того, как движения изучены, можно привносить в них свои элементы, импровизировать;
  • «ри» ― движения становятся неотъемлемой частью человека, он буквально живет ими. На этом этапе человек способен изменить всю систему, внести в нее что-то кардинально новое.

Метод Scrum легче всего постичь именно по этой схеме. Для него необходима постоянная практика вместе с командой. Чем больше практики, тем выше мастерство Scrum.

Команды

Для полного успеха метода Scrum важна сплоченная команда. Обратите внимание на три важные характеристики хорошей команды:

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

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

Важным участником команды является скрам-мастер. Это не начальник в привычном смысле слова. Его обязанность ― узнавать о препятствиях на пути команды и устранять их. Цель скрам-мастера ― максимально улучшить работу команды.

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

Скрам-мастер задает каждому участнику три вопроса:

  • Что ты делал вчера?
  • Что ты будешь делать сегодня?
  • Что мешает твоей работе?

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

Потери ― это преступление

Отличие метода Scrum от «каскадной» модели ― в его экономичности. Он позволяет экономить и время, и ресурсы. Все это благодаря особому ритму работы.

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

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

В ходе работы необходимы постоянные тесты и проверки. Ошибки должны быть сведены к минимуму. Каждую ошибку нужно исправлять сразу же после выявления. Исправления в конце работы даются труднее и в разы дольше по срокам.

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

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

Планируйте реальность, а не пустую мечту

Как уже говорилось выше, главная проблема «каскадной» модели ― долговременный план. Такой план довольно быстро начнет расходиться с реальным положением дел. И если вы продолжите следовать плану, а не реальности, в итоге вас будет ждать либо крах, либо куча долгой работы по исправлению ошибок.

Метод Scrum предполагает постепенное планирование. Это значит, что вы не расписываете весь ход работ от начала и до конца проекта. А планируете только на один спринт.

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

Приоритетные функции продукта ― те, которые:

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

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

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

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

Короткие истории

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

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

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

Если в оценках расходятся меньше двух человек, то считается среднее арифметическое всех оценок. А если от трех и более ― нужно проводить второй оценивающий тур. Но перед этим двое оценщиков должны аргументировать свой выбор. Это те, кто положил наименьшую и наибольшую цифры. И только после их аргументации проходит второй тур голосования. Обычно в нем все оценивают работу примерно одинаково.

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

Готовая и верно сформулированная история должна соответствовать нескольким критериям:

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

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

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

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

Например, в первый спринт команда выполнила истории в целом на 30 очков сложности. И осталось еще работы на 360 очков. Разделив 360 на 30, мы получим число 12. Значит, команда выполнит проект за 12 спринтов. Если спринт длится неделю, то это будет три месяца. А учитывая, что команда Scrum от спринта к спринту улучшает свою работу, этот срок может оказаться еще меньше.

Делать все в открытую

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

  1. Бэклог ― истории, которые нужно сделать за спринт.
  2. В работе ― сюда помещают стикер истории, когда кто-то начинает над ней работать. Он пишет на стикере свое имя.
  3. На рассмотрение ― когда история практически готова, но нуждается в тестировании и оценке заказчика.
  4. Сделано ― в эту колонку стикеры помещаются уже в конце спринта. Результат каждой истории показывают заказчику. И он говорит, тот ли это продукт, на который он рассчитывал, или нет. Он вносит свои коррективы, и команда начинает с них следующий спринт.

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

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

Выпуск продукта

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

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

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

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

Изменить мир

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

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

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

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

Иначе говоря, Scrum ― это действительно универсальный метод изменения любой командной работы. И где бы его ни использовали, он повсюду показывает только высокие результаты. За этим методом будущее