Build Agile Teams
After completing this unit, you’ll be able to:
- List Tuckman’s four stages of group development.
- Summarize what makes a great agile team.
- Describe how agile teams work across departments.
Agile visionaries believed that teamwork is essential to delivering great software and that great agile teams embody "we" rather than “I." Nothing is more rewarding than sharing the adventure of building something that truly matters with engaged teammates.
Despite sharing common values, there is no formula for the perfect agile team. Some implement Scrum while others use Kanban. Agile purists prefer co-located teams, but business realities sometimes necessitate distributing an agile team across geographies. Most agile teams possess all the required skills, but sometimes it’s necessary to call on specialists for specific work. So how do you know whether your team is on the path to greatness? Read on.
Once the team is in place, it’s important to remember that agile teams are like individuals: They take time to grow. Agile theorists often quote Tuckman’s stages of group development. Agile teams go through four key phases as they develop.
Tuckman’s Four Stages of Group Development
|Stage||Group characteristics in this stage
||High degree of guidance needed from manager, individual roles are unclear, process not well established
||Understanding how team decisions are made, purpose is clear but team relationships are blurry
||Relationships are well understood in the team, commitment to clear goals, beginning to optimize processes
||Team is performing well, focus is on being strategic, team is running well with little oversight
After a team reaches the performing stage, development truly becomes awesome. Members trust each other, understand one another’s strengths, and use that understanding to optimize how they build software.
Keeping agile teams intact takes some organizational discipline, but it pays to protect the team–within reason, of course. When change is introduced (new hire, employee departure, and so on), the team reverts back to the forming stage as it absorbs the change.
High-performing agile teams are built on trust. Sound engineering practices like code reviews, task branching, continuous integration, and regular release cadences are crucial for building great teams. There are two other pillars of great agile teams: continuous mentoring and shared skill sets. One of the big benefits in working on a team is that colleagues learn from one another and mentor one another. Mentoring isn’t just an activity for junior members to learn from senior members. Everyone on the team learns from one another so that the impact of the team as a whole is greater than the sum of the impact made by its individual members. Meanwhile, shared skill sets unlock the power of the team to tackle heterogeneous work. As engineers, it’s always important to learn new skills because it makes us more valuable to the organization and better equipped to support each other’s work. It also guards against someone becoming a critical path, which takes a load off everyone's mind.
Pro tip: Agile teams aren’t just for engineers. In larger software organizations, agile teams form in many parts of the business: marketing, HR, finance—you name it!
Today’s software teams include product managers, designers, marketers, and operations as well as developers and testers. It helps to focus your agile teams around three product phases: make, sell, and operate.
Each product phase is supported by three teams (ideally with five to seven members each) that form a triad. Each triad is agile in its approach, because as the product develops, teams are continuously working on each phase and learning more about the product and the market. Below is a breakdown of each triad and the who, what, where, and why for each team within the larger software team.
||Understand the market, targeted customer personas, and good product design principles
||Define the value proposition, product goals, and minimum viable product
||Develop the product using sound, sustainable engineering practices
||Understand the product’s competitive landscape and market evolutions
||Create messaging that highlights the product’s value propositions to each customer segment
||Build collateral to support the product launch: web pages, announcement emails, blogs, videos, and so on
||Release software to customers with a regular cadence
||Respond to customer issues
|Support and ops
||Relay customer feedback to the make triad (Dev, PM, Design) as input for future product development
Regardless of which triad your team operates in, agile can make your team deliver faster and have more fun. Next we dive further into agile processes and learn about agile ceremonies.
- How to build an agile team
- Learn to build an agile roadmap
- Learn more about agile tools for software teams