Scrum Patterns

The Spirit of Scrum





Scrum Patterns

The Spirit of Scrum



Jeff Sutherland

James O. Coplien

 

Lachlan Heasman

Mark den Hollander

Cesário Ramos

 

 

and The Scrum Patterns Group:

Esther Vervloed, Neil Harrison, Kiro Harada, Joseph Yoder, June Kim, Alan O'Callaghan, Mike Beedle, Gertrud Bjørnvig, Dina Friis, Ville Reijonen, Gabrielle Benefield, Jens Østergaard, Veli-Pekka Eloranta, Evan Leonard, Ademar Aguiar







This edition first published 2019

© 2019 Pragmatic Press.

Registered office

Pragmatic Bookshelf, Address, Raleigh, North Carolina

For the details of our global editorial offices, for customer services and for information about how to apply for permission to reuse the copyright material in this book please see our website at www.pragprog.com.

The right of the authors to be identified as the authors of this work has been asserted in accordance with [some relevant law].

The copyright grants the right to copy material verbatim from this book for both commercial and non-commercial use, subject to proper citation and the inclusion of this copyright notice, as supporting material included in a larger work. Reproduction in any form of more than 60% of more than 10 patterns requires prior written permission

Pragmatic Bookshelf also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.

Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. The publisher is not associated with any product or vendor mentioned in this book. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought.


A catalog record for this book is available from the Library of Congress

ISBN 978-X-XXX-XXXXX-X

Typeset in 11 / 13 Palatino by Some Oursourced Typesetter.

Printed in Antarctica by Penguin Printers, PPP



Beedle Dedication

Dedications

Preface

Acknowledgments

Table of Contents

 

Introduction

The Scrum Core as Patterns

This chapter will set you on your path in three ways:

  1. We give a succinct overview of Scrum that helps you see the big picture.
  2. We tie the main elements of Scrum to patterns, to hone your intuition of how they work together.
  3. We introduce the most fundamental rules of the game called “People Building Something Together.”

We will help you broaden your understanding of Scrum in a way that will attune your intuition to what patterns are. It will also make clear that this is a book about broad experience with people and about how you can benefit by tailoring those organizational building blocks to your situation. It’s not a book of rules and absolutes that you can follow blindly. And we do that, too, with a pattern.

We will describe Scrum in terms of its two large-scale structures: the organization that builds a product, and the Value Stream along which the product flows. Each of these is a Whole, a designed thing in its own right. A pattern language guides us one step at a time as we build such a Whole. This book presents two pattern languages, one for each of two conceptual Wholes, that provide expert and proven guidance as you build your Scrum organization.

This chapter introduces you to the very first pattern, The Spirit of the Game, which stands at the head of each pattern language. It sets the stage for all remaining patterns. Even more important, we hope that this chapter and The Spirit of the Game will give you newfound insight on how to think about this book, how to use it, and on how to use Scrum. Think of Scrum as a game we play. As with most games, it can be a wonderful form of engagement if its players appreciate both the discipline and freedom that help them create value. Most of the patterns in the book suggest organizational changes that work that way. But at a deeper level, you should approach the art of building or growing your organization as a game as well. We find that one does well to approach patterns somewhat playfully, with hope of realizing each one’s benefit and with a degree of comfort to adopt each one’s disciplines. Your exploration is more like serious play than a regimented game, and much of your inquiry will relate more to common sense than to following the rules. You may explore what Done means to you (see Definition of Done), how long a Sprint should be, how many people should be on your team, and a thousand other considerations. Engagement with the game is about trying things out, assessing the result, and proceeding accordingly. It may mean saying “no” to some patterns. But if you say “no” out of fear or discomfort rather than from a posture of great expectation, or if you say “no” to stay in line with what some rule book says, you may not yet have the proper grounding to take such work forward. We’re going to try to help you here up front to get off on the right foot.

Poorly played, “People Building Something Together” is a game that our team or our company tries to win. In the larger scheme of things, Scrum is a game that never ends. Our company and our competitors may take turns in the lead as each one innovates new features, paths to market, or other increments of value to society. Played this way in the long term, we lift the quality of life of the entire community. Getting there in a complex world is about being in touch with that world, inspecting at every step and innovating as a community to do the right thing in the moment. That’s where we start, and it is in that sense that the first pattern underlies the rest. A good pattern stands on its own, and we’ll let the pattern explain itself.

The Spirit of the Game

The Core Patterns in Brief

Beyond the Core

Product Organization Pattern Language

refines_pattern_in_organization_structure_language

This chapter describes the patterns that you can use to build your Scrum Team and the other associations of people and loci of relationships that are common to Scrum practice. The Product Organization is one major Whole to which you must attend when introducing Scrum; the other one is the Value Stream Pattern Language. You build your organization and your process in parallel, each a little at a time, weaving together patterns from both chapters.

The above figure shows the relationships between the patterns in this chapter. We apply patterns one at a time, and the figure is a guide for the order in which we should apply them. This structure is called a pattern language, because just as a language like English describes how we can sequence words in meaningful ways, this graph describes meaningful pattern sequences. More precisely, it is called a generative pattern language because it generates “sentences” that are combinations of patterns that powerfully reinforce each other.

