20 May 2021 (updated: 20 May 2021)
Chapters
Self-management is one of the key concepts in agile software development and agile project management.
Even in the Scrum Guide 2020, it is stated explicitly that "the teams are also self-managing, meaning they internally decide who does what, when, and how".
But what does it mean exactly? And how to build self-managing teams in reality, and not only on paper? We’re sharing the basics along with our company’s story and learnings after implementing self-management.
The most straightforward element of self-managing teams is independence. Self-managing teams do not rely solely on a manager to assign and distribute work and tasks among one another. They work together on choosing the best approach, manage their workload, and establish priorities.
Thanks to a more even distribution of both tasks and responsibility, they are also better equipped to deal with unexpected problems.
Usually, self-managing teams can regain control quicker than traditional teams because they are not dependent on one key team manager or coordinator.
In theory, the key benefit of self-managing teams is maximizing the team’s strengths, not reducing conflicts. Self-managing teams may not rely on one key decision-maker, but, especially at the very beginning of forming, they need a mentor to guide them and resolve potential issues. The more senior the team, the less mentor’s involvement it requires in typical day-to-day activities.
Self-managing teams are in constant communication, and hence, they are able to respond to potential pains or external fluctuations quicker. This is why they are better suited for big velocity projects.
With evenly distributed responsibility and knowledge among the team members, they feel ownership of the project and can take action. This usually corresponds directly to the project’s increased quality.
It’s a no-brainer that the team’s engagement in the decision-making process improves employees’ satisfaction and happiness.
A shared feeling of responsibility and support helps to utilize all team members’ potential and talents that can go unseen in a traditional setting. But it’s not only that. The culture of collaboration, support, and focus on improvement makes the team mature and develop skills much faster, both as a group and individually. Everything experienced collectively can be a learning experience.
At EL Passion, we used to work in self-managing teams within designated projects, but not as a whole company.
At the beginning of the year 2021, we switched our thinking and looked at our efforts from a quite different perspective (see Taking our Agile Delivery to the Next Level). Our goal was to build fully self-managing teams within EL Passion.
One of the reasons for the change was the pandemic switch to a fully remote setup. The shift from the office to a home affected our knowledge and information sharing.
The office provided a space for developers to consult and help one another freely, but this space vanished when we went remote, and for some time, we could not find a way to maintain the flow. Sometimes, people could feel at a loss about who they should consult not to intrude into their responsibilities or a project.
Our Development teams used to have one designated leader for separate teams, i.e. Web, Mobile. This meant that, in some cases, one person was supposed to guide a group of over 20 people. 1:1 meetings would be too far apart to address some of the team members’ pain points. Some improvement ideas made by the team would get stuck in the process because of the projects’ workload and day-to-day responsibilities.
The remote setup only exposed those obstacles even more, and we realized it hinders the growth of the teams and the people individually.
The remote setup unveiled yet another challenge for us. Because of the team distribution, our Business Development specialists had a hard time knowing what developers and technologies were available at that very moment. They were not aware of all the development teams’ skills, and there was no one in-between to guide them or inform them about it.
Other than that, the projects’ handover was complicated on both ends. E.g. on a smaller project, it’s not uncommon for one person to carry most of the information. In case the person gets sick or leaves, it was very hard for someone else to jump in right away, not knowing everything.
Development teams at EL Passion are composed of 6-8 people, with different competencies and skills from both, front-end and back-end (native mobile technologies are a separate team). This not only enables them to take on any project, but also makes it possible to consult and support one another with no interruption.
Every project is assigned to the whole self-managing team, so the project’s information is evenly distributed and never in the hands of one person. This minimizes the risk for clients and for the team.
Every self-managing team has its own team leader; 1:1 meetings are carried every two weeks, so it is easier to address any pain points and progress in real-time. Team members know exactly to whom to direct their problems and improvement points. It is easier for the team leader to help direct their team members’ career path and support their growth.
Every week, teams have a catch-up meeting to know what is going on in their projects, what were the issues, wins, fixes etc. In a remote setup, it is particularly valuable as it allows the team leader to see how the team’s doing and react if there is something wrong.
We’re just at the beginning of our journey, so there are many learnings still to come. Right now, we can say this: our teams are happier as they feel both more connected to the job and to the people around them.
Taking the step towards self-management and evolving in this spirit has been a win-win situation for both, our teams and our clients.
We’re going to continue to share our next steps and learnings, e.g. on our Agile Unlocked meetup, and on our blog. Stay tuned!
21 November 2024 • Mariusz Heyda