В быстро меняющемся мире разработки программного обеспечения такие гибкие методологии, как Scrum, становятся все более популярными. Scrum предоставляет командам основу для совместной работы, адаптации и эффективной доставки высококачественного программного обеспечения. Руководство по Scrum, исчерпывающий ресурс по внедрению Scrum, на протяжении многих лет подвергалось обновлениям, отражающим развивающиеся лучшие практики и отраслевые стандарты. В этой статье блога мы рассмотрим ключевые различия между Scrum Guide 2020 и его предшественником 2017 года, подчеркнув новые методы и улучшения. Итак, хватайте свой любимый напиток и вперед!
- Цель продукта.
В Scrum Guide 2020 представлена концепция цели продукта. В нем подчеркивается важность наличия четкой, всеобъемлющей цели, которая направляет усилия в области развития. Этот метод помогает команде понять цель своей работы и направляет ее к общей цели. Вот пример определения цели продукта для веб-приложения:
# Example Product Goal
product_goal = "Increase user engagement by improving website performance and adding new interactive features."
- Планирование спринта.
В версии 2017 года планирование спринта было разделено на две части: «Что» и «Как». Scrum Guide 2020 объединяет эти части в один сеанс совместной работы. Команда коллективно решает, какую работу предстоит выполнить, и совместно планирует, как ее достичь. Этот метод способствует прозрачности и гарантирует, что все находятся на одной волне. Давайте посмотрим пример совместного сеанса планирования спринта:
# Example Sprint Planning
def sprint_planning():
user_stories = get_user_stories()
capacity = calculate_team_capacity()
selected_stories = prioritize_user_stories(user_stories)
plan_work(selected_stories, capacity)
- Ежедневный скрам.
В версии Руководства по скраму 2020 года больший акцент делается на цели ежедневного скрама. Это побуждает команды сосредоточиться на проверке прогресса в достижении цели спринта и соответствующей адаптации своего плана. Три вопроса («Что вы делали вчера?», «Что вы будете делать сегодня?», «Есть ли какие-либо препятствия?») остались прежними, но теперь они служат трамплином для более глубокого сотрудничества и решения проблем. Вот пример обсуждения ежедневного Scrum:
# Example Daily Scrum
def daily_scrum():
yesterday_task = get_yesterday_task()
today_task = get_today_task()
impediments = get_impediments()
if yesterday_task.completed:
celebrate()
plan_impediment_resolution(impediments)
- Обзор спринта:
Руководство по Scrum 2020 вводит более четкую цель обзора спринта: проверить инкремент и адаптировать бэклог продукта. Команда совместно анализирует работу, проделанную во время спринта, и собирает отзывы заинтересованных сторон, чтобы определить возможности для улучшения. Вот пример процесса обзора спринта:
# Example Sprint Review
def sprint_review():
increment = get_increment()
demonstrate_increment(increment)
gather feedback()
adapt the product backlog()
- Ретроспектива спринта.
Обновление 2020 года подчеркивает важность постоянного совершенствования путем проверки процессов команды и поиска способов их улучшения. Ретроспектива спринта остается для команды временем, посвященным размышлению о своей практике и выявлению практических улучшений. Вот пример ретроспективы спринта:
# Example Sprint Retrospective
def sprint_retrospective():
reflect_on_sprint()
identify what went well()
find areas for improvement()
create actionable plan()
В Scrum Guide 2020 внесено несколько заметных улучшений и уточнений в структуру Scrum. Обновления, начиная с введения цели продукта и заканчивая расширенным планированием спринта, ежедневным Scrum, обзором спринта и ретроспективой спринта, направлены на содействие сотрудничеству, прозрачности и постоянному совершенствованию внутри Agile-команд. Следя за новейшими практиками Scrum, команды разработчиков программного обеспечения могут оптимизировать свои процессы и добиваться лучших результатов.