Each node of the graph is a pattern, and the lines between patterns depict ordering dependencies between them. The graph therefore shows, for each pattern, the patterns above it, which you should already have considered before applying any given pattern, and the ones below it, which are candidates for next steps once you have put the current one in place. Of course, instead of just forging ahead you can jump to another place in the graph and add a pattern that refines some other pattern you had applied earlier. One pattern is said to refine another (or to refine several other patterns) or, the other way around, one pattern is said to contain one or more other patterns. So The Spirit of the Game refines The Mist, and Conway’s Law contains Scrum Team.

There are of course almost countless ways to sequence the patterns, each sequence giving rise to a Scrum organization with a slightly different character. Though you should challenge yourself by considering most of the patterns in this book, you don’t have to use all of them. You will usually pick the patterns that catch your eye and then organize them into a sequence using the graph as a guide. But the dependencies aren’t strict and we encourage you to engage your insight and intuition as you apply the patterns. Of course, it is O.K. to change your mind along the way.

In the next section we present a kind of canonical or default sequence for the major patterns in the Product Organization Pattern Language. But, again, use your insight and intuition rather than following the sequence as a mandate. You know more about your organization and your situation than we do.

Product Organization Sequence

The Mist

Fertile Soil

Conway’s Law

Birds of a Feather

Involve the Managers

Scrum Team

Collocated Team

Small Teams

Cross-Functional Team

Product Owner

Product Owner Team

Development Partnership

Development Team

Stable Teams

Autonomous Team

Self-Organizing Team

A Scaling Sequence

Mitosis

Kaizen and Kaikaku

ScrumMaster

Oyatsu Jinja (おやつ神社)

Small Red Phone

Scrum (Master) Coach

Fixed Work

Sprint Planning

Swarming: One-Piece Continuous Flow

Kaizen Pulse

Remove the Shade

Pop the Happy Bubble

Daily Scrum

ScrumMaster Incognito

Norms of Conduct

Emergency Procedure

Illegitimus Non Interruptus

Scrum of Scrums

Sprint Review

Sprint Retrospective

MetaScrum

Product Pride

Value Stream Pattern Language

Whereas the Product Organization Pattern Language builds the relationships between the people and teams in a Scrum organization, the Value Stream Pattern Language builds relationships between steps of product construction, and the artifacts that represent parts of the process. The Scrum Team builds the Value Stream to frame out the overall rhythms and activities of development. Value generally flows from the Vision into the Product Backlog, and from there into the Sprint Backlog and eventually into the Product Increment. Many other patterns refine these larger Value Stream components along the way.

The picture below is the pattern language graph for the Value Stream Pattern Language, and shows the dependencies between the language’s patterns. We described how to use a pattern language graph in the first section of the Product Organization Pattern Language.

refines_pattern_in_value_stream_language

Value Stream Sequence

Vision

Impediment List

Value Stream

Set-Based Design

Sprint Burndown Chart

Scrum Board

Product Roadmap

Rhythms: Patterns of Time

Sprint

Organizational Sprint Pulse

Release Plan

Release Range

Value and ROI

ROI-Ordered Backlog

High Value First

Change for Free

Money for Nothing

Product Backlog Sequence

Product Backlog

Product Backlog Item

Information Radiator

Pigs Estimate

Small Items

Granularity Gradient

Estimation Points

Fixed-Date PBI

Vacation PBI

Enabling Specification

Refined Product Backlog

Definition of Ready

Notes on Velocity

Yesterday’s Weather

Running Average Velocity

Aggregate Velocity

Specialized Velocities

Updated Velocity

Sprint Goal

Sprint Backlog

Sprint Backlog Item

Teams That Finish Early Accelerate Faster

Production Episode

Developer-Ordered Work Plan

Follow the Moon

Visible Status

Dependencies First

Good Housekeeping

Whack the Mole

Definition of Done

Team Sprint

Responsive Deployment

Regular Product Increment

Release Staging Layers

Testable Improvements

One Step at a Time

Value Areas

Value Stream Fork

Happiness Metric

Scrumming the Scrum

Greatest Value

Product Wake

Composing Your Own Pattern Language

Project Languages

A Project Language of Highly Effective Teams

Your Own Pattern Language

Patlets

History of the Patterns

Patterns from Other Sources

Community of Trust

Named Stable Bases

Take No Small Slips

Completion Headroom

Recommitment Meeting

Informal Labor Plan

Developer Controls Process

Work Flows Inward

Programming Episodes

Someone Always Makes Progress

Team per Task

Sacrifice One Person

Day Care

Interrupts Unjam Blocking

Don’t Interrupt an Interrupt

Size the Organization

Apprenticeship

Solo Virtuoso

Surrogate Customer

Firewall

Gatekeeper

Self-Selecting Team

Unity of Purpose

Team Pride

Patron Role

Matron Role

Wise Fool

Domain Expertise in Roles

Moderate Truck Number

Compensate Success

Failed Project Wake

Developing in Pairs

Engage Quality Assurance

Producer Roles

Organization Follows Market

Face-to-Face Before Working Remotely

Distribute Work Evenly

The Water Cooler

Do Food

— End Marker —