How to have and keep a rock star development team

Updated! This is an updated version of the original article. Last Update: February 08, 2021

Let’s face it - managing a team of developers can be challenging. Developers are expensive, picky, and some managers even go to the extent of calling them lazy. In the end, though, developers are people, and they have their reasons for everything they do or don’t do.

Stages of Team Development

Historically there always have been theories about following a model when building a capable team. Thanks to the work of an educational psychologist, Bruce Tuckman, one popular idea broke down the process into four main stages: forming, storming, norming, and performing. Let’s explore each step defined by this model and see how it relates to software development’s specific reality.

Forming

Meeting the team for the first time may reveal some individual trait incompatibility that could escalate later into deeper trouble. The initial stage where all team members meet is more like an opportunity for new acquaintances than anything remotely technical. The first day at school is an equivalent experience. Although your relationships with classmates and colleagues are fundamentally different, first meeting them produces a similar experience. Some more eager team members might use this opportunity to induce authority – by imposing their supreme skills or showing a more competitive nature. An early clash of interests between team members proves to be a severe challenge. If the initial meeting proves to be problematic, what about later stages, when problems become tougher. A team’s effectiveness does no lay on their skills but on how well they can work together.

Storming

If meeting the team can be a challenge, wait until they start working towards a common goal. When people plan a trip to Everest, they carefully choose their companions. In this extreme case, selecting a good companion can be the difference between living and freezing to death. In software development, the life-threatening factor in ice-climbing is not there, but some of the best teams have the synergy and responsiveness of skilled expedition guides.
During the storming stage if team cooperation prevails, the chances they could work well as a group increase. If the forming stage reveals problems personally, storming does on a more elevated level – team goals. Few curious theories about team synergy suggest that leadership is not a skill reserved to a single person, in our case: the team leader. Every member that’s part of any outstanding software development team has some leadership skills. As part of a team, everyone quickly recognizes each member’s role, abilities, and responsibilities, as well as their own. But it takes some leadership skills to tell the difference between the two.

Norming

Once past the storming stage, the winds weaken, and the storm recedes. But it’s not over yet. The team has proven they can do a task without tearing each other apart. That’s great, but can they do it consistently? Passing through the storming stage does not necessarily mean all the interpersonal issues from earlier are resolved. Instead, it means the team is aware of them and will not allow them to reoccur. Learning to cooperate in a team environment effectively sounds easy. Practice proves otherwise. The good news is that during norming, the team understands how to use all internal resources better. Roles are more clearly defined, there are fewer disagreements, and should a problem occur – it is quickly resolved.
Software development can be stressful, even for experienced professionals. One false step and the team can quickly relapse back to storming. Just like most modern eCommerce sites, team synergy needs maintenance and updates.

Performing

By this stage, team cohesion is self-evident and internal conflicts are resolved. As a result, resources are carefully allocated, and team efficiency is maximized. Congratulations, you have got yourself a top software development team where everyone gives their best. More importantly, with the team leadership requirement we mentioned before, everyone can bring the best in everyone else. Such a collective boost has technical and morale benefits and is a clear sign of a top team.
Now that we know how Tuckman’s model relates to software development teams, it’s time to glance at the type of environment where great teamwork thrives.

Company Culture

There may be a trillion reasons why a team is performing poorly. I’m going to shine some light on one topic that many businesses seem to skimp on or even miss entirely - company culture.
Company culture is something that usually develops naturally within a team. However, to keep everything nice and smooth, you need to steer your company culture in the right direction. Otherwise, you’ll shoot yourself in the foot.

What defines the company culture that happy and productive teams have?

Shared mentality

As a famous bunch of bears once said, “Sharing is caring”! In the IT world, this usually boils down to sharing knowledge freely, quickly, and efficiently. In practice, this means spreading knowledge in every direction. New requirements, technical breakthroughs, lessons learned during development - you would want to push these items across the team as soon as possible. Having more knowledge in the group means fewer surprises, less frustration, and increased productivity.

No asshole policy

You may have heard about the “rock star developer.” He is the lone wolf that swoops in and does 100 times the work of everyone else combined. He is the “Dr. House” of the team, the person who is always grumpy and arrogant but still manages to save the day. In reality, this guy is also toxic and would rapidly let the whole team down. Discrepancies such as this can rapidly spread within the team and cause trouble in mere months. Even if you intervene by removing a bad team member, the company culture may be affected irreversibly. A crippled team will experience a low retention rate, productivity, and overall engagement. New hires are not likely to change this pessimistic tendency and would add to the build-up frustration.

