Over the years, I've worked with a broad array of teams to deliver close to 50 software initiatives. Sometimes I've had the luxury of a team that has worked together before, but more often, we've had to factor in the additional uncertainty of newly formed teams. Beyond prerequisite skill competencies, six characteristics aid the assessment of how much the team will be able to take on with good results. These six characteristics also form the gold standard for building agile teams that will reliably out-perform competitors and other organizations:
- Self-organizing
- Diverse
- Adaptive
- Stable
- Colocated
- Team-centric
Best Performing Teams are Self-organizing
A self-organizing team has the ability and authority to manage work as a group and self-assign work from a set of stories and tasks identified for the current period. Team-members work with one another to complete their tasks without the tightly coupled "command-and-control" of a central authority. Team-members are coached through daily stand-ups and team retrospectives to identify and report blocking issues and collaborate on solutions including improvements to their team and process.
The process of self-organizing helps team-members develop important skills including clarifying requirements, estimating work, communicating with team-members and owning results. Eliminating command-and-control removes the bottleneck of a central authority. Broader and more efficient control is maintained through process transparency in the form of daily stand-ups, the kanban board, frequent code check-ins, and demos. This frees up time for Product Owners/Managers to focus on Customer interactions, market intelligence, requirements and removing external barriers to a successful deployment.
Best Performing Teams are Diverse
Organizations in trouble frequently have homogenous teams. A team where everyone is the same age, same gender, same/similar skill set, experience level and temperament is likely to have a lot of holes in their combined capabilities along with significant biases in their understanding and decision-making. Homogeneous teams have a greater tendancy to silo themselves apart from other organizations and Customers.
With diverse teams, there is an opportunity for each individual's capabilities to be multiplied by the team's interactions. Developing respect, trust and the ability to work efficiently with fellow team-mates takes time. For many, this is even harder when the teams are diverse, but I believe the results are worth the effort. A small cross-functional team that I recently worked with turned around a successful concept-to-deployment application in a third of the time originally projected. Process and decision-making were stream-lined through the team's cross-functional disciplines, but other unexpected advantages also came into play. Overlapping secondary skills within the team allowed us to team up on tasks to shorten the critical path, and the success of the final product was in large part a result of the complementary perspectives of the team-members. A senior QA clarified hidden aspects of an old platform we had to support helping us uncover design issues before they hardened into code. The junior member of our team introduced new design elements that enhanced the intuitive nature of the product. Our earliest debates on design, with two fundamentally different views, were not easy. Teams need to persist through their forming, storming and norming phases before teamwork becomes second nature.
Best Performing Teams are Adaptive
The overlapping secondary skillsets shared between team-members allowed us to cover all necessary tasks and team up on critical path items. "T-shaped skills" is the term used to describe having deep expertise in an area combined with secondary knowledge and skills across additional areas. Team resilience and the speed with which a team can adapt to change is largely a factor of T-shaped skills and the redundancy of skillsets. The loss of a key Developer can be devastating to a project unless another team-member can bridge the gap. Recruiting new team-members takes time and ramping them up can be disruptive to projects that are otherwise moving at a fast clip. Unanticipated changes are commonplace in software development. Agility is best created and preserved by recruiting and encouraging the development of T-shaped skills through code-pairing, task rotation, ongoing education, and other teaming activities.
Best Performing Teams are Stable
Some disruptive changes can't be avoided; others can. Why do some companies build disruption into every release by treating ongoing product releases as projects and reshuffling their teams? Why do other companies further handicap their efficiency, code quality and long-term competitive advantage through frequent changes in outsourcing, hiring and firing? Tracking a base set of quality metrics and mapping team velocities across stable, new and outsourced teams can provide a better perspective on real costs associated with each of these scenarios. Companies that want to compete long-term should adjust their practices accordingly.
Best Performing Teams are Colocated (or Have Invested Heavily in Glue)
The social aspects of a team can determine whether it will run efficiently or not at all. Tuckman's famous stages of group development (forming, storming, norming and performing) occur with more speed and certainty when teams are colocated. Communications and group accountability tend to also be better supported with colocation.
When colocation isn't possible, you need "glue" - individuals and tools that help bridge the communications and relationships between organizations. A lesson learned and echoed in Cisco's "Collaboration Work Practice Study" (March 2013) is that collaboration tools alone will not bridge the communications and trust gap - leveraging the "Catalysts and Connectors" within every organization is essential. It may be worth developing cross-team relationships through temporary assignments (an exchange program) and other opportunities for remote team-members to meet face-to-face.
Best Performing Teams are Team-Centric
One of the fastest ways to undermine top-performing teams is to set team-members into competition through practices such as stack ranking. Tolerating lack of respect and scapegoating across organizations will also undermine team efforts. Respect should be preserved at all times. Retrospective discussions should also be forward-focused and positive: how can we apply what we learned last sprint to improving the next one? Accountability and rewards should all be team-based.
How many of these six characteristics does your organization have? Understanding where you are today is the first step required to move your organization toward better performance, success and satisfaction. The Agile community provides many resources to aid your journey.