Since 2017, I’ve been assigned a new role here at Runtime: managing a team of six people (including me), managing an international partner, and managing a software project (well, not just one, but rather six projects).
We work from Lisbon to the rest of the world, so as a Team Leader I should be prepared to work and interact with people with backgrounds, culture, and experiences different from my own. A TL should always keep in mind that their capacity for managing the partner, the project and the client, as well as evolving their technical capabilities, are fundamental aspects for the success of their team. While the technical ability is something that you can work and evolve by yourself, the other 3 management components are highly dependent on the specificity of the Partner, the project and the people that are part of your team.
Well, if managing a project is not an easy task by itself, can you imagine how to manage 6 active projects in a 6 people team? Let me show you how to make it and still be able to get home and watch my favourite TV show on Netflix!
Partner Management
As Team Leaders, we are one of the most important interfaces of our company with the outside world, we are the ones that, through our daily interaction and communication with the Partner, expose our culture, and our way of being and working.
But what is a Partner? Is it an entity? Or a single person? No. A Partner is a team just like us, that looks for cooperation to achieve the success of the product they are trying to build.
First of all, we need to understand how our Partner works, what are their concerns, what are their expectations, and how they organize themselves. By knowing that, I can interact with and more easily anticipate the Partner and the people working from the their side.
However this is not enough, we also need to know the people on their team, because they will act differently depending on the project they are working on. The six projects that we are working on, were managed by at least three different people on the Partner side, so it was really important for us to get to know each other. Understanding what parts of our work we can complement each other on and building trust, makes both of us comfortable with the work that we do.
Project(s) Management
There are a lot of characteristics that can define a software project, I usually base it on three distinct factors: the technological stack needed for its development, the complexity of the project, and the delivery schedule.
To organize ourselves, and to be effective and focus on projects at the right time, we categorize our projects into 3 categories:
- Big
- Medium
- Small
All projects are important to us, so this categorization is not related with the importance of the project, it is a metric to better schedule our daily work and define priorities.
We call Big projects to the well established ones, these are projects where most of the team have knowledge of them and have already worked on those. These projects require well defined processes, and normally don’t need a quick response from us. Usually because new features need to pass a sequence of approval steps until they are considered done.
Small projects, are the ones that have less resources allocated to them, but that normally need a faster intervention time. These are usually projects that are going live and need some changes or superficial updates, or projects that need to be done in a small period of time.
Medium projects are the ones that can have both characteristics from the Big and Small projects.
Team Management
The last of the management components, but certainly not the least important, is team management. I am of the opinion that it is the most important one since its execution and performance is what supports all the remaining components.
Every team is composed of people, differing among themselves, each one with their own background, their own experience, their own way of being, but with a collective goal of joining strengths for the success of the team.
So in our Multi Project Partner, we needed to adapt our team organization by creating our own “multi-teams”. Inside a work group we have team members that are not fully allocated to a project, and their time is split between 2 projects at most.
On Small projects, sometimes there is the need to have the same person working on all of them, so it is possible for one person to be working on more than two projects at once, but this is an exception and not the rule. What we do in those cases is assign the Team Leader to work on those projects, leaving the remaining team free to be as focused as they can be on their allocated projects.
Aside from the fact that we still need to work on different projects, we also work near each other physically, so it is important that all team members are aware of the difficulties and challenges that a fellow team member may have in a different project.
In order to keep everyone up to speed and aware of the status in all projects, we do daily stand ups where each one of speaks about what they worked in, what they are working on right now, and what things are blocking them. This is a mechanism that helped me a lot as a TL, because it allows me to better understand the needs of the whole team, and, more importantly, it allows each team member to know what is being done on all the team projects in order to be ready to help a colleague solve a problem if needed.
Time’s Up…
Managing a Multi Project can be exhausting if you don’t have a good strategy and a plan to organize your daily work as well as the team’s. The mechanisms I’ve presented here are based on two main assumptions: interactions between all the actors involved and decentralisation of information.
Neither all the information nor all responsibilities should be focused solely in one person.
So what makes us carry on is the daily conversations that I have with my team members and Partner, discussing software solutions and helping them on the troubles they have, managing their work and scheduling their priorities. This interaction is what makes me delegate all manner of tasks to the team, decentralising the effort from all the team members. I see my team and company members as colleagues with different functions and responsibilities, each one of them has their role to play and can actively contribute to more easily achieve success! Well they also contribute to allowing me to get home after my workday and watch my favourite TV Show on Netflix!
I work at Runtime Revolution from sunny Lisbon to everywhere. We transform ideas into scalable products. I’ve learned a lot with this amazing team while helping our clients build their products.
Runtime RevolutionWe are Rails, mobile and product development experts. We can build your product or work with you on your project.runtime-revolution.com