The team is greater than the individual

Tricky to pull off, but a team that values collective effort can create wonders for your company. When building a high-functioning team, there should be a collective understanding that everyone participating is an indispensable part of something bigger. Having each other’s back is critical.

Focus on growth

Try to instill a dislike for mediocrity in your team. Challenge members to leave their comfort zone daily. Monitor your team, and ensure steady, sustainable, repeatable growth, but be aware that overdoing can cause burnouts. The balance between growth and unnecessary strain is fragile. Do not risk breaking your team cooperation by introducing over-ambitious plans or disruptive company practices.

Always be transparent

Always keep your team well informed and in the loop — all details are important. Keep your decision-making process open, and post regular updates on how everything progresses, in good times and bad.

Stay connected with the pulse of the team

Perform regular “One-on-One” meetings with your team. You will be amazed at the magnitude of the useful insights you can gain. A simple 15-minute conversation with your trusted people can have an invaluable impact. We know that developers can be a shy bunch – they have the power but need a bit of kindling. A clean communication channel would offer you a great perspective of how capable and dedicated your team is.
What you want to achieve during this meeting is pinpoint the progress since your last session.  What changes were beneficial? What do you want to do or change?  Have a list of points for discussion and try to keep the conversation going. Team meetings always hold nuggets of useful information, reveals facts for improvement, and keeps the team united.

Provide useful, balanced feedback

Having feedback is equally important, whether coming from you or your peers. To fully utilize the team’s voice, you need to hear and understand it loud and clear. One way to go about doing that is through a clear overall plan and easy feedback channel, like 360 reviews, for example.
The 360 review is a professional feedback opportunity that enables a group of coworkers to provide feedback about their fellow employees’ performance. Traditionally it is supervisors who required this feedback from their subordinates. However, a 360 review is omni-inclusive – everyone evaluates everyone else, while they themselves are getting scoped by the rest. The feedback data covers all the angles, hence the number in the term phrase.
A significant side effect of the ‘360’ method is that managers also pass through the review system, which is proven to quickly identify problem areas that otherwise may remain hidden and slowly cripple the organization.
A key piece of advice here is to focus equally on people’s strengths and weaknesses. The review process is neither a bashing contest neither an ego booster. A review is a tool people can use to improve themselves and get actionable insights. It also must be just a part of a giant feedback loop, not the one-stop-shop seen in the military and companies with rigid internal policies.
A full degree performance evaluation such as the 360 reviews is like a 3D map of your team’s self-evaluation. Use it to see what makes your people tick and what might act as the ‘spoke in the wheel.’

We’re on a mission!

Customers will never love a company until the employees love it first.

Simon SinekAuthor, Start with Why

Companies often try to get their employees more involved and enthusiastic about their work. It would help if your team can better identify themselves with their workplace environment.
Many businesses do not share their core business goals with their team. From your team’s perspective, the business mission is not merely earning more profits or taking a more significant market share. Think that your business pays their salary while burning away 8 hours each day is a mistake. An essential thing for your team is to know the answer to a question like “How are we helping people?”. Get your team on board with the idea that they are making people’s lives better. This condition gives the team two huge benefits:

  1. Team members know and feel they are a part of something bigger
  2. They have the mindset of someone who makes a difference with their immediate actions

Usually, businesses promote products to customers, but there is more to it than that. Never underestimate the emotional side to it. People like to identify with the products they buy. Your team better internalize the idea that they are shaping someone else’s groundbreaking experience. Such is the team mentality that leads to amazing things.
We conclude that building a cohesive team is an undeniable challenge. How about escalating these challenges into the present post-pandemic times? If you strain to manage your in-house specialists, imagine how tougher that would be when circumstances require having a strong remote team. We hope this article brought some revelations about how your team can better gear up for the tough challenges ahead.

Author

David Dorr, Head of eCommerce

David is the Head of e-Commerce at CodeCoda where he is responsible to lead several teams of eCommerce specialists. In his previous role as a data scientist for London Metropolitan Police, he was developing deep learning NLP algorithms as part of the Crime Prediction initiative. He then switched over to combine AI with e-Commerce.
He received a B.Sc in Physics from the University of Surrey, Guildford in 1996. With this scientific background, he switched relatively early in his life towards Neural Networks and e-Commerce and has ever since been fascinated with what AI and Machine Learning can do for Online Commerce.