Полное руководство по Scrum-разработке
9 марта 2021 г.
Разработка Scrum бросает вызов традиционным методам управления разработкой программного обеспечения. Это предотвращает микроуправление со стороны начальства и заставляет разработчиков нести ответственность за свою работу. Конечным результатом является программный продукт, который выглядит удовлетворительно, имеет все требуемые функции и работает так, как ожидалось. В этой статье мы рассмотрим разработку Scrum, ее структуру и то, как элементы Scrum работают вместе, чтобы создать основу для разработки программного обеспечения.
Что такое Скрам-разработка?
Scrum — это Agile-метод управления разработкой программного обеспечения. Вместо того, чтобы придерживаться традиционных методов управления, он дает команде разработчиков свободу решать свои проблемы без участия руководства. Вместо этого он полагается на то, что каждый является командным игроком и вносит свой вклад в текущую проблему, чтобы прийти к удовлетворительному решению.
Scrum позаимствовал свое название у игры в регби. Схватка – это построение игроков, в котором игроки берутся за руки и опускают головы, чтобы толкнуть аналогичную группу игроков соперника. Мяч для регби вбрасывается в схватку, и игра начинается. Никто не несет ответственности за то, как развивается игровой процесс, и именно на этой конкретной игре в регби основана разработка Scrum.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Большинство моделей разработки программного обеспечения основаны на командной иерархии и поступательном развитии. Эта модель состоит из возрастающих уровней отчетности и ответственности, которые начинаются снизу и поднимаются вверх к уровню управления. Сотрудники внизу выполняют свои задачи и обязанности и сосредотачиваются на соблюдении определенной даты завершения. Руководство несет ответственность за то, чтобы работа продвигалась вперед, и отчитывается перед высшим руководством о ходе выполнения. Таким образом, для доставки продукта к определенной дате соблюдаются предсказуемый рабочий процесс и цепочка команд.
Scrum по-другому подходит к разработке программного обеспечения, создавая атмосферу Agile-разработки, которая обходится без традиционного метода разработки программного обеспечения. В модели разработки проекта Scrum команда разработчиков освобождается от управленческого надзора и получает контроль над процессом разработки. Это дает команде возможность наилучшим образом решать свои проблемы и определять собственный график того, сколько времени потребуется для достижения конечной цели.
Что такое глоссарий Scrum?
Глоссарий Scrum состоит из терминов, являющихся кратким описанием элементов разработки Scrum. Некоторые из них считаются обязательными для использования, например, бэклог продукта и спринты, в то время как другие слова добавляются, потому что они обычно используются в сочетании с элементами Scrum. Некоторые из терминов включают:
Диаграмма Burndown: показывает, сколько работы осталось в невыполненной работе.
Ежедневный скрам: объясняет план на следующий рабочий день в период спринта.
Бэклог продукта: указывает упорядоченный список работ, которые необходимо выполнить для поддержки продукта.
Технический долг: относится к накладным расходам на обслуживание продукта.
Термины глоссария присущи использованию Scrum в качестве модели разработки. Они представляют собой словесный и письменный метод сокращения программного обеспечения, который сообщает читателю, что происходит, одним или двумя словами, а не многими. Использование слов в глоссарии может сэкономить время и помочь убедиться, что все в команде понимают друг друга.
Основы Scrum-разработки
Разработчики Scrum считали, что традиционные методы разработки программного обеспечения являются властными и не способствуют созданию качественного программного обеспечения. Чрезмерный контроль над командой разработчиков со стороны руководства может замедлить процессы, увеличить общую стоимость производства и лишить команду возможности выпускать наилучший продукт.
Scrum-разработка освобождает команду разработчиков от структуры управления и дает всем участникам разработки контроль над своими ролями в разработке. Команда разработчиков разбивается на несколько групп, которые сосредотачиваются на заданной задаче, а затем встречаются с другими группами, разрабатывающими свою часть продукта, чтобы обсудить прогресс и интеграцию. Команды более гибки, могут вкладывать больше творчества в продукт и сосредоточиться на выпуске качественного программного обеспечения.
Фреймворк разработки Scrum
Структура разработки Scrum снижает роль руководства в повседневной деятельности команды разработчиков программного обеспечения и позволяет команде принимать собственные решения относительно задач в установленные сроки, известные как спринт. Существует множество процессов и методов, которые можно применять и использовать по мере необходимости в рамках структуры, а не по требованию руководства.
Структура процесса Scrum начинается с обзора спринта, переходит к ретроспективе спринта, а затем к оценке бэклога продукта и приоритетных функций в продукте. Работа продвигается по структуре, и спринт регулярно пересматривается, чтобы убедиться, что цели достигнуты и продукт будет готов в запланированный день выпуска. Вот разбивка фреймворка:
Основные компоненты Scrum
Артефакты Scrum определяют общий процесс разработки. Они включают:
Основной артефакт: это разрабатываемый продукт.
Бэклог продукта: Бэклог создается в начале процесса разработки.
Диаграммы выгорания спринта и релиза. Диаграммы выгорания спринта и релиза отслеживают, сколько работы осталось в спринте, который ведет к выпуску продукта.
Ценности и столпы Scrum
Когда все ценности уважаются и воплощаются Скрам-командой, появляются столпы Скрама.
Ценности Scrum включают в себя:
Обязательство
Храбрость
Фокус
Открытость
Уважать
Столпы Scrum включают в себя:
Прозрачность
осмотр
Приспособление
Разработка Scrum вращается вокруг каждого, кто делает все возможное и посвящает себя проекту со всем, что у него есть. Команды освобождаются от управленческого надзора, а это означает, что все сотрудники должны нести ответственность за работу, намеченную спринтом. В идеале все должны согласиться сосредоточиться на работе, открыто говорить о проблемах, связанных с выполнением работы, и уважать друг друга как способных и независимых личностей.
Включение ролей в разработку Scrum
Сотрудники, занимающиеся разработкой программного обеспечения, обычно имеют традиционные должности, определяющие их должностные функции. Однако эти традиционные титулы не совпадают со Scrum-титулами владельца продукта, команды разработчиков, Scrum-команды и Scrum-мастера. Каждая традиционная роль может легко вписаться в рамки Scrum с небольшим изменением их ожиданий.
Кто-то, кто был лидером команды, может легко вписаться в роль мастера Scrum, в то время как команды Scrum — это небольшие группы разработчиков, которые вместе работают над одним проектом. Некоторые могут обнаружить, что они могут иметь несколько титулов разработки Scrum в течение спринта и менять роли по мере необходимости.
Создание Scrum-спринта
Спринт — это основа модели разработки Scrum. Он начинается с собрания по планированию спринта, на котором вся команда собирается вместе, чтобы определить, какую работу необходимо выполнить во время спринта. Это известно как отставание. Вместо того, чтобы рассматривать работу, которую необходимо выполнить, в виде контрольного списка, работа рассматривается как невыполненная работа, которую необходимо очистить, прежде чем переходить к следующему этапу проекта.
Спринт длится от недели до месяца в зависимости от количества необходимого времени. Идея спринта состоит в том, чтобы уложиться в кратчайшие сроки, получая при этом максимум усилий от сотрудников. Scrum предпочитает удерживать спринты до одного месяца для достижения целей. Тем не менее, основная концепция Scrum заключается в том, чтобы быть гибким и гибким. Если требуется больше времени, необходимо создать новый спринт.
Цель спринта задается при создании бэклога продукта, но она не является абсолютной. Если необходимо скорректировать бэклог продукта или спринт, команда может сделать это в любое время.
Таймбокс создается для спринта скрам-мастером. Роль скрам-мастера состоит в том, чтобы поддерживать поле, напоминать команде разработчиков о том, сколько времени осталось в спринте, и следить за тем, чтобы команда следовала лучшим практикам и процессам, которые были установлены в начале спринта. Скрам-мастер также общается с владельцем продукта и информирует их о ходе работы команды разработчиков.
Элементы спринта
Цель спринта — завершить продукт, который можно использовать и который может быть выпущен после завершения. Спринты во время цикла разработки длятся одинаковое количество времени, независимо от того, есть ли один спринт или несколько спринтов. Если один спринт длится две недели, то каждый последующий спринт также длится две недели. Когда заканчивается один спринт, сразу после него начинается следующий спринт.
Спринт состоит из планирования спринта, которое может длиться до восьми часов, ежедневных схваток или обзоров проделанной работы и того, что необходимо сделать, самой работы, обзора в конце спринта и ретроспективы спринта, которая выглядит вернуться к работе, проделанной во время спринта.
Спринты поставляются с набором правил, которым необходимо следовать после запуска спринта. Эти правила включают в себя:
Никакие изменения не допускаются, если они ставят под угрозу цель спринта.
Цели качества не могут быть снижены.
Объем проекта может уточняться и пересматриваться между командой разработчиков и владельцем продукта по мере продвижения работы и раскрытия информации.
Спринт — это проект, а проект — это спринт. Тем не менее, каждый спринт имеет определенную направленность, и он должен придерживаться этой направленности от начала до конца. Каждый спринт может длиться только один календарный месяц. Считается, что более длительный временной горизонт приводит к тому, что группы в спринте теряют концентрацию и рискуют отстать в работе. Если после первоначального спринта необходим еще один спринт, команда может начать с нового собрания спринта, чтобы оценить и определить, что должно произойти дальше для дальнейшей разработки продукта. Скрам-мастер отслеживает весь прогресс и связывается с владельцем продукта по поводу состояния продукта.