Six Habits of Highly Effective Teams

Anyone who has spent time in software development organizations knows that some teams seem to achieve superhuman productivity, and some teams just can’t seem to get anything done. I think the productivity ratio can be hundreds to one, no matter how you measure it. What is it about highly effective teams that allows them to make so much progress with so little effort? These are some of the characteristics of these super-teams.

  1. Highly effective teams have effective leaders and followers Highly effective team leaders know their team members well and know how to guide their teams and achieve compliance by motivating each individual in the most effective way. Leaders can step aside to let a more experienced team member take the lead on a particular task. Team members are comfortable taking direction from more than one source at once, resolving priorities and contradictions, and doing the right thing with minimal supervision.
  2. Highly effective teams share an explicit goal Each team member may have their own personal goals, but all team members understand the common goal, because they all helped define it. Team members are willing to temporarily set aside their own goals to help the team reach its overall goal.
  3. Highly effective teams are always learning Highly Effective Teams never assume that their way of working is the only effective way: they are constantly learning new techniques from each other, from other teams, and from books and experts. Highly effective teams even learn from their own mistakes: when something goes wrong, they figure out what happened and make sure they never do it again.
  4. Highly effective teams are not afraid of conflict Highly effective team members have learned that everyone is responsible for the quality of the team’s work, so they are not afraid to challenge design assumptions, point out programming errors, or suggest better processes. But they know how to respectfully disagree and take suggestions in the spirit offered, and compromise when necessary.
  5. Highly effective teams are always innovating Leaders and team members are always looking for a better, more efficient way to get work done, and are willing to experiment with new techniques and processes. Even when the new technique doesn’t improve, the team learns something that can be applied later.
  6. Highly effective teams celebrate early and often Highly effective team members know that developing software is akin to running a marathon and requires patience and stamina, so they get in the habit of celebrating small steps forward. Getting your first clean build, solving a nasty bug, or getting a 10% performance boost can be an occasion for pizza and beer after work.

Add a Comment

Your email address will not be published. Required fields are marked *