I’m sometimes asked what practice or technique I would recommend for a team that’s struggling to meet commitments or has some kind of internal discontent. When I ask if the team has working agreements, usually the answer is “no”. I think too many people ignore – or just downplay – the importance provided by good working agreements. And since we just recently covered this at our internal Community of Practice meeting, I thought it would be worthwhile to delve into here. So, here we go…
What Are Working Agreements?
Working agreements are a clear and agreed-upon set of cultural norms or rules for a particular team. There might be agreements within an entire organization – perhaps architectural or design agreements – but most agreements are specific to a team. There are different kinds of working agreements, each with a different purpose.
Definition of Ready
The first working agreement we’ll cover is the Definition of Ready (DoR). Not every team needs or uses this agreement, but it helps teams guarantee that they have what they need before they start working on something.
The Definition of Ready establishes the criteria that a story (or backlog item) must meet before the team can begin working on it. These could be acceptance criteria or unit test notes or anything, really. When looking at planning a sprint (or just starting work), a story is compared against the Definition of Ready. The team address any deficiencies in the story and moves it to their sprint or their “ready to pull” column.
Some examples of the Definition of Ready might include:
- Story has clear acceptance criteria
- Story is estimated
- Cucumber test cases are defined
Definition of Done
The Definition of Done (or DoD) is the most common of the working agreements. In essence, it defines the acceptance criteria for all stories, not just a single one. Any story must meet its own acceptance criteria and the DoD. When the Product Owner goes to accept the story, they should be evaluating the story against the acceptance criteria and the DoD.The story can be accepted once it meets them all.
Since these are broad in nature, Definition of Done items are general and not as specific. Some examples might include:
- Unit tests are written for new methods
- All regression tests pass
- All unit tests integrated into Jenkins
Team Working Agreements
These are probably the least used of the working agreements but I would recommend that every team go through the exercise of creating one. It’s important to document the cultural norms of the team. How does someone tell the team that they’re out sick? Or they have to leave early? When can we schedule meetings? What are our core hours? Your team working agreement can clarify these.
As an example, I worked with a team that decided to block out 11 am to 1 pm from meetings. They called it “tummy time” because many of them went to “work on their tummies” (go to the gym ) or “fill their tummies” (eat lunch). I’m certain that a spate of recent births on the team was the inspiration for the moniker.
Team working agreements help prevent some of the disagreements that arise on teams. It clarifies the tribal knowledge of the team and makes it easier for someone to join the team. And easier for the team to communicate clearly amongst themselves.
We strongly advocate for drafting working agreements because they are an important tool for our teams. It establishes how they work with our clients and how we know that we’ve satisfied the client’s requirements. Our Definition of Ready ensures we start work when we understand the need and the value. The Definition of Done ensures we deliver quality software. And team working agreements ensure our teams operate smoothly.
Working agreements allow the team to formalize their cultural norms and not rely solely on tribal knowledge. It allows anyone new joining the team to quickly understand what’s expected of them and how they should operate with the other team members. It also allows anyone else to understand what a team is doing – or not doing – and why. And the team can be clear about when they can start work and they’re done with work. Make sure to use working agreements to give your teams the advantage they need to become high-performing teams.
Feliz entrenamiento, mis amigos! (Happy coaching, my friends!)