2024-06-04
/
Building Cleo

Teams are immutable

Fell Sunderland, staff engineer at Cleo, explores how seeing teams as immutable entities can offers new insights in how we lead, organise, and manage teams.

Teams are immutable banner image
IN THIS ARTICLE:

In my experience as a staff engineer at Cleo AI, I've come to see teams as not just collections of people, but as distinct items; and I’ve learned that you can’t just add a new person and expect your team to work as it did before but maybe a little faster; and when your senior engineer goes on maternity leave, you might need to rethink how you run your team’s ceremonies. I’ve used data immutability to bring stability and predictability to our code, and viewing teams as immutable entities can offer us new insights and approaches to how we lead, organise, and manage our teams. This perspective not only helps us navigate changes more effectively, but also fosters a healthier, happier, and more productive team environment.

Team Changes Make Entirely New Teams

One of the key realisations I've had is that any change in a team's composition essentially creates an entirely new team. Whether it's a new member joining or a long-time colleague moving on, the team dynamics shift in significant ways. It's not just about filling a role or losing a skill set; it's about the unique chemistry, interactions, and workflows that come with each individual, and the needs and desires that each person has. Recognising this can help us approach team changes with a mindset that’s more adaptable and open to redefining how we work together.

There’s some elements of this in a common terminology used to describe how teams come to work together: the progression of Forming, Storming, Norming and Performing. I believe, to a greater or lesser extent, that this happens every time a team changes, and that by deliberately choosing to treat a team as a whole new team when changes happen, we can avoid a great deal of angst about why processes that used to work no longer serve us.

For instance, when a new engineer joins the team, they bring with them their unique experiences, perspectives, and working styles. This can influence how the team collaborates, communicates, and even how they approach problem-solving. Maybe their old team or company had a way of working that they loved, and they’re hoping to try a version of it again; or the team does something that doesn’t gel with how they like to work. Similarly, when a team member leaves, it can create a vacuum that alters the team's balance and functionality. By truly understanding that these changes create a new team, we can better prepare for and embrace the shifts, rather than resisting them or trying to maintain the status quo.

There Is No Perfect Process

The agile manifesto talks about considering individuals and interactions over processes and tools; often shorthand referred to as “people over process”. What worked brilliantly for the team last quarter might not be effective now, even if the team hasn’t undergone changes. Processes should be seen as living documents, adaptable and ever-evolving. It's essential to regularly revisit and reassess our workflows to ensure they meet the current team's needs; holding on to a process that no longer serves the team can hinder progress and morale.

It's important to foster a culture where continuous improvement is encouraged, and celebrate team members who regularly reflect on and provide feedback about the processes in place. Conducting retrospectives after each project or sprint can be a valuable tool for identifying areas for improvement; but like every tool, it has its time and place. Remember, the goal is not to have a flawless process but to have one that supports the team’s growth and productivity.

Don't Put All the Impetus on New Joiners to Ask for Change

When new members join a team, there can be an unspoken expectation that they should adapt to the existing processes and culture. This puts them in the position of having to push back against a status quo, at the time when they are least connected to their new team! Instead, we should create an environment where feedback is actively sought and valued from everyone, especially new members. It can be useful to start an assessment of the team’s processes whenever there’s a change of team membership. A new joiner can bring fresh perspectives, and they often see inefficiencies or issues that those accustomed to the way things have been might overlook.

As leaders, it's our responsibility to ensure that new joiners feel comfortable voicing their thoughts and suggestions. This can be facilitated through regular one-on-one meetings, anonymous feedback tools, or simply by fostering an open and inclusive culture and being honest about our own priorities, focuses, and struggles. By doing so, we not only empower new team members, but also help to make a safe place for them to bring their insights to improve the team's overall experience, making sure the way that we work works for everyone.

Adding a Person to a Team Might Completely Change What the Team Needs

Adding a new person to a team doesn't just change the team composition; it can completely alter what the team needs to function effectively. This might mean revisiting roles, redistributing tasks, or even rethinking project priorities. Each new team member brings unique skills, experiences, and perspectives that can shift the team's trajectory. Every person has their own accessibility needs, and things that they like and dislike. Being proactive in recognising and adapting to these changes can help in harnessing the full potential of the new team that we’ve created.

For example, a new member with a strong background in DevOps might highlight the opportunity for better automation tools and processes, which could significantly improve the team's efficiency. A new team member with expertise in running inception meetings might open up new possibilities for the team's projects. Alternatively, if a new junior engineer joins the team, the team might need to spend more time on writing detailed documentation or pairing to support them. It's crucial to remain flexible and responsive to these changes, ensuring that the team's processes and priorities align with its evolving composition.

Teams Cannot Be Directly Compared

It's also important to understand that teams cannot be directly compared to one another. Each team operates under different constraints, utilises different processes, and consists of members with varying levels of seniority and skill sets. A common pitfall is attempting to measure teams against each other based on metrics such as velocity or points completed per sprint. It can be useful to compare a team against its own performance in the past, and to understand what’s changed; but trying to compare across team boundaries often leads to confusion or frustration from those who come off less favourably in the comparison.

Additionally, as highlighted in the classic book "The Mythical Man-Month" by Frederick P. Brooks, the notion that adding manpower to a late software project makes it later underscores the complexity and non-linear nature of team dynamics. This principle further illustrates why comparing teams or expecting uniform performance from different team compositions is impractical. Each team has its own rhythm, strengths, and areas for improvement that are distinct from others; This is something to celebrate and build on, not something to resist.

Conclusion

Viewing teams as immutable entities can provide valuable insights and helpful intuitions for team dynamics and management. As leaders, it's crucial to understand that any change in team composition creates a new team with potentially new needs and processes. By staying adaptable, actively seeking feedback, and being open to redefining workflows, we can foster more resilient and effective teams, full of happier and more fulfilled people. Embracing the idea that teams cannot be edited but are continually formed anew can lead to a more positive and productive approach to team building in software engineering.

By recognising the immutable nature of teams, we can better navigate the complexities of team dynamics and create environments where every member feels valued and empowered to contribute. This perspective not only enhances team performance but also promotes a culture of continuous growth and improvement, ultimately driving success for both the team and the organisation.

FAQs
Still have questions? Find answers below.

Read more

signing up takes
2 minutes

QR code to download cleo app
Talking to Cleo and seeing a breakdown of your money.