> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SAFe Sprints

> Reference for the **SAFe Sprints** plans mode in Nextedy PLANNINGBOARD.

## Overview

The SAFe Sprints plans mode (`SAFE_SPRINTS`) is one of the planning modes available in Planningboard. When active, Planningboard automatically queries Polarion for iteration-level plans within an Agile Release Train (ART) rather than using a manually specified plan query. The mode is intended for teams operating at the program (ART) level of a SAFe hierarchy.

A second variant, the **SAFe Sprints in Portfolio** mode (`SAFE_PFL_SPRINTS`), targets the portfolio level — it displays sprint-level planning across multiple programs in a solution portfolio. Both variants are documented on this page; see [SAFe Program Increments](/planningboard/reference/plans-modes/safe-pis) and [SAFe Solution Trains](/planningboard/reference/plans-modes/safe-solutions) for PI-level and solution-level modes.

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/vfRg9jxXRntLqZFW/planningboard/diagrams/reference/plans-modes/safe-sprints/diagram-1.svg?fit=max&auto=format&n=vfRg9jxXRntLqZFW&q=85&s=0cec67a92aa413e2fe6498f4593a116b" alt="SAFe hierarchy levels and their plans modes: Portfolio Level uses SAFe Sprints in Portfolio, Program Level (ART) uses SAFe Sprints in Program, and Team Level has no separate plans mode (teams are swimlanes under SAFe Sprints in Program)" width="640" height="332" data-path="planningboard/diagrams/reference/plans-modes/safe-sprints/diagram-1.svg" />
</Frame>

***

## Plans Mode Values

| Value              | Description                                                                                                        |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `SAFE_SPRINTS`     | SAFe Sprints in Program mode — displays sprint/iteration plans within a single Agile Release Train.                |
| `SAFE_PFL_SPRINTS` | SAFe Sprints in Portfolio mode — displays sprint/iteration plans across multiple programs in a solution portfolio. |

These values are set via the **Plans (Columns)** widget parameter `plansMode`. See [Plans (Columns) Parameters](/planningboard/reference/widget-parameters/plans-parameters) for the full parameter reference.

***

## How Plans Are Loaded

When `plansMode` is `SAFE_SPRINTS` or `SAFE_PFL_SPRINTS`, Planningboard automatically sets the plan query to filter for iteration plans using the Polarion SAFe plan template:

```text theme={null}
template.id:iterationPlan
```

This query is applied automatically — you do not configure `plansQuery` manually in these modes. Planningboard uses the Polarion SAFe Solution data to discover the current program and its associated iteration plans.

<Warning title="Requires Polarion SAFe Solution">
  Both **SAFe Sprints in Program** (`SAFE_SPRINTS`) and **SAFe Sprints in Portfolio** (`SAFE_PFL_SPRINTS`) require **Polarion SAFe Solution** to be installed and configured. The board reads the SAFe hierarchy (portfolio, program, team projects) from Polarion's SAFe metadata. If SAFe Solution is not present, these modes will not load plans correctly.
</Warning>

***

## Widget Parameters

The following widget parameters are relevant when `plansMode` is set to `SAFE_SPRINTS` or `SAFE_PFL_SPRINTS`. Parameters from [Plans (Columns) Parameters](/planningboard/reference/widget-parameters/plans-parameters) apply; only SAFe-specific behavior is noted here.

### Core Plans Parameters

| Parameter   | Type   | Default                                                                          | Description                                                                                                          |
| ----------- | ------ | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `plansMode` | string | `PROJECT_PLANS`                                                                  | Set to `SAFE_SPRINTS` (program-level sprints) or `SAFE_PFL_SPRINTS` (portfolio-level sprints) to activate this mode. |
| `lastPlans` | number | `1`                                                                              | Number of past completed sprint Plans to display.                                                                    |
| `nextPlans` | number | `5`                                                                              | Number of upcoming sprint Plans to display.                                                                          |
| `planLink`  | string | `/polarion/#/project/${plan.objectId.projectId}/plan?id=${plan.objectId.itemId}` | URL template for linking card columns to their Polarion Plan. Supports `${plan.*}` variables.                        |

### SAFe-Specific Parameters

