Agreement Builder — Most Typical Agile Workshop Ever

Use this simple recipe to effectively facilitate the most common workshop in the Agile world
About the Author

Kiryl Baranoshnik is an experienced Agile and Lean practitioner. He works as an Agile Coach at a large bank in the Netherlands and shares his knowledge publicly as an Agile trainer.

Let me guess: you've been making lists. A lot of lists. Not the "buy-groceries-don't-forget" kind of lists. The ones you create together with your team. Think of it: Definition of Done, team's ground rules, coding standards, something more exotic like Delegation Board, you name it. These are all in essence lists. (OK, the last one is a matrix, but for our purpose, it's convenient to treat it as a list.)

In the Agile world, decisions driven by group discussions are quite common. After all, face-to-face conversation is the most effective method of conveying information [1]. Often the outcome of these discussions is a list. However, this is just a form, not the goal. The goal is to build a written agreement. From my own practice I've created a workshop structure that effectively leads a team in reaching this goal. I call it Agreement Builder.
Structure

A one-hour timebox is a good fit for this workshop and one session is enough for most topics. Keep the workshop within these boundaries otherwise the group will lose focus. Of course, there are exceptions but more on that later.

The structure follows the Diamond of the Participatory Decision-Making defined by Sam Kaner [2] and can be divided roughly into five stages. The names of the stages coincide with the retrospective stages defined by Esther Derby and Diana Larsen [3]. It's intentional so that it is easier to draw analogies to a retrospective session.

An example of the agenda of a one-hour Agreement Builder workshop.
Preparation

Before we go into the workshop structure, it's important to note the preparation. Talk to the whole group or to each participant if necessary. Together align on why you are doing the workshop — the purpose, and what the group wants to achieve in the end — the goal. For example, the purpose could be to improve communication in a team and the goal — a set of ground rules.

Stage 1. Set the Stage
This part is quite simple. Reiterate both the purpose and the goal of the session. Explain the facilitation techniques you are going to use. This will ensure a smooth flow throughout the workshop.

Stage 2. Generate Ideas
Recommended techniques: small group discussions, individual writing, round-robin, stacking, or 1–2–4-All.

At this stage, the goal is to generate the basis for the resulting list. Any technique for generating ideas will work here and I usually timebox this part to 7 minutes. My preferred technique is small group discussions — break up the group into pairs or trios and let them discuss. Other alternatives could be stacking (participants speak one by one in the order predefined by a facilitator [4]) or 1–2–4-All from Liberating Structures. If the environment doesn't permit group breakouts, e.g. in an online meeting without the proper tooling, individual writing could be an option. As a result, you get a bunch of stickies with various ideas.

During Generate Ideas it's crucial to start with the right question (if you are a Liberating Structures fan, think of Structuring Invitation). A well-formulated question will elicit relevant and thoughtful ideas. An unclear question will only confuse the participants. Express clearly what outcome you expect from the group. Be creative and inspiring. Help the group engage with their answers and bring their focus to the agreement that is the goal of the session. Here's a couple of examples of good questions:

  • For a Definition of Done workshop: "What characteristics should a backlog item have so that when you look at it you can honestly say that it is 'done'?"
  • For a team ground rules session: "What are the most basic, fundamental agreements you as a team need to stay productive and keep healthy climate?"
  • For a team quality standards discussion: "What are the coding standards that are the absolute necessity to keep your source code at a quality level that you will be proud of?"

Stage 3. Group and Prioritize
Recommended techniques: grouping; dot-voting.

By this point, the group has generated a lot of ideas. Make sure each participant understands them well. Ask the participants to read their ideas aloud and encourage the group to ask clarifying questions. The most obvious ideas can be skipped. Don't be afraid to ask questions yourself if you suspect something may not be clear to the group. During this process cluster similar ideas together. It is important for the next step when the group will prioritize their suggestions.
The structure of the workshop mapped to the Diamond of Participatory Decision-Making with some extras. The stage Group and Prioritize portends the entering of the Groan Zone.
Because the session is timeboxed, not all ideas will get their share of attention. As a facilitator, you want the group to take away from the meeting what's valuable for them so make sure that the most important ideas are discussed first. Ask the group to prioritize.

