Описание. Agile-артефакты в Scrum — это информация, с помощью которой Scrum-команда и заинтересованные стороны подробно описывают разрабатываемый продукт, а также действия по его созданию и деятельность в рамках проекта. Основными Agile-артефактами в Scrum являются бэклог продукта, бэклог спринта и инкременты.
Термин «артефакт» часто связывают с археологическими раскопками и древними реликвиями. Но в разработке ПО этим понятием обозначают ключевую информацию, необходимую для создания продукта.
В Agile есть особенные побочные продукты, которые возникают при планировании, разработке, отслеживании и итеративном выполнении заданий по методике Scrum в процессе создания ПО.
Что такое Agile-артефакты в Scrum?
Agile-артефакты в Scrum — это информация, с помощью которой Scrum-команда и заинтересованные стороны подробно описывают разрабатываемый продукт, а также действия по его созданию и деятельность в рамках проекта. Эти артефакты — единицы метаданных, дающих ценное представление о качестве спринта. Эти инструменты крайне важны для каждой Scrum-команды. Через них раскрываются основные принципы Scrum: прозрачность, контроль и адаптивность.
Артефакты создаются в ходе следующих основных этапов спринта Scrum.
- Планирование работы и будущих целей
- Создание заданий, выполнение которых поможет достичь эти цели
- Распределение заданий по спринтам с учетом их зависимостей и важности
- Выполнение заданий
- Обзор и анализ результатов для сравнения с целями
- Повторение этих шагов
Основные Agile-артефакты в Scrum
Основными Agile-артефактами в Scrum являются бэклог продукта, бэклог спринта и инкременты.
Бэклог продукта
Бэклог продукта — это перечень новых функций, улучшений, исправлений багов, заданий или требований к работе, необходимых для создания продукта. Его основу составляет информация, полученная в результате поддержки клиентов, анализа конкурентов, изучения рыночного спроса и общего анализа возможностей производства и сбыта.
Бэклог продукта — это непостоянный артефакт. Его обновляют по мере необходимости, когда становится доступна новая информация. Владелец продукта занимается ведением и курированием бэклога, разделенного между несколькими командами, в промежутках между циклами спринтов и по мере возникновения новых идей. В нем содержатся задания, которые ранее входили в активный спринт, но были исключены из числа приоритетных и перемещены в бэклог.
Бэклог спринта
Бэклог спринта содержит несколько заданий из бэклога продукта, которые были переданы для выполнения в ходе следующего инкремента продукта. Бэклоги спринтов составляют команды по разработке. Так они планируют, что нужно поставить в рамках будущих инкрементов, и прописывают работу, необходимую для создания инкремента.
Бэклоги спринтов составляются следующим образом: задание из бэклога продукта делится на рабочие задачи меньшего размера, которые можно выполнить за спринт. Возьмем в качестве примера задание «создать страницу корзины для покупок», предполагающее множество подзадач по дизайну и разработке. Основное задание будет находиться в бэклоге продукта, а вспомогательные, такие как «создать макет визуального дизайна корзины для покупок» или «написать код для функционала корзины для покупок», помещаются в бэклог спринта.
Бэклог спринта обновляется на этапе планирования спринта в Scrum. Небольшие задания, которые нужно выполнить за спринт, назначаются соответствующим командам, таким как дизайнеры или разработчики. Если команде не хватает ресурсов, чтобы выполнить все задания на спринт, невыполненные задания останутся в бэклоге спринта до следующего спринта.
Инкремент продукта
Инкремент продукта — это готовые к поставке клиенту результаты работы над заданиями из бэклога продукта, полученные за спринт. Он также содержит инкременты всех предыдущих спринтов. Каждому спринту всегда соответствует один инкремент, и он определяется на этапе планирования в Scrum. Инкремент существует вне зависимости от того, согласится ли команда выпустить его для клиента. Инкременты продукта имеют важнейшее значение. Они дополняют процессы CI/CD в рамках контроля версий и, когда это необходимо, отката версий.
Командам удобнее, когда вся их работа согласована с содержимым бэклога, например для каждой задачи из бэклога создаются ветка и сборка. Команды, которые интегрировали инструменты контроля версий и CI/CD в ПО для отслеживания реализации Scrum, могут с помощью информации из этих инструментов лучше оценить ход работы. Они смогут объяснить, почему развертываются и поставляются клиентам те или иные элементы бэклога. Кроме того, это позволяет команде взглянуть на прошлые коммиты и увязать их с каким-либо инкрементом Scrum, чтобы тем самым понять историю написания и планирование кода.
Расширенные артефакты
Помимо описанных ранее официальных артефактов Scrum существует несколько расширенных артефактов (также называются мета-артефактами). Хотя расширенные артефакты не зафиксированы в официальном руководстве по Scrum, они весьма ценны и станут дополнительным источником полезной информации о цикле применения методики Scrum.
Диаграмма сгорания задач
Диаграмма Burndown (или Burnup) спринта не является официальным Scrum-артефактом, но используется многими командами для обмена информацией о продвижении к цели и ее отслеживания во время спринта. На диаграммах Burndown показаны задания, выполненные в течение спринта. Диаграммы Burndown помогают измерить скорость активного выполнения работы командой, чтобы ее участники понимали, смогут ли они завершить запланированную работу в срок либо нужно менять приоритеты заданий в спринте.
Во время планирования спринта команды могут изучить прошлые диаграммы Burndown, чтобы понять, сколько заданий им будет по силам выполнить за грядущий спринт. А текущие диаграммы Burndown покажут, не отстают ли участники от графика и смогут ли успешно завершить спринт. Во время обзора итогов спринта команды могут вернуться к диаграмме Burndown и узнать, удалось ли им оправдать ожидания. Со временем благодаря диаграммам Burndown команды смогут точнее оценивать скорость и ресурсы на этапе планирования в рамках методики Scrum.
Критерии готовности работы
Важно, чтобы у команд было четкое понимание критериев готовности работы. Эти критерии могут быть еще одним артефактом, который следует задокументировать и распространить среди сотрудников. Для команды разработчиков такими критериями готовности могут быть, например, покрытие кода автоматизированными тестами, отвечающими неким техническим требованиям, и его развертывание в рабочей среде. Команда без четких критериев готовности будет часто оказываться в ситуации, когда во время обзора итогов спринта будет неясно, завершено ли то или иное задание Scrum.
Критерии готовности работы помогают определить границы инкремента. Инкременты должны поставляться в качестве завершенных, готовых к использованию наборов нововведений, которые дополняли бы ранее выпущенные инкременты. По критериям можно также судить о завершенности заданий, чтобы можно было перестать отслеживать их на диаграмме Burndown.
Прозрачность артефактов
Scrum-артефакты — это полезные вспомогательные средства, позволяющие командам работать более эффективно. Поэтому важно, чтобы у всех команд был доступ к артефактам и возможность их отслеживать. Владельцам продукта и Scrum-мастерам нужно регулярно просматривать и обсуждать артефакты вместе с командами по разработке. Так команды смогут учесть слабые места в рабочих процессах и придумают нестандартные способы повышения скорости работы.
Начало работы с Agile-артефактами в Scrum
В agile-артефактах в Scrum заключена большая ценность, но они не являются обязательным элементом рабочего процесса Scrum. Команда может применять методику Agile и не тратить время на обновление этих побочных продуктов, но тогда она не сможет извлечь из них пользу. Лучше всего начинать работу с артефактами Scrum с помощью решения по agile-управлению заданиями, в состав которого уже включены agile-артефакты Scrum. Возможности работы с артефактами можно найти в качественных решениях по agile-управлению и отслеживанию заданий, таких как Jira. С их помощью пользователи могут без труда создавать диаграммы Burndown, бэклоги и инкременты. Начать работу просто, для этого воспользуйтесь бесплатным шаблоном Scrum для Jira.