Building a good new agile team for a software development project requires more than just finding the right skills for a cross-functional team; it also needs governance, security, and an immune response cycle to maintain the wellness of team dynamics over time. What are the vulnerabilities for working teams, and how should you structure agile teams from the outset to promote and persist their healthy operation, and allow them to thrive over time?
This post is part of a series. Check out the other posts in How to Start New Agile Software Projects.
The Architect role
At Opreto, we include an architect position in every team. The architect role has evolved over the past decades, from delivering front-loaded technical design, systems integration and initiative planning to one that also focuses on empowering teams, strengthening communication, and facilitating healthy teamwork. In fact, we believe that the term “Software Architect” was so lacking in this entire dimension that we had to invent a new term for how we see it: the prosigliere.
Software Architects lead the way when it comes to establishing communication guidelines and cultivating a sense of psychological safety for the team, and they are the engine that drives the agile process. They must cultivate and reinforce positive team dynamics to ensure the team is ultimately successful and healthy. They must have the capacity to recognize, diagnose and ultimately mitigate dysfunctions.
In The Five Dysfunctions of a Team, Patrick Lencioni describes five common issues that hinder the success of teams:
“Absence of Trust” refers to team members’ reluctance to be vulnerable with one another, which prevents them from building trust and open communication.
“Fear of Conflict” is the reluctance of team members to engage in constructive and open debate, which can lead to suppression of ideas and lack of creative thinking.
“Lack of Commitment” is the lack of buy-in or engagement by team members in the team’s goals and objectives, which can lead to confusion and inefficiency.
“Avoidance of Accountability” is the lack of willingness of team members to hold one another accountable for their actions and results, which can lead to poor performance and low morale.
“Inattention to Results” is a focus on individual goals and agendas rather than collective success, which can lead to missed opportunities and underperformance.
These five dysfunctions comprise the majority of threats that a team may face, and having a evaluative tool such as this gives us a way to identify them and begin the process of mitigation.
The inclusion of the architect role in our teams helps identify patterns of dysfunction long before they become problematic, and helps us develop mitigation plans early. In general, we’ve found that promoting psychological safety and facilitating active communication are great ways for a team to mitigate these dysfunctions. Clearly defined guidelines are a good way to keep communication open, and there are targeted techniques to address dysfunctions more specifically which we will discuss below.
As a solid foundation for healthy teams, Communication Guidelines are a great way to optimize the format of discussions among the team to ensure knowledge is diffused in the right direction. A good set of communication guidelines prioritizes the following two purposes:
- Promote collaboration
- Eliminate knowledge silos
While guidelines can (and often do) focus on a host of other values, if you want to run nimble, self organizing, halocratic teams, it’s important to keep your communication guidelines simple and clean. That means they need to be laser focused on the essentials. Complex and lengthy guidelines only serve to clog the communication pipeline and add friction to the collaboration process.
Here’s a simple example from one of our team guidelines regarding how to give discussions more visibility. It’s taken straight out of The Art of Agile Development:
- Begin all discussions related to a subject in the virtual team room.
- Use threads to post answers and discussions in order to minimize clutter, but if you forget to use the thread function, it’s okay.
- If the discussion is brief and straightforward, no further action is needed.
- If the discussion requires more interaction, move it to a face-to-face video conference room with interested parties. Provide short chat summaries of the conversation every few minutes for anyone who is interested but unable to participate.
By promoting collaboration and eliminating knowledge silos, communication guidelines in a self-managing team help foster psychological safety by enforcing simple lines of communication that remain open to everyone all the time. No one should feel excluded, everyone has a voice.
When communication and teamwork deteriorates anyway, and as a preventative measure, there are team activities you can use to address specific pain points. Liberating Structures are team activities that are designed to encourage engagement and participation from all members of a team. They often take the form of team workshops designed to focus on specific aspects of your team dynamics.
Liberating structures provide a great way to address the common dysfunctions discussed above. For instance:
For “Absence of Trust”, a structure called “Impromptu Networking” can be used to encourage team members to get to know each other better and build trust. This is done by having team members quickly introduce themselves to one another and share something personal, which can help to build rapport and break down social barriers.
To “Engage in Conflict”, Liberating Structure “15% Solutions” can be used to encourage debate and the sharing of different perspectives. This is done by having team members come up with 15% solutions to a problem, which are small and incremental steps that can be taken to address an issue. This allows for a safe space for team members to share their ideas and perspectives without fear of rejection or criticism.
“Achieve Commitment” can be facilitated through “Trillion Dollar Questions” where participants are asked to identify a problem or challenge and then to come up with a question that, if answered, would generate a trillion dollars in value. This can help the team members to focus on the big picture and identify areas of shared interest and priority, which can be used to build commitment to the team’s goals and objectives.
“Embrace Accountability” can be facilitated through “Min Specs” structure, where team members are asked to identify the minimal acceptable standards of performance and behavior for themselves and the team. This structure can help to establish clear expectations and norms for accountability within the team.
“Focusing on Results” can be facilitated through “What, So What, Now What” which can help to align the team’s efforts with the desired results. This is done by having team members identify what has happened, what it means, and what should be done next, which can help to ensure that the team is taking action that is aligned with its goals and objectives.
The book “Liberating Structures” by Henri Lipmanowicz and Keith McCandless present these and many other activities in great detail. Additionally, several Miro boards have been developed to facilitate specific workshops. They can be found on the Miroverse website if you want to apply these to your own team.
Sustaining a healthy team over the entire lifetime of a project is key to its success, and it can seem daunting. There are tools available to a team to aid recognition and prevention of dysfunctions, and techniques to address those that do occur. Through the use of communication guidelines and cultivating a culture of psychological safety, we are able to identify dysfunctions before they become a large problem, and address them in a timely manner. Then, through judicious application of the Liberating Structures when Communication Guidelines are insufficient on their own, it is possible to diminish (or fully eliminate) identified dysfunctions. By embedding these processes into the functioning of the team from the outset, we make these sustaining efforts part of the entire lifecycle of the project, and help the team stay healthy.
This brings our series of posts about How To Start New Agile Software Projects to a conclusion. In this multi-part series, we have covered initial business domain discovery, how to establish a vision and map the project requirements, how to select an architecture, and how to build great agile teams capable of delivering excellent software. Look for a future series where we will describe how to run ongoing projects, and the approaches and techniques we use to accomplish that.