Agile Software Teams, a Basketball Analogy

basketball-teamWhat makes a great basketball team? Having a great scorer? Having a great defensive presence? Both? Neither?

What makes a great software team?

The other day I was explaining team interactions and dynamics in an agile culture. Being that this was right after the NBA Finals I used the analogy of a basketball team.

In basketball, there is more to building a great team than simply hiring offensive scorers, it’s about creating balance on both ends of the floor and how well the players play together. In many respects, software is very similar.

In basketball it’s not uncommon to label players; Carmelo Anthony is an offensively-minded player. Joakim Noah is a defensive player. Software is similar in that we often have areas of expertise that often lead to labels,  “he’s a database guy”, “she’s a UI/UX person”, or “she’s a javascript guru”. However while players have specialties all players must be “good enough” at the other areas to not create a deficiency in the team.

It would be ludicrous to think that whenever the ball passes mid-court you give it to “the scorer” and expect him to score. Just as ludicrous is the idea that a single person guards the ball on the defensive end, even if that person is the best defensive player.

In 2013-2014 NBA season, the league’s best scorer was Oklahoma City’s Kevin Durant (29.6 points per game) however Oklahoma City averaged over 100 points per game. On average, the best scorer in the league, didn’t score 1/3 of his team’s points!

Why then, do we as software teams often find ourselves defining our work not as what’s effective for the team (shipping software) and instead labeling by functional area? We say, “that’s a designer task” or “that’s for the DBA to do”.

Great basketball teams:

  • Optimize to win games.
  • Win at all costs.
  • Adjust to the team they face.
  • Have players who play well with their teammates.
  • Put team successes ahead of personal accomplishment.
  • Have players who are great at their position.

The point is that having the best offensive or defensive player doesn’t necessarily win championships. What ultimately wins is great team play and adjustment to the team you’re playing. If the key scorer is getting double-teamed, someone else has to step up. If you’re DBA is tackling some gnarly “DBA stuff” and some other “DBA work” needs to get done, perhaps you need to step up and help out. Sure, you aren’t as good of a DBA as your DBA, but last I checked it doesn’t matter who scores the points at the end of the game – two points from Hasheem Thabeet counts the same as two points from Kevin Durant.

Software is the same way, great software teams optimize to deliver software, regardless of who did what tasks. Yes, specialization is important, however it’s the use of the specialization in concert with others on the team that leads to winning.

Whether you’re the scorer on the team, the backup person, or the defensive specialist, I would encourage you to not only learn your position well, but be well rounded enough to help your team win in any situation.

About Tim Barcz

Tim Barcz is a seasoned software professional having worked in the technology space for nearly 13 years. In that time he has been recognized as a Microsoft ASPInsider and a Microsoft C# MVP Awardee for contributions to the community. He is an advocate for well-architected systems that grow along with the businesses they serve. For several years he was the director of Marketing for a large ecommerce company before finding him in his current position as Vice President of Application Development for Motorsport Aftermarket Group, a family of top motorcycle related brands and retailers. MAG's companies include J&P Cycles and Motorcycle Superstore, two of the largest motorcycle parts and accessories retailers in the world. It is not the goal of this blog to be a one-way communication medium. It is my selfish goal that by sharing on this blog that readers of this blog will interact with me through comments and email, making us all better along the way. Follow me on Twitter: @timbarcz
This entry was posted in Agile and tagged , . Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • piotrb

    Spurs players are much better examples. Anyone can shoot but they are bunch of second round picks. And best coach.

  • Belén Gudiño

    I’d really like this article, I was thinking the same analogy after I watched “The Beautiful Game”, video about Spurs where is so easy seeing how with a team that works like a team we can go far away, not only have a star from which the whole team depends.

  • Tim Barcz

    Yes absolutely, but what about Dirk Nowitzki?

  • Keith Dahlby

    It’s certainly true that points from any player count the same, but there are certainly situations when one would prefer a certain player to make the attempt – it would be unfortunate for a big man to take a buzzer-beating three to tie.