Through our work with customers, we are increasingly seeing that leading software development teams and the organizations that encompass them are constantly trying to find ways to improve how work gets done. Many of these organizations are evaluating how Scaling Agile can help teams and senior management gain visibility into a complex environment. We are finding that organizations who use the right tools and follow the proper internal practices, can easily have multiple teams working together in a fully agile environment.
This blog introduces Scaled Agile and how it can help larger companies. We review the frameworks recommended for multiple teams and start to explain how best to begin working in a Scaled Agile environment using Jira and other Atlassian tools.
What exactly is Scaled Agile?
Typical scrum teams tend to max out at about 10 team members before things start to break down. No reason to get into this here but if you’re interested you can check out this link: http://www.mikecohnsignatureseries.com/books/8/contents/103/download
For larger teams or organizations, various techniques have been created in order to take advantage of the benefits of agile development with a greater number of team members.
Initially, the solution to this was to have multiple Scrum teams working independently. They would work with some lightweight structure layered on top of working independently. Sometimes referred to as “scrum of scrums,” where a representative from each team would represent their team by becoming responsible to facilitate communication, dependencies, and organization between the teams.
Eventually, some methodologies for scaling agile were developed to standardize how Scrum teams should be organized while still maintaining the generic principles of agile. A few of the more mature methods and frameworks for scaling agile include SAFe (Scaled Agile Framework), LeSS (Large Scale Scrum), and SoS (Scrum of Scrums). Each of these has its unique advantages and disadvantages.For more information on each framework, we encourage you to explore them in more depth.
As adoption of Scaled Agile has increased, the need for reporting and collaboration tools to support these processes has also increased. Scrum often espouses working with a physical “board” which will often work for smaller co-located teams. However, with today’s increasingly virtual and remote workforces and increasingly larger teams, collaboration tools are essential. While there are many tools available for standard agile, Scaled Agile is still a fairly new, quite complex methodology and the tools are just starting to catch up. Luckily, due to the flexible and open nature of the Atlassian ecosystem, there are some great options available for supporting a Scaled Agile organization.
Roll-up Boards / Coordinated Workflows
One solution available with Jira Software is the ability to create “roll-up” agile boards that include details from multiple projects, each representing an individual Scrum team. A Program Board can be created that includes issues from multiple individual Scrum teams. Each team can work off their own board with the “roll-up” board representing a Scaled Agile “release train” and containing all of the items from the individual Scrum team boards (filtered as needed). The Program Manager can then prioritize and assign work in the Program Board by dragging issues to appropriate columns, which will cause them to appear in the individual team boards.
Another option is to use the power of Jira’s customizable workflows. This allows users to create coordinated workflows across individual Scrum teams. With that, you can have Program Level issues linked to “child” issues, that are assigned to individual Scrum teams. These workflows could then make use of post-functions that keep the issue statuses synchronized. For example, when all of the child issues are complete, the Program Level issue will be marked as complete providing a clear picture on the Program board. The advantage of this approach is that the Program Level issues are roll-ups and are less tightly coupled to the child issues. This in turn, provides a more concise view into the Program Level.
Built-In Agile Reports / Dashboards
Another option that can be used in conjunction with those mentioned above, is the ability to create custom dashboards for each of the various levels involved in an organization. An example of this is an Individual Scrum Team dashboard for the scrum teams and a Program Level dashboard for the Program Level teams.
In Jira, dashboards are collections of “gadgets” that represent underlying data within the system. A Program Level dashboard would typically contain sprint health gadgets for each component team, sprint burndowns, and filter results displaying the progress of the Program Level issues. The program level issues can be customized with whatever filters the Program Manager feels are important for their team. Additional reporting gadgets can be provided through add-ons that can facilitate Scaled Agile Reporting.
Add-ons and Additional Tools
For teams that outgrow the built-in features or want something that provides more power and flexibility, there are several add-ons designed to specifically support Scaled Agile and/or make reporting of rolled-up data simpler.
We won’t go into the details of these in this post but a few add-ons that can be very helpful in facilitating collaboration and reporting among Scaled Agile teams are:
Plan and forecast roadmaps, manage stories/resources across teams.
Project Portfolio Management for large scale organizations, Roadmaps, Gantt, Dependencies, Resource Management.
Ability to define roll-up “structures” and display progress for entire hierarchy of issues. More “tactical” than Portfolio or Big Picture.
Provides hierarchical requirements roll-up with reports on traceability of and coverage. Can be used for identifying progress of Portfolio or Program Level Requirements at the individual team level.
Allows the creation of ad-hoc reports for cases where the out of the box reporting or existing targeted add-ons do not meet the needs of your organization.
Provides customizable or gated “phases”, roadmaps, supports portfolio management and enables coordination & visibility across teams and sprints.
This is not an exhaustive list and we encourage you to check out the Atlassian Marketplace for other add-ons!
Additionally, though not specifically oriented towards Scaled Agile, Confluence and Hipchat or Stride, can be used to facilitate communication and collaboration between Scrum teams or members as needed.
Stay tuned for a follow up blog post that will contain additional information on how to implement Scaled Agile within your organization. We will go over how using frameworks like SAFe or LeSS and migrating to tools like Atlassian’s Jira and Portfolio, can truly improve your agile software development teams.