4 The Team Working Agreement

 

This chapter covers

  • What a Team Working Agreement is
  • Why your team should want their own Team Working Agreement
  • What to consider in your Team Working Agreement
  • Understanding the meaning of a “living” document

As guidelines are established and things are set in motion, it can get difficult to enforce and remember everything your team may have discussed, debated, and ultimately decided on for your code review. Having an official, public, documented, and referenceable record that your team acknowledges can ease the burden—it could even be the key to many interpersonal issues that crop up between team members.

Can only a document of policies and agreed-upon standards by the team really be meaningful? This chapter aims to show that, if implemented successfully, taken seriously by the whole team, and effortless to change, it may be the greatest thing your team incorporates into your culture.

4.1 What’s a Team Working Agreement?

While its origins come from the Scrum framework (a set of values, principles, and practices that help cross-functional teams deliver products and services in short cycles [1]) and facilitated by product owners or product managers, the Team Working Agreement (TWA) has found a fitting home within engineering teams as well.

A TWA transforms implicit social expectations into explicit enforceable ones. And with the code review process, plenty of expectations—which can turn into annoyances—can and should be handled properly through a TWA.

4.2 Setting team expectations with a Team Working Agreement

4.2.1 Scenario 1: The swift and not-so-swift reviews

4.2.2 Scenario 2: Mismatched meanings

4.2.3 Scenario 3: To approve or not to approve?

4.3 Establishing a TWA with your team

4.3.1 Do we really need a TWA?

4.4 What to consider including in your TWA

4.4.1 More implicit code review expectations

4.4.2 Reasonable response times

4.4.3 Reasonable PR sizes

4.4.4 Issue identification

4.4.5 Self-approving PRs

4.4.6 Nitpicks

4.4.7 Positive review environment

4.4.8 What happens when a policy is violated?

4.5 This TWA is the team’s document now