by Alex Kataev, a development team leader.
I don’t mean to toot my own horn, but I’m actually convinced I managed to create a dream team, the best one in my whole company. Since then, I’ve tried to teach others how to turn their group into a dream team.
Here’s how you can do it too!
Let’s imagine a team leader. We’ll call him Tim. Tim is a good worker, he takes tasks and completes them, as that’s the main thing about his job. But other members of the team; product managers, CTOs, and developers always need a minute of Tim’s time.
So Tim starts to slowly burn out.
He doesn’t get enough sleep, thinks about work 24/7, he is swamped with tasks, and some of them eventually get forgotten or lost in the backlog. What will happen to Tim quite soon? He’ll either quit or make a mistake that’ll cost the company a lot of money.
Let’s have a look on how Tim would work in the company I work for. Currently, we have 17 development teams, each usually made up of a product manager, a team lead, and developers.
The product manager sets business goals, takes care of the money we make and spend, communicates with clients and customers. The team lead, in our case, Tim, is the Lead Engineer.
He is responsible for the:
— everything technical. But he is also a Project Manager and oversees all the processes inside the team; hires and fires people, teachers and instructs the team, leads and motivates.
How can we make Tim’s life easier? Your first guess would be to delegate all the small tasks so that Tim could concentrate on the really important stuff, like investing and management.
But this won’t work.
Why?
Because delegating takes time, you need to explain in detail how you want things to be done.
But Tim already works 10 hours a day, he doesn’t have time for that, he’d rather do everything himself.
Let’s try to create a new, more wholesome way of delegating.
At first, Tim needs to find simple, easy-to-do tasks. In most cases, you will know what these are. If you don’t, have a look at the work logs.
I usually write down everything I’ve done during the day and then review it. Most of these small tasks is addressing questions from developers, product managers, CTOs, clients and customers.
My solution was to create a Slack channel for all the questions.
Developers and QA engineers take shifts to be on call and answer all incoming questions. If they don’t have an answer, they just tag the developer working on that part of the product.
I don’t answer any questions in private messages.
Then we wrote a bot that explains the rules of the channel as you open it. By the way, we have appointed employees or trusted freelancer to write bots, the team developers don’t have to do that. That’s how I eliminated a ton of small but time-consuming tasks.
It can be optimized even further, with FAQs, for example.
Our hypothetical Tim got rid of most of the routine tasks.
What’s next?
Tim has a team of highly qualified professionals. But every now and then the project requires doing something small and simple, like transferring data, writing subtitles or sorting out documents. Tim doesn’t want to give his highly-paid staff such mundane tasks, so he does it himself.
For things like this, my company, Skyeng, has a department of personal assistants. The assistants have access to all the documents, they are supervised for quality control and these are not random people, they have been carefully selected and trained. Anyone in the company can appoint an assistant for a task through Trello using a template card.
Now, when most of the work is done, Tim doesn’t get distracted by little things and is sure that people who are responsible for those little things won’t screw it up.
But there’s one more aspect to consider; critical situations.
What should we do if the production server crashes in the middle of the night? Go wake Tim up to fix it? No, if we need a well-rested team lead the next day. So we set up a bot that makes a call if the server crashes. But it doesn’t call Tim, it goes to a developer on call.
Developers take shifts and have access to all the diagnostic tools and all the servers. Tim is not on that team, he will only get involved if the developer on call doesn’t wake up to investigate why it happened.
Additionally, we write a panic document that explains what to do if everything crashes.
Tim slept well and is now ready to work and go to meetings. And he has a lot of them. Could they be delegated? Tim has qualified people on the team, but he can’t just appoint anyone, it won’t work.
What did I do?
Let’s take technical reviews as an example.
First of all, I summarized all my expertise and developed an algorithm of a technical review. It covers numerous aspects, like why are we doing this, how to have a structured review, life hacks for discussions, templates for tasks and voting, timetables and samples.
I shared this document with the team, we worked on it together, and now we have the summary of the Skyeng expertise.
Then I asked if anyone wanted to be responsible for the tech reviews. Turned out, everyone was eager to do that. We set up a schedule and now do tech reviews in turns.
I do it too, as I need to stay in the loop. After the meeting, each of the participants completes a questionnaire to evaluate how the meeting went and how well did the host do. This feedback helps to improve the process. We also developed fundamental principles for each team that help to make decisions even without my opinion. These include discussing problems and risks openly, valuing high-quality results more than fast results, not outsourcing tasks. The principles may vary from group to group as you may, for example, have a need to outsource task or prefer promptness over quality.
Following this algorithm, Tim can limit the number of his meetings.
Now, when Tim is relieved of the most part of his work, he can rather do things no one else can do. What are they?
First of all, it’s team building and maintaining the team spirit.
Secondly, hiring and firing people.
Thirdly, speaking at conferences and sharing his experience. I believe that the time you spend at a conference is an investment in the future of your team.
All these things I’ve described can’t be done overnight. From my experience, it will take you at least a year to set up the processes and build a responsible team. But it’s definitely possible using the same principles whether you work in an office or online.
Thank you for reading! 🙏
If you have any thoughts on this post please leave comments below.
Previously published here.