Originally published at blog.testing-land.com on November 7, 2018.

Why Are Software Development Teams Similar To Football Teams?

Sandro Schuh on Unsplash

I used to be a football fan in my adolescence and young adulthood and I was rarely missing the important derbies on TV. I knew by that time all the big teams from Premier League, Serie A or Primera Division and all the famous players. The crush was so real, that I was keeping a journal with all the match statistics of my favorite team.

Well, the years passed by and my passions and priorities changed, the only thing that remained unchanged is that I’m still watching the football section at sports news.

Why did I remember all these things?

On Saturday, at the sports news, the presenter was talking about one of the most prestigious football teams in Romania, that they fired their coach, brought in a more experienced one, but the team continues to have bad results. More than that, the team failed to qualify for the Romanian Cup quarter-finals while struggling to remain in the first league.

Through all this bloody period, players were complaining about their managers, complaining about their coach for not giving them the right advice and clear instructions. Team’s manager became uncomfortable with the situation and decided that is finally the moment to make also the players pay and fired some of them, the ones accused of bad performances and behavior, for not playing at their full potential.

Do you see any similarities with a software development team so far?

We are sometimes 11 members in the team, we have a coach (project manager, scrum master), we struggle to do our best in a fixed amount of time (Sprint), mark as many goals as we can (deliver story points), efficiently communicate with our team members and work together. Both teams (football and development) have strategies, change of the plan during the play, preparation period before the match (Sprint) starts.

But what makes us similar to the football team described in the first paragraphs?

Well, what is happening to them, that’s pretty much what happens in a non-functional software development team too. Team members complaining about:

  • the lack of specification
  • project manager
  • architect’s decisions
  • delays, change requests
  • unplanned bugs from Production
  • environment issues
  • teammates not doing their job properly
  • impartial reviews
  • deadlines, estimates
  • lack of visibility
  • lack of motivation
  • non-technical stakeholder requests
  • stress, pressure

And the list can continue. You know it better.

My proposal is to start observing what makes us slow down working at our full potential. Maybe is the coach and its strategies, or an incompatibility between the teammates. Maybe there are valuable individuals which put together cannot perform to bring the best of value. Let’s try to complain less and try not accusing others of our failures or lack of work satisfaction and make an effort in trying to understand all the pieces of the puzzle.

Keeping a calm and clear mind during stressful periods can be quite hard. But that’s the challenge — as the football team does, also the software development team needs to make it work with all the resources that it has.