Software News South Africa

What makes a high performance software development team?

Entelect was invited to FNB's second annual #FNBCodeFest, an event that sees developers prototyping innovative ideas. The event culminated in a 24-hour coding marathon, turning those ideas into something tangible.
What makes a high performance software development team?
©Robert Churchill via 123RF

The developers worked in teams of six to ten people and looking at the success of the end products, the competition raised the question: What constitutes a 'high performance software development team'?

1. The right individuals

The level of ability (or potential ability) and experience of members is crucial, and individual's selection will depend on the nature of the project. Fairly obvious, but worth stating.

2. Attitude trumps ability... every time

In general, there are two types of individuals: those who find problems and those who find solutions. Choose members who have a bias for finding solutions - they will bring energy to a team that is normally drained by problem finders. A positive mindset and can-do attitude go a long way.

3. Identify servant leaders

There's a school of thought that self-organising teams do not need a leader. A team leader will, however, often emerge naturally, especially where there are varying degrees of experience in the team. Whether explicitly identifying an individual as team lead or letting natural selection play its course, leaders who display the characteristics of servant-leaders (those who look to enable the full potential of those in their team, rather than taking an autocratic, command-and-control style) are better suited to leading high-performance teams.

4. Collaboration is king

Identify the combination of individuals that will communicate effectively as a group. Colocation is essential for 'high-bandwidth communication' and allows for fast and efficient problem solving. Distributed teams are becoming a viable option with modern tooling, but there is a significant trade-off when communicating across cities or time zones.

5. Eliminate cross-team dependencies

Assemble a cross-functional team that has all the skills necessary to get the job done. Waiting for external teams to complete certain tasks kills productivity.

6. A well-defined purpose is a strong motivator

Individuals who understand the big picture and who buy-in to the objectives of what the project is trying to achieve will naturally aim to maximise the value of their contribution.

7. Tolerate failure

Success often comes only after a number of failures. If you are looking for innovation from your team, tolerate failure. Create a 'safe' environment in which the team can experiment with ideas, new technologies and approaches. Encourage the team to explore uncharted territory and stretch the boundaries of what is possible.

8. Get involved - be a champion

Show a genuine interest in the successes and failures of the team and be a champion for the project and team across other business units. High-performance teams are proud of their work and recognition for their efforts will directly impact their level of motivation.

A high-performance team is a crucial element in delivering a successful product and once you know what constitutes a winning team, it could be the start of something game-changing.

About Doug Crawford

Doug Crawford (Entelect Manager of Service Delivery)
Let's do Biz