When you’re part of a team, you stand up for your teammates. Your loyalty is to them. You protect them through good and bad, because they’d do the same for you.
Agile Teams Abstract
In Agile, the atomic organizational unit is the Agile Team (the Define/Build/Test team) − a cross functional group of individuals that has the ability and authority to Define (elaborate and prioritize requirement and design the solution), Build (write the code and tests that implement the solution) and Test (run the test cases and validate the solution against the defined requirements) − all in a short iteration timebox. As such, the team (7+/- 2 team members) includes developers and testers, a Scrum/Agile Master and Product Owner, and includes (or shares) such other specialty resources (DBA, UX), etc. as are necessary to successfully deliver solution-level value. Whether they are oriented around features (generally preferred) or components, Agile DBT teams are empowered, self-organizing, self-managing and accountable for delivery of results that meet stakeholder’s needs and expectations. By moving work to the team, instead of the other way around, enterprises help create Agile teams that are long-lived, and are dedicated to continuously improving their ability to deliver ever-better software, faster and faster.
It is important to note that from both an organizational and management perspective, Agile is strikingly different from the traditional one to many manager-to-employee directed-activity approaches. In Agile, the teams determine what and how to build the solution; management provides vision, leadership, autonomy as well as requisite care and feeding necessary to foster and promote high-performing teams. Tasking individual team members with work items is no longer required.
Summary Role Description
Agile Teams are cross functional teams consisting of a Product Owner, Scrum/Agile Master, Developers and Testers and other resources that may be necessary to be fully capable of defining, building, and testing increments of customer value in a short time box.
Team Structure and Individual Roles
Agile requires irreversible withdrawal from the “silo-based” IT organizational model whereby user value is delivered at the end of a long lifecycle by sets of logically and physically separated functional departments, each of which performs a special function such as requirements, architecture, program management, product management, testing, and the like. A cross-functional Agile team, within reason, performs all of these functions, and they do so in a way that typically delivers end-user value every two weeks. This new paradigm implies new roles as well as new context for existing roles.
Scrum, a lightweight and effective software project management framework, is by far the most common Agile practice being adopted today, so the clearly defined roles in Scrum describe the structure and behavior of a prototypical Agile team. Scrum has only three roles:
- A Product Owner whose responsibility is to define and prioritize the requirements backlog, help elaborate those requirements with the team, and accept completed stories into the baseline
- A Scrum Master, who facilitates team interactions, enforces the few rules in Scrum, facilitates the meetings, and helps drive the team’s efforts to continuously improve
- Agile Team members, consisting primarily of developers and testers, but may include other necessary roles as well (e.g., technical lead, system architect, technical writer, etc.)
Such a team is illustrated in Figure 1 below.
An Agile team’s responsibility is radically different from teams that are organized in the traditional organizational model.
- The team is responsible for self-management
- The team estimates the size and complexity of the work
- The team determines the technical solution
- The team commits to the work they can do in a time box
- The team is responsible for product delivery
- The team is responsible for product quality
- The team is continuously committed to finding ways improve
Collaboration, Communication, Commitment
Teams can only meet these responsibilities via constant communication & collaboration and fast, effective decision-making. If at all possible, teams are co-located to facilitate hourly, daily, and weekly communication.
Relationships within the team are fundamentally based on trust, and trust is facilitated by common objectives and fast, regular feedback loops. Each tangible increment of software encourages trust, reduces uncertainty and risks, and builds confidence. Agile teams are motivated by a shared mission, by their commitment to deliver value to the business, and by peer pressure. The team is self-organizing and makes decisions necessary to deliver value to the organization.
Agile teams use cadence and synchronization to guide their work and help control variability. Standard meetings include a daily stand-up, Iteration Planning, and a solution Demo and Retrospective at the end of each Iteration. Each team member is fully dedicated to the team and works intensively during a responsible workweek. Every team member fundamentally values and respects time; therefore, everything is time-boxed. Agile teams also fix product Quality to assure reliable delivery and fitness for the product’s intended purpose.
Agile teams are created to last, to continually accumulate knowledge, and to continuously improve the ability to respond to change and develop quality products faster. Every effective Agile team is a beauty to behold and is a major asset to the enterprise.
Leffingwell, Dean. Scaling Software Agility: Best Practices for Large Enterprises. Addison-Wesley, 2007.
Lencioni, Patrick. The Five Dysfunctions of a Team: A Leadership Fable. Jossey-Bass, 2002.
Cohn, Mike. Succeeding with Agile: Software Development Using Scrum. Addison-Wesley, 2009.
Last update: 14 January, 2013
© 2011-2013 Leffingwell, LLC. All rights reserved.