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.
>> Learn how to create a scrum or kanban project with this interactive tutorial
Build upon a solid foundation
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, etc.), the team reverts back to the forming stage as it absorbs the change.
High-performing agile teams are also built on sound engineering practices like code reviews, task branching, continuous integration, and regular release cadences. We can't stress this enough: engineering fundamentals are crucial for building great teams. (Read more on those topics in our "Agile Developer" section.)
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. 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.
ProTip: 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!
How agile teams collaborate across departments
Today's software teams include product managers, designers, marketers, and operations as well as developers and testers. At Atlassian, we focus our agile teams around three product phases: make, sell, and operate.
Each product phase is supported by three teams (ideally 5-7 members each), and forms 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 as well as the market. Below is a breakdown of each triad and the who, what, where, and why for each team within the larger software team.
|Triad ||Who ||Focus |
|Make ||Product Management ||Understand the market, targeted customer personas, and good product design principles |
| ||Design ||Define the value proposition, product goals, and minimum viable product |
| ||Development ||Develop the product using sound, sustainable engineering practices |
|Sell ||Product Management ||Understand the product's competitive landscape and market evolutions |
| ||Design ||Create messaging that highlights the product's value propositions to each customer segment |
| ||Marketing ||Build collateral to support the product launch: web pages, announcement emails, blogs, videos, etc. |
|Operate ||Product Management ||Release software to customers with a regular cadence |
| ||Development ||Respond to customer issues |
| ||Support & 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. Dig further into this section and learn how to focus and optimize agile teams.