Focus on the agile team
With agile, it’s easy to talk about processes, ceremonies, and workflows. But it’s also easy to lose sight of the team. In this article, we’ll explore the dynamics of forming nimble agile teams and how to configure JIRA to support multiple teams. Plus, you’ll learn additional tips from the JIRA team on how to optimize work across a set of teams.
Teams of people are the lifeblood of any organization. Effective teams deliver well, but unoptimized teams affect developer morale and the team’s output back to the organization.
In all agile programs, the focus is on the team. And that means people. It’s the people who make up the team who are the critical components. Much like the agile process itself, agile teams may differ slightly between organizations, but in general agile teams are comprised of 5 to 7 developers.
This small group of developers have overlapping, shared skill sets. Having shared skill sets gives the team flexibility when working through the backlog. Nobody becomes the critical path or blocking, since each team member can take on heterogeneous work. As the team works together, skill sets grow, knowledge is shared, and the team’s velocity increases working through the program backlog.
Change can be a good thing
Change is a constant reality. This is true for any business situation. In general, it’s a best practice to keep agile teams together. The relationships formed and processes shared are highly valuable assets, and it’s usually much easier to change the work stream for an existing team then to form a brand new team. Sometimes, though, changes are so significant that it’s best to bring new skill sets together to accommodate for that change.
So, when might a new agile team form? Integration projects often require skill sets from two very different code bases. For example, the new development tools integration in JIRA 6.1, JIRA 6.2, and JIRA 6.3 required developers from the JIRA team as well as the developer tools team. Therefore it made good sense to bring knowledge of both code bases together and form a new team to tackle this work.
Configuring JIRA to support sub teams
When dividing a large body of work across several sub teams, questions come up about how to structure the work inside of JIRA. The biggest question: does each sub team need its own JIRA project? If each team shares the same release cadence (JIRA versions), then keep the work in one JIRA project. For example, on the JIRA team, we use a custom field called team to denote which team is taking on that issue.
If each team is using the same type of agile process and iteration cycle, then also create one agile board for the entire program. Then, to subdivide work by team, quick filters or swimlanes can use the team custom field to organize work.
Quick filters
Quick filters are additive (think AND rather than OR) when used together. Selecting the team quick filter, then another quick filter, will focus the work for just that team. See the top center for the selected team’s quick filter:
Swimlanes
Swimlanes structure work across the board, making it easy to see all of the work in context for each team. Keep in mind, though, for quick filters and swimlanes to work, each team needs to be on the same type of agile process.
See the teams in the left column in the below image. (Swimlanes collapse for easy readability.)
Separate agile boards
For teams that have different agile processes but share the same release cadence, create an agile board for each team within the same project. Just customize the JQL query (bottom right in image) for each board within the project.
If the release cadence for each of the agile teams differs, consider creating a separate JIRA project for each team. That gives each team its own version to manage the release of software.
So how are sub teams working for the JIRA team?
The JIRA team also formed a new agile team when two different parts of the product development team came together to form a large team of 20 people. Twenty people was too big for a single team, so we took some tips from Spotify’s engineering culture and built out six nimble squads to tackle the feature work ahead.
Learn how the JIRA team divided the work stream across the six squads and what efficiencies the team gained in distributed development in a retrospective on the transformation.
Teams are central to an organization’s culture. Optimizing teams increases engagement, distributes work and manages risk across a program, and enables faster delivery using agile methodologies.
We’d love to hear from you! How has your organization embraced and optimized teams? Let us know in the comments section.
The post Form nimble agile teams appeared first on Atlassian Blogs.