Facilitator, Team Members, Stakeholders
What is it?
The Social Contract is a simple, yet highly effective manner to enable team autonomy and self accountability for engagements. It looks to codify the behaviors and expectations of the team. It also provides a mechanism for the team to radiate and share its desired behaviours with management and other stakeholders.
To effectively use this practice you should look to create the following outcomes:
- Public display of the social contract
- Nobody is above the contract
- The team agreed holds each other accountable to the contract. Having every team member physically sign the contract can provide a good starting point for this.
- Revisit the social contract often and update it as necessary
Try to guide the team to a contract that encourages positivity, autonomy, and respect.
- What sort of team culture do you want to build?
- Open, positive, blame-free, constructive
- No magic, no wizardry, no ninjas - build shared understanding
- Celebrate success
- What core hours do you want to work?
- 10am - 3pm?
- The idea is not to ecourage a clock-in/clock-out mindset. It’s about giving people the freedom to work the hours that make sense for them while ensureing that the team can still meet together.
- What are your thoughts on pair programming? Mob programming?
- Mob to learn; pair to build?
- Focus, then share what you learned?
- Respect individual working styles
- How should we handle devices in meetings?
- Laptops closed and phones down?
- Step out if you need to work on something else?
- How do you want to track tasks?
- Paper stickies?
- This helps us avoid missing important stuff or duplicating work.
- Embrace creative chaos
Don’t do this
Avoid building a social contract that encourages antagonistic, command-and-control behavior. Here’s an example of a really bad social contract:
- Core hours are 9am-7pm. The more time you spend at a desk, the more you’ll accomplish.
- Be more productive by juggling several projects at once.
- Ensure accountability by finding someone to blame when things break.
- Deploying to production is scary because it’s an opportunity to get blamed for something (see above). Code should be deployed as infrequently as possible.
- When you learn something, be sure to keep it to yourself so that everyone can see what a ninja rockstar wizard unicorn you are.
Why use a Social Contract?
- Quick means to clearly determine team dynamics and expectations
- Promote autonomy and self governing of team behavior
- The contract keeps the team consciously aware of how they work together
- Wall space which will hold sticky notes.
- Whiteboard markers
- Stickies (preferably a wide variety)
- Large poster paper
Stick the large poster paper on the wall and label it “Social Contract.”
Explain to the team that we’re going to:
- Define kind of culture we want our team to have
- Set some general guidelines
- Hold one another accountable to these guidelines
Ask open-ended questions about the team’s desired way of working. If the team agrees to an answer, write the decision on a sticky note and put the note on the poster paper. If there’s not consensus, throw the sitcky note away or put it in the parking lot for later discussion.
At the end, ask the team to sign the contract, and keep it in a visible place. Note that the team can revisit it later, change it, and initial it to indicate that everyone has agreed to the change.
As the team moves forward, encourage them to refer back to the contract when there are disagreements.
- Collaborative Face Drawing1 is a great ice breaker or after lunch activity. Your Social Contract can be a nicely decorated with the faces of the team to show their commitment to the contract.
- Working Agreements2 are a form of social contract often used to help establish behavioral standards between peers on a team. This is a great alternative if you do not have stakeholders or sponsors buying in to a Social Contract.
- Use retrospectives as a tool to revisit and update Social Contract based on learnings of team members working with each other