# Wednesday, March 24, 2010

I’ve been giving the question of why software teams fail some considerable thought in the past few days. Reading Brad Abrams’ post Don’t Waste Keystrokes and his statement that “By far the biggest problem I see on teams of > 1 is communication” led me to compile the following list. Here are some of the reasons, in addition to the most important one that Brad pointed out already, that a software team, or any team really, fails:

  1. The team does not practice regularly, no coordinated learning.
  2. The coach does not know the strengths and weaknesses of the players.
  3. The players do not know their role, their zone or the plays.
  4. The players do not get along, they are not one in purpose.
  5. The players do not trust or respect the coaching staff.
  6. The coaching staff puts players with no skill on the starting lineup for unknown reasons causing resentment amongst the other players and guaranteeing a loss at game time.
  7. The players do not believe the coaching staff understand the game.
  8. The players are more focused on individual agendas, they do not work together to win.
  9. The rules of the game are not well understood and change during the game.
  10. The coaching staff and team captains disagree on how the game should be played.
  11. The coaching staff recruits new players looking for players who will agree with their ideas rather than seeking out players who can actually play.
  12. The players fail to improve their skills on their own time.
  13. The players lack motivation and fail to come to practice and give only a half-hearted effort in the game.
  14. The team captain spends more time arguing with the coaching staff than he does leading and motivating the players.
  15. Winning becomes secondary to just finishing the season.

If you can think of any others, please let me know. And if you have ideas for how to fix these situations, I would love to hear from you as well.

Wednesday, March 24, 2010 12:25:08 PM (Mountain Daylight Time, UTC-06:00)
Successful teams usually exhibit the following behaviors and attributes: Leadership, Communication, Motivation, and Focus. It's not a scientific, punchlist affair either. It's more of a sense of chemistry or feeling you get when you're working on a team that's clicking. It's a good feeling, rather than the odd queasy feeling you get when the team is going off the rails because the leader has checked (or been checked) out, communication has degraded, everyone has been de-motivated or demoralized and there is lack of focus on the goals or interim tasks that need to be accomplished.

I have experienced both. Obviously, the 'clicking' team is a joy to work on. Unfortunately, there's no set recipe for reproduction. So one version of the project might go great, but the next version won't. Even worse, I don't believe there's a way to fix a sinking ship and retain the original crew and destination. Once things start to go sideways, unless the management or team members reflexively react to correct it, things will rapidly diverge into failure. Usually, if the project is too far gone, it will need to be put out of its misery, or morphed into something else. The trick is to catch problems early or have the courage to kill a project before it wastes everyone's time.
Charles Williams
Comments are closed.