Scaled Agile Overview
As described in our Guide to Scaled Agile & SAFe Methodologies, one of the limitations of standard agile methodologies such as Scrum or Kanban is that they are designed to operate primarily at a team or product level. Therefore, scaled agile methods have seen a recent boom in popularity as companies realize they need to be able to manage larger solutions (called programs) and collections of different related products (called portfolios).
Our roadmap for SpiraPlan is for it to be the premier platform for allowing organizations to meet the challenges of scaling agile, both now, and in the future. Therefore, SpiraPlan has been designed to support many different frameworks allowing organizations to adopt them into methodologies that address their challenges. Consequently, we will be using the term “scaling agile” more than “Scaled Agile” since the latter has become associated with a specific framework (SAFe).
As part of the first component of this wider roadmap, Spira v7.7 includes the following new functionality:
- Manage a backlog of program capabilities (similar to requirements at the product level)
- Define key program milestones (similar to releases and sprints at the product level)
- Plan the backlog of capabilities against specific program milestones
- Associate product requirements with program capabilities to track execution of the capabilities
- Associate product releases with program milestones to track progress and completion to date
Program Capabilities
With the new program capabilities module, you can create and manage a hierarchical list of program capabilities. In this fictitious example, we are planning the key capabilities for improving the overall customer experience of a commercial retail bank:
These capabilities can be categorized into different types, such as improvements, innovations, integrations, as well as non-functional capabilities such as enablers. For some methodologies (e.g. SAFe) they might be called Solution Epics and Features. In addition, the capabilities have a priority and status associated with them. In this example, we have a new improvement to allow payment transfers to third parties:
The progress of the capabilities is also displayed as a colored indicator bar that denotes how many of the associated product requirements have been completed.
These types, statuses, and priorities are managed at the system-level, and can be fully customized:
You can also define custom properties for the capabilities, including all of the standard property types (rich text, plain text, dropdown list, multi-select list, etc.):
Finally, you can associate the capabilities with the product requirements (epics, user stories, etc.). In this example, we have features from both the mobile banking and web banking products that are needed to realize this new payment capability, so until all four product features are completed, this overall capability is incomplete:
The status of the individual requirements will be used to calculate the overall progress of the overarching capability. For example, in the screenshot, there are four requirements, two are in the completed status, and two are still in progress (developed counts as in progress). Therefore the overall progress indicator shows that 50% of the capability is complete. The relationship between capabilities and requirements is "many to many" for maximum flexibility.
The capability is targeted to be completed by a specific program milestone - interbank connectivity - as illustrated below:
Now we can discuss how SpiraPlan will let you manage the program milestones themselves.
Program Milestones
In SpiraPlan, the primary way of time-boxing the solution backlog is through program milestones. They are the program equivalent of product releases and sprints, although they are meant to much higher-level, often aligned with fiscal quarters or representing an organizational deadline by which series of capabilities need to be delivered. Unlike product releases they are a simple flat, sortable list rather than being hierarchical. They can be categorized by type and status, and are displayed along with their planned start date, end date, completion progress and any custom properties defined by the administrators.
The program milestones grid can be configured to show/hide different columns, similar to the program capabilities grid and the equivalent grids at the product-level.
SpiraPlan lets you view the details of each milestones in a standard Spira artifact details page, complete with standard fields, custom properties, status, rich text description and tabs for the associated artifacts. One key unique feature is the ability to set the planned start date and end date for the milestone and compare that to the actual minimum and maximum start/end dates for the product releases that are associated. These are called the child start date and child end date.
This lets program managers set the high-level deadlines, with the individual product teams free to manage their own schedules, yet still allow the program managers to have visibility if there is a projected breach of the deadline.
The overall completion progress bar of the milestone is determined by the status of the associated capabilities. In this example, one of the capabilities is completed, while the other one is still in-progress. Hence the overall progress bar shows 50% complete. However since the end date of the milestone is in the past, the color of the progress bar is shown in red (vs. green). You can see the individual program capabilities by clicking on the Capabilities tab of the milestone:
If you click on the Releases tab of the milestone, you can see at a glance all of the product releases (and sprints) that are associated with this program milestone. This is association is used to calculate the minimum child start date and the maximum child end date. The relationship between milestones and releases is "many to many" for maximum flexibility.
As mentioned above, the program milestones are highly customizable by administrators. You can edit the list of milestones statuses and types:
In addition, you can define custom properties on program milestones, similar to those for program capabilities.
The image above shows the complete range of customization available for these new program artifacts.
What's Next?
Now that we have finished the core program capabilities and milestones functionality, the following functionality will be part of future releases:
- Redesigning the Program Planning Board to use the new board user interface we introduced last year and be based on capabilities and milestones not just product requirements and releases
- Implementing a set of program-level capability/release dashboard widgets, reporting dashboards and standard reports
- Extending the Spira API to allow access to these new program artifacts (capabilities, milestones and related standard fields)
Beyond these enhancements at the program-level, we also have planned in 2024 to implement a similar set of features at the portfolio-level, allowing you to define/manage portfolio-level backlogs as well.
What About SpiraTest and SpiraTeam Users?
These new scaled agile artifacts are only available in SpiraPlan, so if you are a current SpiraTest or SpiraTeam user, please contact your account manager or our sales team to get a quote for upgrading.