A popular way to facilitate this is dot-voting but the group needs to know what they are voting for. Just like in Generate Ideas, the right question makes a huge difference. I like to ask: "What are the most important ideas that absolutely need to be discussed today otherwise it will harm the team tomorrow?" Then, give each participant three dots and ask to distribute across any number of stickies they want. If the list of ideas is extremely large, increase the number of dots to five. They can place all the dots on the same sticky note or spread across any number of stickies in any proportion. [5] Clusters of stickies are counted as one idea in the voting process.

Once the group has finished voting, sort the stickies by the number of dots. Discuss the sorted idea starting from the ones with the most dots.
Stage 4. Discuss and Agree
Recommended techniques: open discussion; Decider, Roman voting, or Fist of Five.

The idea behind this stage is simple, but the execution is hard. Each idea needs to be discussed by the group. It is here when they inevitably enter the Groan Zone [6]. The conversation might and probably will get emotional, opinions will clash. If the discussions on a certain topic take too much time, split it into smaller items. Also, expect the group to come up with completely new ideas. In both cases, check with them whether they want to discuss new items immediately or put them at the end of the list. Don't be surprised if the group wants to drop some ideas altogether. In this case, follow their agenda.

After an idea has been discussed, the group needs to agree whether they want to have it in the resulting list or not. My favorite way to do this is Decider from Core Protocols. Decider is aimed at a consensus by design (a decision is passed only if the entire group supports it and nobody objects [7]).

Other options are Roman voting or Fist of Five. In both cases, you can decide to go for consensus or let the absolute majority win. Resist the temptation to decide trough open discussion. Although sometimes valuable, here it puts you at the risk of dragging out discussion and never reaching the outcome.

Stage 5. Close the Workshop
Start closing the session some 10 minutes before it ends. Recap the outcomes — which ideas have been accepted by the group.
An example of a Definition of Ready session from Kiryl's Facilitation Toolkit. The items in the bottom right corner have been either voted out or not discussed.
Here are a few points that may be discussed during the closing stage:

  • Decide what you want to do with the remaining items. The group might be happy to abandon them, especially if the ones that nobody voted for during the prioritization phase. It is likely they are not important enough and are safe to be dropped.
  • If the group decides to continue discussing the remaining items, agree when a follow-up session will occur.
  • Capture where you will document the outcomes. A good idea is to place the resulting agreement on an information (visual) radiator. An alternative could be a wiki page although it's not preferred. Wiki is not as accessible or visual as a poster on a wall.
  • Sometimes during the Discuss and Agree stage, participants come up with action items. Make sure those are captured too and somebody volunteers to take care of them. If there are volunteers, don't sweat it. Likely, they are not important enough and are safe to be dropped

Follow-up


Once the session is over, gather all the notes and documents the group has created and email them. If necessary, help the group create the visual radiators and register the action items.
References
[1] Agile Manifesto (2001). Principles behind the Agile Manifesto. Available at: https://agilemanifesto.org/principles.html. Accessed on: May 19, 2020.
[2] Kaner, S. (2007). Facilitator's Guide to Participatory Decision-Making, 2nd Edition. San-Francisco, California: Jossey-Bass Business & Management, p. 20.
[3] Derby, E. and Larsen, D. (2012). Agile Retrospectives: Making Good Teams Great. Dallas, Texas: The Pragmatic Bookshelf, p. 4.
[4] Kaner, S. (2007). Facilitator's Guide to Participatory Decision-Making, 2nd Edition. San-Francisco, California: Jossey-Bass Business & Management, p. 48.
[5] Wikipedia (2017). Dot-voting. [online]. Available at: https://en.wikipedia.org/wiki/Dot-voting#Process_specifics. Accessed on: May 19, 2020.
[6] Kaner, S. (2007). Facilitator's Guide to Participatory Decision-Making, 2nd Edition. San-Francisco, California: Jossey-Bass Business & Management, p. 18.
[7] The McCarthy Show (n.d.). Online. The Core Protocols v. 3.0.2. [online] Available at: http://www.mccarthyshow.com/?page_id=100. Access on: May 19, 2020.