From Chaos to Collaboration: How Working Agreements Can Revolutionize Your Team’s Productivity!

Today’s teams are neither co-located nor co-scheduled and comprise individuals from different backgrounds, skills, and personalities working together. To be a high-functioning team, each team member should have clarity in terms of what is expected of them and each other to communicate effectively and hold each other accountable.

Let us take a look at three fictional scenarios at Acme, Inc:

  1. Isaac, Roxanne, and Yasir worked as a remote team for over three years. Robbie joined the team four months ago but struggled to gel with the team. The rest of the team thinks he is less responsible. He doesn’t respond to pages while on-call as quickly as the others do and is not as responsive as the others on Slack. They all talk to Donna, their manager, about Robbie’s engagement.
  2. The Personalization team doesn’t trust the Growth team to change the codebase. The last time the Growth team made changes, they introduced bugs in production. While the Personalization team struggled to resolve the issues, the Growth team didn’t help.
  3. The Marketing and Product teams are not operating in lock-step with each other. While both departments are working toward fueling growth in the company, the groups and their leaders don’t interact much. Their planning and delivery cycles are out of sync.

One common theme across all of these scenarios is that people need a shared understanding of how to work with each other. An agreement typically consists of who is going to do what by when. It is a simple idea. We waste an obscene amount of time and energy because of unclear and unkept agreements.

If you have been in team meetings like this, you know what I’m talking about.

Isaac: “I expected your technical design document to contain the non-functional metrics as well as the call flows”

Robbie: “No, no, I never said that. We were going for a general outline of how it would work.”

The real problem is people. People weren’t aligned. People weren’t supported. People weren’t bought in. In order to make transformation, the culture has to shift to allow for it. This is why culture eats strategy for breakfast.

Sarah Drasner in Engineering Management for the Rest of Us

Fun fact: Peter Drucker, one of the most influential management thinkers, gets famously attributed to the quote, “Culture eats strategy for breakfast/lunch,” but he never said it! Source 1 Source 2

Sometimes an organization doesn’t need a solution; it just needs clarity.

Ben Horowitz in The Hard Thing About Hard Things

Clear Agreements

Clear agreements help drive clarity, improving communication, accountability, and team dynamics. A high-functioning team makes clear agreements, keeps them, and lets the other party know when they cannot keep it so they can renegotiate. Lastly, if they break it, they take responsibility. The first key to being impeccable with your agreements is to make clear agreements. Who is going to do what, and by when? So simple.

Decision-Making Frameworks

Decision-making frameworks address the “who” part of an agreement when a group of people is involved. There are frameworks out there, and much literature exists on this topic. We won’t be going into more detail. Pick a framework that works for you and use it consistently.

Some popular frameworks:

Let’s get into three situations where teams benefit from a written working agreement.

  • Between the members of a team
  • Between two teams; a “home” team and an “away” team
  • Between departments

Team Working Agreement

Left to their own accord, most teams will develop a documented or undocumented working agreement during the norming stage of a team’s development cycle. Read Tuckman’s stages of group development.

I recommend managers start thinking about and looking to write a Team Working Agreement as soon as the team is forming so the storming stage is as controlled as possible (storming never really “ends” in practice). Writing working agreements is also particularly helpful when you want to reset a team’s culture and help new team members quickly understand the team’s culture.

Team values

Company values come first. The company’s values guide a team’s values. But a group might choose to extend the company’s values with what the individuals within that team value. This section should contain a bulleted list of the values that the team wants to embody.

Ways of working

This section should cover the things one would do to enact the values. For example, if the team values a blameless culture, they might act that value in team retrospectives, project/feature pre-mortems, and incident post-mortems.

Governance

Availability
  • Hours
  • How to Out of Office?
Communication

