DEV Community

Federico Cerruto
Federico Cerruto

Posted on

Scrum patterns for high performing teams

Some years ago I was involved in an agile adoption process. It was an incredible experience that allowed me to work as a Scrum master and learn many new management skills through a long training on the job.

A very smart Agile Coach drove the adoption process and held some classes, one of them was very powerful and gave me a lot of insight that I applied in my daily work. The title of the class was: High Performing Scrum, it was focused on the exploration of some patterns collected and explained by the ScrumPLoP group. This is how they introduce their mission on their website:

Alistair Cockburn describes software development as a cooperative game. Scrum provides one set of rules for one such way of playing the game. The Scrum Guide is the official rule book. However, the Scrum Guide doesn't tell you the rationale behind Scrum as a whole, or behind many of its successful practices. Those rationales come out of experience, community, and the insights of its founders and inventors. The ScrumPLoP mission is to build a body of pattern literature around those communities, describing those insights, so we can easily share them with the Scrum and Agile communities.

They organized the patterns into two main categories: Product Organization Pattern Language, and the Value Stream Pattern Language, but what is a pattern language? A pattern language is the set of rules for combining the patterns in meaningful orders; as a “language” it has a grammar that can generate all sequences that are meaningful “sentences.” While the number of combinations of patterns is large, not all orderings make sense. No pattern stands alone, it’s a system, it’s tempting to cherry-pick patterns and try to apply them to solve problems in isolation, but in a complex system changes we make in one place may have unintended side effects elsewhere, so context is everything.
Applying each pattern in the broader context of the patterns that are already there helps us avoid unintentional setbacks from side effects. A pattern language strives to order patterns in a way that minimizes such setbacks.

So, let's have a look at a language described by Jeff Sutherland who believes can help new teams to have a good start and can help make even the best teams even better.

Jeff's project language unfolds like this:

  1. First, just get started. Start with Stable Teams.
  2. Next, decide how you are going to size your releases every Sprint. Start developing and establish a velocity (see Notes on Velocity) and bring it into statistical control: use Yesterday’s Weather.
  3. Next, work on getting stuff Done (see Definition of Done instead of foundering in rework. It takes teamwork to do that. Use the pattern Swarming: One-Piece Continuous Flow.
  4. Interruptions are one of the largest potential killers of velocity. You need to know how to deal with interruptions during the Sprint. We presume you have a ScrumMaster, but you need a more finessed technique that suggests a framework of discipline to make interruptions visible and structure how you deal with them. Try Illegitimus Non Interruptus.
  5. Focus on quality from the beginning, every day. Early on, strive for Good Housekeeping.
  6. Stuff happens, and dealing with emergencies is a discipline. Align the organization to deal with emergencies using the disciplined replanning of Emergency Procedure.
  7. The heart of Scrum is process improvement. Get into a rhythm of improving your process every Sprint with Scrumming the Scrum.
  8. Part of improving is to measure—but measure more with the heart than with raw numbers. Drive forward with the Happiness Metric.
  9. Revisit how you are sizing your Sprints. Instead of pushing the team to take more and more into the Sprint, refocus on Yesterday’s Weather and give yourself room to improve. Try Teams That Finish Early Accelerate Faster.

It's very important to apply one step at a time, if you change multiple things at once, it’s hard to know which one led to an improvement.
I tried it with my teams getting impressive results and generating a lot of enthusiasm for both in the team and the whole organization.

If you want to discover and try other languages, you can surf the Scrum Plop website and look for a sequence that is designed to address a problem you have or to improve a particular aspect of your team/organization.

Top comments (0)