I’ve mentioned elsewhere that my team struggles to find the right balance for design reviews (see Working Agreements for Agile Teams (Part 4)). My initial challenge was to get people to recognize the need for collaborative design. Then to get collaboration to occur and finally raise the bar on the quality of the collaboration so we improved our designs.
Its taken 18 months to learn to collaborate effectively on design. I’m confident of this because our last team meeting involved a discussion on the team’s expectations on the amount of collaboration needed for different design activities. You can’t have that discussion if people aren’t trying.
I wanted to share some details of that discussion because the intent and scope is valuable to others.
The team discussed two examples. In both cases, the design activity was handled by another team. The required software changes involved parameter changes. Parameter changes in our application typically involve changing values in a configuration file or the source code. Simple changes to make in the source code but with far reaching implications.
The question asked during the team meeting was how much involvement did the team want with the other team in order to fulfill the working agreement. Our working agreement requires the author and two others engage and agree on the scope of the design. Basically, accept the parameter change as a trivial software change or consider the broader implications.
The source code change isn’t the important factor affecting the design activity. Other factors include knowledge of why these parameters need to change and the rationale for choices made regarding their manipulation by the application. This information is needed to make future changes. It also involves understanding the requirement that the other team was trying to fulfill.
The team discussion focused on the degree of engagement required by other team members when knowledge and experience is important. Having this conversation is a huge win as it level-sets expectations and ensures that rich and meaningful engagements occur between team members.
This is what a working agreement should foster: an environment where expectations can be set and met and discussion where team members can level-set on expectations with each other.
This level-set is an important component of developing team norms.