This section will go into what each other expects in different communication mediums. Things to think about:

  • Team Report
    • Who is responsible for sending the team’s report?
    • How should each team member help in crafting it?
  • Instant Messenger
    • Are the team members expected to appear online when they are available?
    • What is expected of them when they are “away”?
    • What is expected of them when you tag them during off-work hours or when they are OOO?
  • Video communication
    • Is everyone expected to turn their cameras on?
  • Google Docs & Confluence
    • Often, at companies, both tools are available. When do you use google documents, and when do you use Confluence?

Escalation process

Considering how the team will escalate when faced with a pressing issue that cannot be resolved through consensus is important.

The general playbook looks like this. All parties:

  • Acknowledge the problem or difference in opinion
  • Clarify the options and understand the trade-offs
  • Determine who will be the decider; usually a manager or respective managers
  • Determine how the escalation will be handled
  • Determine what level of transparency will be provided
  • Align how the decision will be communicated to others

Escalations are good! Clear escalation paths can be highly beneficial in resolving issues quickly. By using established escalation procedures, issues can be addressed promptly, avoiding lengthy alignment periods. Managers and leaders can play a crucial role in this process by encouraging team members to utilize escalation procedures and helping to reduce any stigma associated with doing so. Overall, well-implemented escalation paths can be a powerful tool for promoting timely issue resolution and maintaining productivity within a team or organization.

Roles and Responsibilities

A software engineering team has a Product Manager, Engineering Manager, Designer, and a team of engineers. Role expectations are usually well-defined within an organization.

However, Feature Lead or Tech Lead is typically unofficial, and the standard can vary between teams. Project management activities and testing activities are two other areas where the role and responsibilities aren’t clear for teams, primarily because of the absence of a dedicated project manager or scrum master in the case of the former and the lack of a dedicated QA engineer in the case of the latter.

Note: This example uses RACI as a decision-making method.

ActivityResponsibleAccountableConsultedInformed
Activity 1
Activity 2
Project Management Process

Typically, most software teams follow an adapted form of Kanban or Scrum. This section is to clarify what the process looks like.

Meetings
MeetingGoalCadenceAudience
Meeting 1
Meeting 2
On-call expectations

This section either contains the content or could link to another company standard document. It must include what is expected of them when they are on-call.

Address ambiguities like:

  • Can they go out for dinner when they are on-call?
  • Is it ok if they carried their laptop and had access to the internet so they can triage issues?
  • Can they have a beer when they are on-call?
SLAs
TypePriorityTime to ReviewTime to ResolveNotes
SupportCritical
SupportMajor
SupportMinor
Production BugsCritical
Production BugsMajor
Production BugsMinor
UAT BugsCritical
UAT BugsMajor
UAT BugsMinor
Q&A/Help

A working agreement can have anything that improves communication, collaboration and team dynamics. Some of the interesting ones that I have seen:

  • How to spell E-commerce?
    • ✅ E-commerce, Ecommerce, e-commerce, ecommerce, ecomm
    • ❌ eCommerce, e-comm, ECommerce, e-Commerce, Ecommerce
  • Standardized on a date format that the team would use!

Working Agreement between Teams

Software engineering teams frequently collaborate to achieve organizational goals. Collaboration between two software teams takes two forms:

  • Collaboration: Two teams work with each other toward a common goal.
  • Away and host team model: An away team is a self-sufficient engineering team that works on code owned by another team (the host team) to deliver features they are dependent on. The away team design and releases the needed changes in the host team services. The away team is working towards its own goals but needs assistance from a host team.

I have consistently seen friction between teams in the latter case. A working agreement between groups with a RACI will dramatically reduce that friction. Here is an example that could help drive clarity:

