Once the team has some people, it’s time to help it create its agile culture. That culture helps the team members work together and deliver as a team. Edgar Schein, in Organizational Culture and Leadership [Sch10], defines organizational culture as what people can say, how they treat each other, and what the organization rewards. (The team might reward differently than the organization, especially if your organization has just started its agile journey.)
One way to think about the team’s culture is to think of the team as a social contract. Agile teams might be able to work with implicit contracts. I have found that because agile is so different than the team’s previous ways of working, it helps the team to explicitly create its own social contract.
In turn, that social contract helps team members articulate how they are willing to work in the form of values and working agreements. Your team might realize that it says one thing and does another, which doesn’t help anyone finish any work.
Values are how people treat each other. Team members might explore how transparent they are with each other, what they focus on, and what they commit to. Instead of starting with a premade list of values, consider this activity, described by Dhaval Panchal,[7] to flesh out your team’s values:
Now your team has described its values in a positive way. It’s time to create the team’s working agreements.
Working agreements define the ways team members work together. These definitions might include what “done” means, ground rules of meetings, and team norms. For example, here are some working agreements to determine:
Core hours—Does the team need to commit to core hours so everyone knows when members are available?
What “done” means—Does the team know what “done” means for a story? See the discussion in Chapter 11, Know What "Done" Means.
How the team treats meeting times—What will the team do if people are late to meetings or don’t attend at all?
What the team automates and when—It’s not possible to automate all testing. On the other hand, it is possible to automate much of it. What does this team need to automate and when?
How the team responds to urgent requests—If the team needs to respond to production support requests, it needs to know what those parameters are. So does the rest of the organization.
As the team members work together, they might realize they need working agreements in other areas. I have seen a number of teams decide that they need to timebox all their work, not just use timeboxes for an iteration. Your team might not need to do that. Working agreements make it easier for a team to collaborate to deliver.