The impossibility of a Dream Team
Having what you think is a software development "Dream Team" is really difficult. Actually, is it even possible?
Woah! Once this team gets up to speed a bit, we will be unstoppable
Have you ever had that feeling? I did. A couple of times, at least. That was my expectation.
At some point, I was able to have a very well-balanced agile team. Some of the persons were more skilled in infrastructure, others in Java and databases, others in CI/CD and testing, not forgetting about event-driven and incidents in production. Apart from that, all of them had the right personal skills; they were able to embrace the change, capable of arguing their way of thinking in order to improve the product or service, or implement solutions on which they were not 100% but not against.
In today’s issue, I will explain why it will be very unlikely for you to have a software development Dream Team, in a company that is in either rapid growth or hyper-growth, and how to deal with it.
Context
The 2 times (I can count) I had this feeling, it happened the same.
The performance of the team was getting better and better. Not only in the Agile way, seeing how the Velocity was increasing in every sprint, but also the “real feeling”; I could clearly see that the team members had everything under control (I was not a Bus Factor anymore!) and they were able to face and solve production issues as well, in a timely manner.
I won’t extend much more on the context, since I’m pretty sure that by now you already have in mind your own Dream Team, those people you work/ed with that made an amazing team.
A Dream Team is ephemeral
In my case, my Dream Teams were ephemeral. They did not persist in time. They stayed together for 1 year or 6 months.
But, why? The answer is simple at the end.
Everything changes in a company that lives in rapid growth. More often even when it’s in the hyper-growth journey. And this is natural for an environment like this, otherwise, the company will not be able to find its spot in this competitive world.
Different priorities will make your team change, due to new responsibilities coming into the team that they did not have before, or those priorities will split your team into different units by distributing them across other teams. Now, maybe, you have to start hiring again. Moreover, people evolve and move to other roles and responsibilities. Consider as well that, for un-expected reasons, people leave the company sometimes.
You as Tech Lead, as the captain of a team you built and care for, have to face now a situation where your team changed… even completely. How do you deal with this? Expectations.
It is about expectations, always. You have to expect, from day 1 you create a team, that changes will come, and you will have to adapt fast. You have to have a strategy to overcome this situation.
Strategies to overcome
Always think in the long term.
Something that I learned, to mitigate this situation, is to keep sharing knowledge as a cultural thing in my teams so, in the end, I will able to build back the team, avoiding as many changes as possible. This means that there are no silos of information; there is no one unique person that knows how to do “X thing”, but everybody could do it.
Also, it worked for me as well to ensure that no one is left behind in professional growth. You, as Tech Lead or Engineer Manager, have to work on the career growth of your team members, and also ensure that no one has a technical knowledge gap in comparison with the rest of your team members. Remember, an Agile team should be very well-balanced in technical skills. You do not want to be in a situation where the persons who stay in the team (after a team split, for example) are not knowledgeable enough about the topics the team owns.
As you can notice, these are strategies that must start from day 1. Those will not work if you apply them at the last minute or when there is 1 week left for your team to be split.
Final words
In this short issue, I wanted you to realize that you do not have to suffer when your Dream Team breaks apart. This is something that will happen; embrace it, expect it, and plan for it, so then you will be able to adapt fast.
Sorry if you expected something that would keep your Dream Team together.
Did you face this situation and you want to share your thoughts? What works for you? I will be very happy to read your comments!