ActivityResponsibleAccountableConsultedInformed
Home/host informed ahead of time of the time commitmentAway team’s managerAway team’s managerHost team
Create and adhere to a shared working agreementAllHost and Away team’s managersAllAll
Escalation processAllHost and Away team’s managersAllAll
Share relevant domain documentationHost teamHost team’s managerAway team
Subject matter expertise (SME) supportAssigned Host SMEHost team’s managerAway team
Technical design documentation are written for new functionalityAway teamAway team’s managerAssigned Host SMEHost team
Implementation activities (code, testing, production readiness, etc)Away teamAway team’s managerAssigned Host SMEHost team
Code reviews are done in the agreed upon timeframeAssigned Host SMEHost team’s managerAssigned Host SMEHost team
Enforcing code qualityHost teamAssigned Host SME
Tests (units and E2E, old and new ones introduced)Away teamAway team’s managerAssigned Host SMEHost team
Pre-mortemAway teamAway team’s managerAssigned Host SMEHost team
Production readiness (including creation of run books and triage guides)Away teamAway team’s managerAssigned Host SMEHost team
ReleaseAway teamAway team’s managerAssigned Host SMEHost team
Addressing post-release issuesAway teamAway team’s managerAssigned Host SMEHost team
Handover back to the home/host teamAway teamAway team’s managerAssigned Host SMEHost team
Post handover maintenanceHost teamHost team’s managerAway team
RetrospectiveAllHost and Away team’s managersAllAll

Working Agreement between Departments

Creating a working agreement between departments at a large company can be a complex task, but it’s essential for ensuring that teams can collaborate effectively and achieve shared goals. There are entire books written on how senior leaders should create alignment within an organization, but the key considerations carry through.

Key considerations:

  • Communication: Establish clear communication channels and protocols for sharing information and updates between departments. Consider tiering your huddles. First, the front-line workers meet. If they can’t make decisions, the issue is escalated to the next level. Provide clear guidelines for escalations.
  • Performance metrics: Establish performance metrics that align with the company’s goals and objectives and share them across all departments. Ensure that they are publicly and readily accessible. Use a well-known goal-setting process like OKR or 4DX. Companies inevitably develop “house rules” as they employ a well-known method. Make sure the “house rules” are documented.
  • Shared goals and objectives: Identify shared goals and objectives each department can contribute to and ensure that everyone understands how their work contributes to the company’s overall success. Departments should focus explicitly on their “Shared OKRs” during yearly, half-yearly, and quarterly planning sessions.
  • Roles and responsibilities & decision-making: When coming together to achieve a particular shared objective, define the roles and responsibilities of each department and the individuals representing that department.
    • Consider everyone’s input by establishing decision-making processes involving all relevant departments. Use one of the decision-making frameworks.
    • Make sure each department has an “Ownership Map” which ties specific areas within the department to individuals accountable for those areas and then make it publicly accessible. Having a map dramatically reduces the number of “Who is responsible for X?” questions.
  • Conflict resolution: Develop a strategy for resolving conflicts between departments that allows for open and honest communication and encourages collaboration and compromise. Conflict resolution begins with creating psychologically safe spaces for people to bring up issues. Pre-mortems, post-mortems, and retrospectives are an example of some of those safe spaces.

Summary

Organizational productivity is about your systems, not individual people. If a whole group doesn’t understand how to work with each other, it’s likely because their managers and leaders have not set up mechanisms like this.

A common argument for not doing something like this is, “Once it’s written, no one ever looks at a working agreement. It’s a waste of time”. The process of writing together will help form the norms and alignment necessary. It’s a problem when people agree to work a certain way but don’t follow through. When people deviate from their agreements, as managers and leaders, you refer back to the working agreement, diagnose what is not working, and take action, even if that means you need to modify the working agreement. Working agreements, when appropriately used, help build the culture of the teams, departments, and organizations.

When working as a team, we must agree
On terms that keep us all in harmony.
Agreements on roles, deadlines, and communication,
Help us achieve our goals with precision.

Each member knows their part to play,
And what’s expected of them every day.
We hold each other accountable with respect,
So our working relationship stays correct.

With agreements in place, we can work with ease,
And tackle any challenge with grace and breeze.
In harmony we’ll thrive, and success we’ll find,
Together as a team, united and aligned.

ChatGPT