| Parameter    | Type   | Default      | Description                                                                                                                                    |
| ------------ | ------ | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `plansQuery` | string | *(auto-set)* | In SAFe Sprints mode, this is set automatically to `template.id:iterationPlan`. Manual override is not recommended and may break plan loading. |

<Info title="Verify in application">
  The **Program Increment Parameter ID** field (referenced in support tickets for SAFe configuration) controls which PI's sprints are shown when the board is used within a specific Program Increment context. Confirm exact parameter name and behavior in the live widget configuration panel, as the field is shown only when **SAFe Sprints in Program** (`SAFE_SPRINTS`) or **SAFe Sprints in Portfolio** (`SAFE_PFL_SPRINTS`) is selected.
</Info>

### SAFe Parameters

Additional SAFe-specific parameters are available under the **SAFe** section of the widget. See [SAFe Parameters](/planningboard/reference/widget-parameters/safe-parameters) for the full list.

***

## Configuration UI Differences by Plans Mode

Selecting **SAFe Sprints in Program** (`SAFE_SPRINTS`) or **SAFe Sprints in Portfolio** (`SAFE_PFL_SPRINTS`) changes which configuration fields are visible in the widget parameters panel:

| Field / Section         | Project Plans | SAFe Sprints in Program | SAFe Sprints in Portfolio |
| ----------------------- | ------------- | ----------------------- | ------------------------- |
| Scope / Query / Type    | Visible       | Hidden                  | Hidden                    |
| Plan Items section      | Visible       | Hidden                  | Hidden                    |
| SAFe PI Increment field | Hidden        | Visible                 | Visible                   |
| Sync to Parent          | Visible       | Hidden                  | Hidden                    |
| Plan Link field         | Visible       | Visible                 | Visible                   |
| Plan Stemming           | Configurable  | Not available           | Not available             |

<Note>
  The configuration UI changes dynamically when you switch the **Plans Type** (plans mode) selection. If fields you expect are missing, verify that the correct plans mode is selected.
</Note>

***

## Swimlane Assignment Types for SAFe Sprints

SAFe Sprints mode is typically combined with SAFe-specific swimlane assignment types to display teams or programs as rows. The most relevant assignment modes are:

| Assignment Mode                  | Constant          | Use With                                                                    |
| -------------------------------- | ----------------- | --------------------------------------------------------------------------- |
| Program / Solution Teams (SAFe)  | `SAFE_TEAM`       | Swimlanes per SAFe team within the current program. Requires SAFe Solution. |
| Agile Release Train Teams (SAFe) | `SAFE_TRAIN_TEAM` | Swimlanes per team within a specific ART, filtered by ART ID parameter.     |
| Programs (SAFe)                  | `SAFE_PROGRAMS`   | Swimlanes per program (for portfolio-level boards).                         |

See [SAFe Team Mode](/planningboard/reference/assignment-modes/safe-team-mode), [SAFe Train Team Mode](/planningboard/reference/assignment-modes/safe-train-team-mode), and [SAFe Programs Mode](/planningboard/reference/assignment-modes/safe-programs-mode) for details.

Other assignment modes (Users (Assignee), Parent Item, Enumeration Field, Project, No Swimlanes) are also compatible with SAFe Sprints columns. See [Assignment Modes](/planningboard/reference/assignment-modes/index) for the full reference.

***

## Capacity in SAFe Sprints Mode

Capacity tracking works in SAFe Sprints mode through the same parameters as other modes. The capacity bar per swimlane reflects the configured capacity field or time-tracking fields aggregated across the sprint Plan.

| Parameter           | Type    | Default  | Description                                                                |
| ------------------- | ------- | -------- | -------------------------------------------------------------------------- |
| `capacityLoad`      | boolean | `false`  | Enable capacity/effort tracking on work items and Plans.                   |
| `multiCapacityLoad` | boolean | `false`  | Enable per-swimlane capacity tracking.                                     |
| `userCapacityLoad`  | boolean | `false`  | Enable user-level capacity loading when using the Teams Service.           |
| `capacityField`     | string  | *(none)* | Custom field ID containing capacity values (e.g., story points).           |
| `hoursPerDay`       | number  | `8`      | Working hours per day for capacity calculations.                           |
| `useTeamsService`   | boolean | `false`  | Enable integration with the Polarion Teams Service for team capacity data. |

