If you have been in the development community long enough, you must have come across the concept of a 10X developer. This is a mythical programmer that can do ten times the work of another normal programmer in the same amount of time and with higher quality.
I say mythical because, in my opinion, only teams can perform at that level. Yet, there is no denying men and women of special ability do exist. Furthermore, they are the stuff upon which great teams are built.
Will and Ariel Durant put it as
If we knew our fellow men thoroughly we could select thirty per cent of them whose combined ability would equal that of all the rest.
Or to use one of our own heroes, Steve Jobs
A players hire A players, B players hire C players
With this factors in play, once every while, a star team forms that performs superbly well. This team is almost certainly composed of very capable individuals. Unfortunately, the teams tend not to be stable because once formed, other forces conspire to break them apart.
In this entry, we will be looking at how you can be unwittingly killing off your greatest asset, your team.
Assigning a team member to multiple teams
This is by far the most common practice I have seen. To be honest, I have done it to my team members as well.
The benefits are visible and alluring. To name a few:
- Some resources are very expensive and need to be shared. For example, a specialist in machine learning who we pay say 500k would not make economic sense to be housed only in a single team
- Knowledge of the expert gets to be shared across the entire organization
- They just get sh*t done!
Unfortunately, the costs are not visible.
The strange thing about the most capable people is they have the hardest time saying no. Deep within them is the craftsman integrity, if something is required of them, they will get it done. Over time they get more overworked as they shoulder the heavy burden imposed by their own competence. Being humans, some other members will loaf off tipping the dynamic into an even worse state. Eventually, you end up losing this overworked resource to another organization.
Shifting a team member across multiple functions
This kind of rotation is important for new team members who need to understand how the business works. It’s also very useful for those who need a change of role. With that said, moving employees haphazardly across the organization means they never have the gestation period necessary to properly settle into one team.
You see, we are social animals, whenever a new animal joins our pack, they immediately become the object of interest. We ask ourselves questions such as:
- Will they conform to how we work?
- What is their working style and will it affect us?
- How does their presence change the power dynamics?
Eventually, the team does accept the member and hopefully, they become productive.
Fail to allow for this time and you have an individual who feels they constantly have to combat the social challenges of being the newcomer instead of producing what you pay them to.
Not providing proper communication tools for remote members
I am a big fan of flexible and remote working arrangements. With that said, I still believe a team should meet often.
As referenced in problem with big teams
Peer pressure is far more effective than the concept of a boss and much more powerful
If the team members can not see each other, how will they get the time to develop the necessary social bonds for interdependence to take over?
A rule of thumb would be:
If any one team member can not make it to the physical meeting, the meeting should be conducted as if the entire team is remote
This means stop being stingy. Invest heavily in communication equipment. The payoff will definitely be worth it.
What do you do to protect team members? Talk to me in the comment section below or on my twitter @jchex