Введение

Фреймворк управления [[Файл:Scrum Agile events. pnggadthumbgadgadScrum Agile events, основанный на 2020 Scrum Guide Подход Scrum к разработке продукта включает в себя перевод полномочий принятия решений на операционный уровень. В отличие от последовательного подхода к разработке продукта, Scrum - это итеративная и постепенная структура для разработки продукта. Scrum позволяет получать постоянную обратную связь и гибкость, требуя от команд самоорганизации, поощряя физическое совместное размещение или тесное онлайн-сотрудничество, и требуя частого общения между всеми членами команды. Гибкий и полунепланированный подход Scrum частично основан на понятии волатильности требований, что заинтересованные стороны изменят свои требования по мере развития проекта.

История

Использование термина "скрам" в разработке программного обеспечения произошло в 1986 году в статье Harvard Business Review под названием "Новая игра по разработке новых продуктов" Хиротака Такеучи и Икудзиро Нонака. Основываясь на тематических исследованиях производственных компаний в автомобильной, копировальной и печатной промышленности, авторы изложили новый подход к разработке продукта для повышения скорости и гибкости. Они назвали это подходом регби, поскольку процесс включает в себя одну кросс-функциональную команду, работающую на нескольких перекрывающихся фазах, в которых команда "пытается пройти расстояние как единое целое, передавая мяч взад и вперед". Авторы позже разработали Scrum в своей книге "Компания создания знаний". В начале 1990-х Кен Швабер использовал то, что позже стало Scrum в его компании, Advanced Development Methods. Джефф Сазерленд, Джон Скумниоталес и Джефф МакКенна разработали аналогичный подход в Easel Corporation, ссылаясь на подход с термином "скрум". Сазерленд и Швабер позже работали вместе, чтобы интегрировать свои идеи в единую структуру, формально известную как Scrum. Швабер и Сазерленд тестировали Scrum и постоянно улучшали его, что привело к публикации исследовательской работы в 1995 году и Манифеста по разработке гибкого программного обеспечения в 2001 году. Швабер также сотрудничал с Бабатунде Огуннайке в исследовательской станции DuPont и Университете Делавера для разработки Scrum. Огунаике считал, что проекты по разработке программного обеспечения часто могут потерпеть неудачу, когда изменяются начальные условия, если управление продуктом не укоренено в эмпирической практике. Швабер покинул Scrum Alliance в конце 2009 года и впоследствии основал Scrum. Профессиональная Scrum-аккредитация С 2009 года Швабер и Сазерленд опубликовали и обновили публичный документ под названием "Руководство по Scrum". Он был пересмотрен 6 раз, текущая версия - ноябрь 2020 года.

Команда Scrum

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

Мастер по Scrum

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

События после спринта

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

Усовершенствование отставания

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

Увеличение

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

График сгорания

thumbgadgetобразный график сжигания для завершенного спринта, показывающий оставшиеся усилия в конце каждого дня. thumbgadget385x385px Часто используется в Scrum, график сжигания - это публично отображаемый график, показывающий оставшуюся работу. Он обновляется каждый день и предоставляет быструю визуализацию для справки. Горизонтальная ось графика показывает оставшиеся дни, а вертикальная ось показывает количество работы, оставшееся на каждый день. Во время планирования спринта идеальная диаграмма выгорания наносится на график. Затем, во время спринта, разработчики обновляют график с оставшейся работой, поэтому график обновляется день за днем, показывая сравнение между фактическим и прогнозируемым.

Скорость

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

Ограничения

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

Адаптации

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

Скрамбан

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

Скрам из скрамов

Scrum of Scrums - это техника для работы с Scrum в масштабе, для нескольких команд, координирующих работу над одним и тем же продуктом. Scrum of Scrums ежедневные Scrum собрания включают в себя послов, выбранных из каждой отдельной команды, которые могут быть либо разработчиками, либо Scrum Master. Как инструмент координации, Scrum of Scrums позволяет командам совместно работать над рисками, препятствиями, зависимостями и предположениями (RIDA), которые могут отслеживаться в собственном отсталости.

Крупномасштабная скрум

Большой масштаб Scrum - это система разработки продукта, которая масштабирует Scrum с помощью различных правил и руководящих принципов, разработанных Басом Водде и Крейгом Ларманом. В рамках существуют два уровня: первый уровень, предназначенный для восьми команд, и второй уровень, известный как "LeSS Huge", который может вместить разработку сотен разработчиков.