As much as tools and technology are part of software development, software is written by people. With the possible exception of a tool you might write by yourself, for your own use, software projects involve collaboration. When done well, collaboration leads to a more productive team that delivers results with high quality. While true for all teams, agile software development is especially reliant on teams and collaboration, as Lisa Crispin points out.
If you've worked on a great team, the role of teamwork may seem obvious, but many teams take it for granted. What makes a team function well can be counterintuitive. For example, one of the misconceptions about how teams work is that a group of agreeable or harmonious people will form a well-functioning team simply because their harmony helps them come to decisions faster, according to Richard Hackman in the Harvard Business Review.
The role of constructive disagreement in effective teams is reenforced by research described in an article in the July/August 2012 IEEE software on how teams establish group norms, noting that team norms that reenforce individualism and creativity over conformity help teams perform better than those that emphasize agreeability.
This lack of correlation between agreeability (or likability) and effective collaboration apparently starts early. Research on how children form friendships, discussed in The Boston Globe,notes what mattered for children forming friendships was being good at setting expectations, influencing, and evaluating how trustworthy and reliable potential friends may be.
While “friendship” and “team membership” are not necessarily the same thing, they share some aspects. In particular, dependability is a key aspect of being a good team member, according to Johanna Rothman and Gil Broza.
The key to working effectively in the face of disagreement is having constructive disagreements and ensuring that the final agreement isn’t simply always a concession in the name of group tranquility. You need to establish:
- Rituals to reenforce trust
- Techniques like the rule of three to help ensure that the team is exploring options when they make decisions
- Standard facilitation techniques such as those described in Jean Tabaka’s book Collaboration Explained
As Hackman points out teamwork is not magical, but if you pay attention to how people work together you and your team can have great results.
Steve Berczuk is a Principal Engineer and ScrumMaster at Fitbit in Boston, MA. He is the author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, and has an M.S. in operations research from Stanford University and an S.B. in Electrical Engineering from MIT.