In my fifteen years in the software development business, I have had the pleasure of working with various teams, in various countries. I have always been on the delivering end of the product and I believe that I have gained some valuable insights into the characteristics of a high-performance development team. I have really enjoyed my journey so far, and this question of what makes a team work and what kind of leaders that are needed has become a passion of mine.
In this article, I have taken the liberty of sharing a few bullet points on the topic of what I consider to be the essential traits of a high-performance team and their leaders. But first I would like to elaborate on what I consider a high-performance team to be.
An example of a high-performance team is the NASA team behind the first space exploration missions or the team behind the success of Henry Ford. A team that performs above expectations in terms of quality and speed, with a high level of competence and a proven track record.
There is a reason why methodologies like Lean and Scrum have conquered the world. Applying top-down management on teams is usually not the best option. Instead, letting different people take on different roles in different teams depending on what is needed in that specific context, is a much better approach.
In my experience, the Pareto principle, that says that 80 percent of the result comes from 20 percent of the investment is very true, and if allowed, teams are usually organizing themselves in a way that maximizes output.
Usually, this means that the top-notch developer in the team is put in a position where he can shine and be highly productive while other developers might take a more supportive role. The same is true for other roles as well, like quality assurance and graphic design.
Unfortunately, employees are often being promoted to become project managers and team leaders on the false belief that high-performant individuals naturally have what it takes to lead a high-performant team.Unfortunately, employees are often being promoted to become project managers and team leaders on the false belief that high-performant individuals naturally have what it takes to lead a high-performant team. Click To Tweet
“Leadership is the process of influencing others in a manner that enhances their contribution to the realization of group goals. We demonstrate how social influence emerges from psychological in-group members, particularly highly in-group prototypical ones. Through leader fairness, respect, and other rhetorical behaviors, leaders become entrepreneurs of identity, creating a shared sense of us.” Taken from The Oxford Handbook of Social Influence
High level of engagement and a strong focus on delivering output
A high-performance team will consist of highly competent and engaged people, with a strong focus on delivering output and a leader that helps the team stay focused on the task.A high-performance team will consist of highly competent and engaged people, with a strong focus on delivering output and a leader that helps the team stay focused on the task. Click To Tweet
As a leader, you can’t anticipate your team to be engaged in the task at hand, if you at the same time actively keep project information away from them, or make decisions over their heads. There will always be an “us” and a “them” and as a leader, you better choose the right side if productivity is of your concern. Transparency in decision-making is vital.
The ability to focus and being engaged is important and this is an area that is often not given enough importance during the recruitment process.
It doesn’t matter how well someone performs on their spare time, as a freelancer or as an open source community developer or how smart he or she is, if that person is not also highly engaged when it comes to delivering for the team and the company.
The more mature a team is the better everyone in the team will know their roles and responsibilities.
In many cases, in many companies, teams are not fixed, this might be out of necessity because of a limited number key resources that need to be allocated to different projects depending on priority to secure quality and productivity. In general, this is something that should be avoided if possible.
There is an interesting theory by Bruce Tuckman, stating that all teams go through four different maturity stages; forming, storming, norming, and performing, and It is not before the teams reach the last stage “performing” that they can maximize their output, and this can take time.
Some teams will never be efficient because of incompatible team members.
Continuously learn and improve
Especially within the world of software development, continuously learning new things, and improving internal processes are essential. According to Stack Overflow 75% of all respondents said that they learn a new technology at least every few months.
Unfortunately, especially when it comes to software consultancy firms, developers are expected to keep up with the latest technologies in their spare time, and very few hours if any is allocated for this during working hours.
A problem with hourly billing that we see sometimes is that too much focus is put on the short perspective to maximize the output per hour in the short run.A problem with hourly billing that we see sometimes is that too much focus is put on the short perspective to maximize the output per hour in the short run. Click To Tweet
There is a famous influential system developer that goes under the acronym Uncle Bob who soundly states that you need to spend at least 15 hours a week on your career.