See [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters) for the complete capacity reference.

<Warning title="Capacity limitation">
  Planningboard does not support multi-assignee capacity distribution or sub-item effort distribution. Capacity is tracked per the configured `capacityField` or time-tracking fields on the work item itself. This is a known limitation relative to GANTT capacity features.
</Warning>

***

## SAFe Plan Naming and Version Compatibility

SAFe naming conventions typically use dash characters in plan names (for example, `PI-2401`, `I-2401-1`). A parsing bug in earlier versions caused these names to break column spanning, capacity display, and plan shortcuts.

| Version       | Behavior                                                        |
| ------------- | --------------------------------------------------------------- |
| Before 23.8.0 | Dash characters in plan names cause rendering failures.         |
| 23.8.0        | Partial fix for dash handling in plan names.                    |
| 25.3.0        | Full fix — dash characters in plan names are correctly handled. |

<Warning title="Version requirement for SAFe naming conventions">
  If your SAFe plans use dash-containing names (e.g., `PI-2401`, `I-2401-1`), upgrade to **version 25.3.0 or later** to avoid broken column spans, zero capacity display, and missing plan shortcuts.
</Warning>

***

## Multi-Sprint Item Display

When a work item is planned across multiple sprints, Planningboard renders it as a **continuous block spanning from the first to the last planned sprint**, regardless of whether intermediate sprints are included. This is current behavior; individual sprint instances are not shown separately.

<Info title="Known behavior: continuous span rendering">
  Items planned across multiple sprints appear as one unbroken block from first to last sprint. Intermediate sprints that do not individually contain the item are visually covered by the span. There is no per-sprint instance rendering at this time.
</Info>

***

## Configuration Example

The following example shows a widget configured for SAFe Sprints at the program level, with SAFe Team swimlanes and story-point capacity tracking.

```properties theme={null}
# Plans (Columns)
plansMode = SAFE_SPRINTS
lastPlans = 1
nextPlans = 4

# Work Items
query = type:story OR type:task
wiType = story

# Swimlanes (Rows)
assignmentMode = SAFE_TEAM

# Capacity
capacityLoad = true
capacityField = storyPoints
hoursPerDay = 8
```

For portfolio-level sprint planning across multiple programs, change `plansMode` to `SAFE_PFL_SPRINTS` and `assignmentMode` to `SAFE_PROGRAMS`.

***

## Related Pages

* [Plans Modes](/planningboard/reference/plans-modes/index) — Overview of all available plans modes
* [SAFe Program Increments](/planningboard/reference/plans-modes/safe-pis) — PI-level planning at program and solution levels
* [SAFe Solution Trains](/planningboard/reference/plans-modes/safe-solutions) — Solution-level planning
* [Project Plans](/planningboard/reference/plans-modes/project-plans) — Standard project-based plans mode
* [SAFe Parameters](/planningboard/reference/widget-parameters/safe-parameters) — Full SAFe widget parameter reference
* [Plans (Columns) Parameters](/planningboard/reference/widget-parameters/plans-parameters) — Complete plans parameter reference
* [SAFe Team Mode](/planningboard/reference/assignment-modes/safe-team-mode) — Swimlanes by SAFe team
* [SAFe Train Team Mode](/planningboard/reference/assignment-modes/safe-train-team-mode) — Swimlanes by ART team
* [SAFe Programs Mode](/planningboard/reference/assignment-modes/safe-programs-mode) — Swimlanes by SAFe program
* [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters) — Capacity and effort tracking configuration

<Accordion title="Sources">
  **KB Articles**

  * Swimlane Assignment Types

  **Support Tickets**

  * [#5879](https://support.nextedy.com/helpdesk/tickets/5879)
  * [#4711](https://support.nextedy.com/helpdesk/tickets/4711)
  * [#5921](https://support.nextedy.com/helpdesk/tickets/5921)

  **Source Code**

  * `PlansMode.java`
  * `PlanningBoardDataService.java`
  * `PlanningBoardWidgetRenderer.java`
  * `Config.java`
  * `PlanningBoardWidgetDependenciesProcessor.java`
</Accordion>
