A successful team is essential for the company and the group itself.
This question pops up sooner or later in any job interview: How do you imagine your perfect workplace? Anybody has an idea of what and how they want to work if they could choose freely. The most critical part is The T.E.A.M. (or To Evolve And Mingle)! The people I’m spending more time with on weekdays than with my wife or my kid. The folks I’m trusting are doing their jobs the best way they can - just as they trust me.
Why is the team so important?
I firmly believe that the ultimate reason a company is successful or not is neither its vision, business plan, or product - it’s the people! The people and the way they work together decide if a customer will receive his order on time and in perfect quality. They decide whether the team will launch a product. They choose if they’re going to improve their work process to lower costs or speed up production. And by determining all that, people choose if a company is successful or not.
One might argue that it’s actually “the management” who decides these things - as if it was some higher deity.
But in my world, the management is part of the team, just like any other person. Every employee in a company has a specific function - marketing, development, infrastructure, finance, or management. And the role of leadership is - well, to lead. That means giving sense to all efforts, providing a direction (see pt1.) for the company, and enabling all employees to deliver their best for the company’s success. The management removes impediments for the teams, provides needed resources (e.g., H.R.), or takes care that the people who want something (aka stakeholders) are talking to the people who deliver the product (designers, developers).
Simplified said, the management says what needs to be done but not how the team will do it (sometimes not even explicitly who will do it).
It comes down to the individual to decide how and when they finish that specific task. In a team, people need to believe that every one of them is giving their best while doing a job - a concept known as trust. People in a team trust each other. They believe that the designer is well skilled and capable of designing just the proper interface for the product. They rely on finance to ensure that they work all the paperwork correctly and everyone’s getting their salaries in time. They believe management makes the right strategic decisions, and they trust the developers to deliver the product in high quality.
Trust is the essence of a team. Or in other words: a group of people sharing a common goal and trusting each other is a team.
What makes an ideal team?
Let’s think again: why did we initially decide on a team? Why did we hire more people for a job that one or two guys have performed originally? Because we wanted to scale the work - four people instead of two on a task means double outcome simultaneously. And yet, reality seems to prove us wrong all the time. The more people we put on a job, the slower it seems the process is, the more management overhead is required, and the group will create less outcome. We don’t think about what our ideal team is, we don’t think about what we need to scale the result. I know a lot of great developers, but some of them are just not able to work in a team because they hate people around them, don’t see the need to communicate, or don’t want to share responsibility. So, the trust within the groups is what characterizes my ideal team. But besides that, there is more to a team to be productive and high performing:
- Size - having more than 5-7 people on a team is just not productive because you have a massive overhead of communication and coordination within a group and potentially growing management effort. All this will lead to frustration within the team and decrease productivity.
- Dedication - if you don’t love what you do and are not entirely dedicated to your work, you will never provide any value - no matter how much trust there is in your team or how many perks your company has is offering. I want to work with people that can’t wait to get up in the morning so they can start working on the next feature.
- Skills - I want to learn from my co-workers just as they want to learn from others, at least that’s my opinion. So, of course, I want them to be skillful! That doesn’t necessarily mean being a high-class developer, a top manager, or having a long list of experiences in operations. Learning can happen on different levels. I can learn from an intern who has a brilliant idea. Having great ideas is a skill - go and ask Elon Musk! I can learn from a product owner who just launched a bold experiment - and succeeded. Boldness is a skill, too, as much as being able to put oneself in the user’s position. Inspiring people is also a skill - all these are things that people in a team should learn from each other.
- Self-organized - I will not pull out the agile hammer here. I expect the people in a team to talk to each other about the work. To share responsibilities among them, brainstorm on tasks, and finally agree and commit. That’s all. No ceremonies, no board games, no processes - they talk to each other about what they want to do and raise their hands if they have a problem.
It requires a team to do teamwork, and shaping a team is one of the most challenging jobs on earth, and it might sound arrogant, but I don’t want to do that. I want to be my ideal team in a company rather than working on 9-5.