Last week, CEO Kevan Hall was invited to participate in a round table on the subject of ‘What makes a successful software development team?’ held by SIG (Software Improvement Group) in London. In the first of a series of blogs as a result of that event, we look at team work in the context of developers.
Andrew de la Haye is the CIO of RIPE NCC, the European Internet administrator. He manages a large development team, whose software has been empirically assessed by SIG as having ‘five star software’.
We examined the structure of his team and the way that he creates – and reduces – teams. Kevan Hall (Global Integration) quickly recognised that de la Haye has unconsciously fulfilled the theory initially expounded by Robin Dunbar on the size of true, successful teams. He has his developers working in small groups of around six people, but responsible to their wider community.
This helps hugely in terms of collaboration and co-operation, and means that the software engineers on the team act as a self-regulator – they can see each others’ code, care about the quality of code that’s been written and work together where necessary. There’s a clear cost imperative in having high quality software in RIPE NCCs case – poor quality will mean changes later.
De la Haye has a visible ‘score board’ which shows each teams results, which serves to make them answerable to the wider RIPE developer community and helps keep them keen and competitive. He also has mechanisms in place, outside of simple financial arrangements, for helping reward staff and keep them motivated.
The ‘scrum’ methodology (agile development) that they use means that projects are broken into sections (each written on a post it note), and people decide for themselves who wants to work on what.
It’s clear that pride is a better motivator than pressure for the team – they have a strong emphasis on quality. Sure, there are deadlines, but the team has become adept at identifying where there will be complexity and working out solutions.
This empowerment feeds into a level of contentment amongst the team that keeps them motivated.
Consequently de la Haye can only recall one incident where someone was consistently underperforming, resolved by training.
There are, of course, wider factors at play. De la Haye recognises that he couldn’t micro-manage, even if he wanted to, because he’s not a developer himself. The company’s COO is also responsible for technology, so there are no budget conflicts. And although there are budget constraints, there is no profit imperative. RIPE NCC is a not for profit organization.
Overall, however, the great quality software that has emerged from RIPE NCC seems to be down to some great management principles, including a combination of good organization, controlled communication, rightsizing teams, empowerment and a culture of valuing quality.
Of course, not everyone agreed with everything that was said at the round table. We’ll be blogging some of the other findings over the coming days.
We’d love to hear your stories of what makes a great team ‘tick’, whether in a software development context or from another industry. Feel free to share your thoughts in the comment boxes below or by emailing us.