"The continuous change of priorities in combination with the growth of your team can be overkilling without a good understanding of how to scale an agile team."
I have been working at CoverWallet for the past two years and before that, I spent another two years working for Insurance companies in a consultancy firm. In these four years, I have built architectures and software to help the digital transformation of the industry. Besides my experience in the insurance world, I have been leading tech teams for more than 10 years in different environments and circumstances. I have faced different challenges during my career and that is what I want to cover in this article, the different challenges of leading a tech team in a fast-moving environment and the learnings obtained along the way.
Historically, tech departments have approached projects trying to have everything defined and planned beforehand. Companies used to invest several months on trying to put on a paper how the final solution would look like and then, start a long period of software development until they released a first version of the solution, probably months or even years after the project started. For the past ten years, successful tech companies have evolved in the way they approach technical projects and the concept of MVP (Minimal Viable Product) has become a standard.
Working in a growing company or project means priorities are constantly changing. Market fluctuations, new opportunities arising or simply the natural evolution of your own project to not stay behind your competitors. Project management has to adapt to this philosophy and because of that, Agile methodologies have been adopted by the tech industry to manage teams and projects.
Being agile is important but is not as easy as it seems. When companies succeed, teams grow. The challenges a leader faces when managing small teams of 5 to 10 developers are different when the team goes to 50 or even 100 developers. That continuous change of priorities in combination with the growth of your team can be overkilling without a good understanding of how to scale an agile team.
As a leader of a fast-paced team, you need to set clear goals. You have to define what success looks like and the steps the company will take towards achieving that success. This is not a one-time exercise but a continuous process that will happen every few months, probably quarterly. Fast-growing companies define short-term goals and achieve them fast, so the process will repeat itself several times during the year.
The main challenge as a leader is not just defining these goals but communicating them to the team and making sure everyone understands them. People do not want to work on things they do not understand. Motivation and engagement are the fuel of high-performance teams. In order to have a team motivated and engaged it’s not enough to define a goal every 3 months and step away. As a leader, you have to continuously communicate the progress of the team towards that goal and make sure everybody is coordinated and aware of the situation, whether we are achieving our goals as expected or not.
Finally, it’s important the way you decide to communicate with your team. You need to share the information in a way that is always available for everyone when they need to consume that information. Favor written communication, avoid instant messaging people and use general channels to share information but always back it up with links to documents, wiki spaces or any other place where the information is persisted on time and not that volatile as a message in a channel.
Another important concept is the processes you put in place to make sure coordination between members of the team flows as expected. Freedom in terms of processes is something you can manage in small teams but when teams grow, you need to define processes that ease the day-to-day work of the team. If you want people to focus on important things like the delivery, quality or scalability of your products, you need to define processes that help your team not think about small details that are not so important. SCRUM ceremonies are an example of processes that everybody in the organization can follow. You can have 10 different teams but all of them know how to organize their work (sprint plannings), where to get the inputs (backlog) and what should be the output (end of the sprint).
Having many people doing the same routines is very challenging but as a leader, it will ease your job. You need to receive information from different people, digest it and generate outputs that make you understand the status of the company. If that information is served to you in many different ways, your work digesting it and understanding it will be slower and less precise. Defining a clear structure of the teams, the different types of roles in the organization, their responsibilities or even the events you want to happen with clear inputs and outputs, will help you delegate your responsibilities and with that, your team will grow in a more organic way.
The last concept I want to share is the need for generating leaders. The impact of one person is limited and it is not enough to scale a company. You need to empower people to become leaders. Every team needs a leader and when you have many teams, you cannot be the leader of all of them. People normally want space to grow and as a leader, you need to provide them with that opportunity and foster it.
People have different skills and because of that, you will find different types of leaders. You will find people with high technical skills that will help you to evangelize the rest of the team in good practices, define a solid software architecture or mentor more junior members of the team and new joiners. You might also find people with a talent for organization or communication, those people will help you organize the teams, spread your communications and have the team coordinated. If you’re lucky, you will find people with both sets of skills and those are the ones you want to have higher in your leadership ladder.
You have to lean on those leaders to share your messages and to get feedback from the team. Ideally, you should work closely with them and be clear on the processes you want to put in place or the messages you want to share as they will be key for that. You need to help them understand what you expect from them and provide them with the tools they need to succeed.
The three concepts explained before are completely related and your success will depend on all of them and not just one. If you do not properly communicate with your team and generate healthy channels of communication between them, the processes you put in place will not be properly implemented. And if you do not have well-defined processes in place, people won’t be able to step up and become leaders. You won’t be able to properly delegate and your job will become more complicated and less efficient.