What Is an Effective Team?
Self-Organizing Agile Teams
Agile software development was founded as a way to help team members work together more efficiently and companionably. In fact, three of the twelve founding principles of the methodology focus on building better teams:
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
The term "self-organizing teams" is especially important to Agile. Nitin Mittal, writing for Scrum Alliance, describes a self-organizing team as a "group of motivated individuals, who work together toward a goal, have the ability and authority to take decisions, and readily adapt to changing demands".
But that doesn't mean Agile teams have no leaders. On the contrary, the Agile development process relies on the team leader (known as the ScrumMaster in Scrum) to guide the team, ideally by achieving "a subtle balance between command and influence". Sometimes that means moving problematic team members to new roles, where they can be more effective, or possibly adding a new team member who has the right personality to interact with the problematic team member. In a blog for Mountain Goat Software, Mike Cohn puts it like this:
There is more to leading a self-organizing team than
buying pizza and getting out of the way. Leaders influence teams in
subtle and indirect ways. It is impossible for a leader to accurately
predict how a team will respond to a change, whether that change is a
different team composition, new standards of performance, a vicarious
selection system, or so on. Leaders do not have all the answers. What
they do have is the ability to agitate teams (and the organization
itself) toward becoming more agile.