Scrum
Scrum (Скрам) — методология управления проектами для гибкой разработки программного обеспечения. В отличие от каскадного подхода, где требования формализуются и фиксируются в самом начале проекта, использование методологи Scrum позволяет заказчику изменять требования к функциональности и свойствам системы непосредственно в процессе ее разработки. При использовании методологии Scrum разработка программного продукта ведется небольшими итерациями (2-4 недели). По окончании каждой из них заказчику передается готовый продукт, а приоритеты разработки анализируются и при необходимости пересматриваются. В ходе каждой итерации осуществляются все работы по сбору требований, дизайну, кодированию и тестированию продукта.
Содержание |
Scrum – наиболее распространенная на рынке гибкая (Agile) методология разработки программного обеспечения. В противоположность традиционному «принципу водопада», согласно которому вся система сдается заказчику одновременно в самом конце проекта, процесс Scrum построен таким образом, что команда разработчиков постепенно добавляет функциональность к системе, работая относительно короткими итерациями, и с определенной периодичностью сдает заказчику работающий код, имеющий реальную ценность для бизнеса. Тем самым минимизируются проектные риски и увеличивается возврат на инвестиции. Обширные исследования показывают, что в случае корректного применения Scrum помогает достичь значительного прироста производительности труда программистов, даже при работе больших команд, участвующих в крупномасштабных, глобально распределенных проектах.
2017: Новая версия руководства по Scrum
7 ноября 2017 года, Кен Швабер и Джеф Сазерленд опубликовали новую версию «Руководства по Scrum». Подготовку русскоязычной версии руководства организовала компания Unusual Concepts.
Главные изменения коснулись областей, где может применяться Scrum. Список существенно расширен и дополнен: теперь Scrum официально может использоваться абсолютно везде, если разработка идет в условиях неопределенности. Scrum можно применять в любой отрасли. За период с 1993 по 2017 годы Scrum применялся в огромном количестве разных контекстов:
- управлении организациями (движение со-автора первой книги по Scrum и «Манифеста Аджайла» Майка Биддла Enterprise Scrum);
- обучении (eduScrum движение, которое даже реализовало свою версию «Руководства по Scrum» для обучающих проектов);
- разработки автомобиля;
- маркетинге и продажах;
- управлении профессиональным развитием.
Эти контексты стали так многочисленны, что возникла необходимость расширить зону применимости Scrum в официальном описании фреймворка. В новой версии Руководства есть такие строки:
«Scrum был изначально разработан для разработки и управления продуктами и их разработки. С начала девяностых Scrum активно используется по всему миру, чтобы:Известный писатель-фантаст Сергей Лукьяненко выступит на TAdviser SummIT 28 ноября. Регистрация
- исследовать и выявлять жизнеспособные рынки, технологии и возможности продуктов;
- разрабатывать продукты и улучшать их;
- выпускать продукты и их обновления по несколько раз в день;
- разрабатывать и поддерживать облачные технологии (онлайн, безопасно, по требованию) и другие среды для использования продуктов;
- поддерживать и обновлять продукты.
Scrum применялся для разработки программного обеспечения, оборудования, встроенного программного обеспечения, автономных транспортных средств и микробиологических исследований. Scrum использовался в школах, правительстве, маркетинге, в управлении организациями — повсеместно и повседневно в жизни отдельных людей и сообществ».
Scrum можно использовать на всех стадиях работы над продуктом. Важно, что слова «разрабатывать» и «разработка», которые часто используются в «Руководстве по Scrum», означают не только разработку, а также и исследование, выпуск, эксплуатацию и поддержку любых сложных продуктов. Это значит, что Scrum подходит для любой стадии работы над продуктом.
Представьте себе компанию в самом начале пути. Продукта еще нет, только ряд предположений, которые нужно проверить. На этой стадии Scrum можно использовать как движок для проверки гипотез, а результатом будет постоянно обновляемая бизнес-модель будущего продукта.
Когда успешная бизнес-модель будет найдена, Scrum можно применять для создания первой версии продукта. Затем Scrum подойдет для создания обновлений и улучшений продукта. Отдел клиентской поддержки тоже может работать по Scrum, тогда результатом работы итерациями может быть улучшение качества сервиса поддержки или улучшение документации.
Универсальных решений не бывает: Scrum по-прежнему не годится для предприятий конвейерной сборки, армии и большинства госструктур. Но поможет, если в вашей работе много неопределенности, конкурентный рынок или нужно создать инновационные продукты. Вот только часть «показаний» к применению Скрама:
- рынок быстро меняется, а спрос вас часто удивляет;
- сложно прогнозировать конечный результат, вы постоянно не попадаете в запросы клиентов;
- много меняющихся факторов: технологии, люди, требования к продуктам;
- вам нужна скорость, чтобы создавать продукты быстрее конкурентов;
- вы заняты поиском нестандартных решений.
Если у вас есть хотя бы одно из этих «показаний», пробовать нужно.
Если вы хотите попробовать Скрам в действии и получить его преимущества, определите ваш продукт, а потом запускайте движок Scrum. При этом продуктом может быть все что угодно:
- конференция, которую вам нужно организовать через полгода;
- предстоящий отпуск с семьей;
- ремонт квартиры;
- вы и ваша персональная бизнес-модель;
- отдельный бизнес-юнит, которым вы управляете;
- компания целиком.
Scrum — это фреймворк, который помогает создавать, выпускать и поддерживать продукты в сложных условиях. Не бойтесь пробовать его в неожиданных контекстах, сами авторы Scrum не знали, как широко он будет применяться. Потребовались годы и множество подтверждений, чтобы быть уверенным: это действительно работает.
1995: Появление Scrum
Scrum появился в 1995 году как фреймворк, который помогал разработчикам ПО быстро и эффективно разрабатывать программное обеспечение. Процесс Scrum был впервые описан в статье Джеффа Сазерленда и Кена Швабера, написанной для конференции в 1995 году.
Процедура сертификации Scrum-компетенции (Scrum Capability Assessment)
Процедура оценки Scrum-компетенции разработана компанией Scrum Inc. как инструмент совершенствования производительности и качества процессов разработки ПО. Это систематический последовательный процесс, предполагающий доскональное исследование всех аспектов применения принципов и практик методологии Scrum в компании и призванный реально оценить Agile-компетенцию конкретных проектных команд. В результате скрупулезной количественной оценки многих десятков параметров компании присваивается суммарный балл Scrum-компетенции, а также предоставляется подробный список конкретных рекомендаций по совершенствованию процесса разработки и управления.
Смотрите также
- Agile software development
- Agile в управлении государственными проектами
- DevOps Методология
- Канбан (Kanban)
- Lean
- Суперсеты, эстафеты и гонки на скоростных спорткарах – спортивный agile подход к процессу выполнения проекта