Teams within Team
Agile is the most popular software development methodologies & scrum being the most commonly adopted at team levels. One of the common issues of teams operating in silos in the traditional waterfall model is addressed in agile software development by introducing cross-functional teams. There are misconceptions about cross-functional teams such as every team members in agile teams are responsible for everything AND everyone in the team will be performing every role including development and testing. Mike Cohn, one of the contributors to the Scrum software development method stated: “A cross-functional team has members with a variety of skills, but that does not mean each member has all of the skills.” Individuals from multiple disciples of skills would be grouped to form a self-organized team, i.e. Agile Team
As part of agile adoption, unknowingly ‘Silios’ inside agile teams are created. Where developers referring testers as a testing team and testers referring developers as dev teams. One week of the sprint cycle is consumed by the developers and testers get involved in the second week for validation of code creating a mini-waterfall model inside a sprint cycle. Thereby vision of creating high-performing teams is near to impossible with such behavioural patterns and the existence of silos within and around the agile team is a major set back for effective performance.
Understanding how these silos are created within a team is something important before we focus on eliminating the same. Common patterns of working in silos across multiple team’s behaviours are the habits which were conceived from the old way of working. Often these get translated or seen as team culture and continue to pursue the same way in agile adaption journey.
How we can get the teams to align together and move away from silos?
I would like to list out a few points on how to align team members and pull them around towards the lane of high-performing teams.
In the process of agile adaption, we need to ensure the team understands the vision and one common goal for the team (Not as developers nor testers).
Set the mindset as Quality is the team’s responsibility - So that developers and testers pull their sleeves whenever & wherever necessary and help each other.
Evaluating the performance of an agile team (Not as individuals) - Moving away from traditional KRIs and measure based on product delivery. Asking what is the quality of the product being delivered sprint on sprints is important rather than asking how many numbers of lines of code written or the number of defects found in the product.
Value everyone in the team and embrace the unique skills they bring into the team - Respect and treat every team member equally.
Coordination, Collaboration and Communication (3Cs) are three critical aspects which enable teams towards the journey of high-performing teams. Team members have to coordinate among each other and exchange necessary information and share resources in support of each other while they bring unique skills to the team and build the system as a whole. Collaboration is a way of working where there is synergy and shared responsibilities with the team. The outcome of any system or product will be near to impossible without the contribution of every team members and collaborations stands out as a key behaviour. Communication wraps everything around where team member openly communicates with each other and shares feedback. Leaders and managers should set up a rite environment where team members can share ideas with no fear of conflict. Most importantly, creating a healthy collaborative environment is needed rather than individual competitive environment.
The whole idea of silos in an agile team can be changed with new habits and practising to increase better coordination, enhanced collaboration and open communication. Once it becomes a habit, the new way of working will eventually become the team culture and thereby incline towards high-performing teams.