Program Planning

SpiraPlan lets you manage large-scale agile programs and solutions. SpiraPlan provides the ability to create and manage program capabilities that are tracked against program-wide milestones. This lets you manage the delivery of features and releases across multiple products, with the ability to connect them to the overarching program capability and business value.

Overview

One of the key features of SpiraPlan is the ability to do program planning and management. This is part of the way that SpiraPlan lets you scale “vertically” from a single agile product team to an organization of portfolios, programs and products.

Each SpiraPlan program should contain the key business capabilities that need to be prioritized and delivered by the various products in the program. In addition, the program manager needs to be able communicate at a high-level by what date the business capabilities will be delivered, these are called milestones in SpiraPlan.


Note that a capability should be much higher-level than a product feature, and a program milestone will be much less granular than a product release or sprint. In SpiraPlan, program managers can create a two-level hierarchy of capabilities, in the screenshot above we have called them program epics and features, but you can choose the name that makes sense to your organization.


Now, each of those program capabilities will be delivered by one or more product requirement. For example, a capability for allowing banking customers to check their bank balance online, might map to an enabling requirement in the web banking product and another requirement in the mobile app banking product.


Finally, the progress against the program milestone will be measured by the completion of the contained capabilities, rather than directly from the product releases. This is important because the capabilities determine which specific features in a release are important to different capabilities in the program.

Program Capabilities

With SpiraPlan’s 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:

List of program capabilities

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:

Capability details page

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.

Customizable Capabilities

These types, statuses, and priorities are managed at the system-level, and can be fully customized:

Admin page where you can edit capability types

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.):

Capability custom properties

Associating Capabilities with Milestones

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:

Capability page showing the associated product requirements

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:

Capability details page showing milestone link

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.

Program milestone list

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.

Show/Hide milestone columns

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.

Milestone vs. Release dates

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:

Program milestone details - showing associated capabilities

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.

Program milestone page - showing linked releases

Customizing Milestones

As mentioned above, the program milestones are highly customizable by administrators. You can edit the list of milestones statuses and types:

Where you can edit milestone statuses

In addition, you can define custom properties on program milestones, similar to those for program capabilities.

Admin options

Try SpiraPlan free for 30 days, no credit cards, no contracts

Start My Free Trial

And if you have any questions, please email or call us at +1 (202) 558-6885