> ## 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 Parameters

> Reference for all widget parameters that control SAFe (Scaled Agile Framework) integration in Nextedy PLANNINGBOARD.

## Plans Mode Selection

The `plansMode` parameter is the primary switch for SAFe integration. Setting it to a SAFe value changes which additional configuration fields are shown and which Plans are loaded as columns.

| Parameter   | Type            | Default         | Description                                                                                                                                                                                                          |
| ----------- | --------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `plansMode` | `string` (enum) | `PROJECT_PLANS` | Determines how plans are loaded and displayed as columns. Set to a SAFe value to activate SAFe-specific fields and behaviors. See [Plans Modes](/planningboard/reference/plans-modes/index) for full mode reference. |

### Available SAFe Plans Mode Values

| Value              | Mode Name                         | Description                                                                                                                                                        |
| ------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `SAFE_SPRINTS`     | SAFe Sprints (Program)            | Loads SAFe iteration plans (sprints) from the current program. Plans query is automatically set to `template.id:iterationPlan`. Requires a Polarion SAFe Solution. |
| `SAFE_PFL_SPRINTS` | SAFe Sprints (Portfolio)          | Loads sprint-level plans at portfolio level, spanning multiple programs within a solution portfolio. Requires a Polarion SAFe Solution.                            |
| `SAFE_PIS`         | SAFe Program Increments (Program) | Loads Program Increment plans at Agile Release Train level. Reflects PI planning cadence (typically 8–12 week increments). Requires a Polarion SAFe Solution.      |
| `SAFE_SOLUTION`    | SAFe Solution Trains              | Loads Program Increment plans at Solution level, coordinating multiple ARTs. Requires a Polarion SAFe Solution at portfolio level.                                 |

<Warning title="Plans Type determines which configuration fields appear">
  When `plansMode` is set to a SAFe value, the widget parameter editor shows different fields than it does for Project Plans. In particular, the Scope, Query, and Type fields present under Project Plans are replaced by SAFe-specific fields. If you see an unexpected configuration UI, verify your Plans Type selection first.
</Warning>

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/vfRg9jxXRntLqZFW/planningboard/diagrams/reference/widget-parameters/safe-parameters/diagram-1.svg?fit=max&auto=format&n=vfRg9jxXRntLqZFW&q=85&s=aba6d29099e36144548d403c0dd16884" alt="Configuration fields shown for each plansMode value: Project Plans shows Scope, Query Type, Query, Sync to Parent Plan, and Plan Link; SAFe Sprints in Program/SAFe Sprints in Portfolio shows the Program Increment Parameter ID and hides Sync to Parent Plan and Plan Link; SAFe Program Increments in Program/SAFe Program Increments in Solution shows only the Program Increment Parameter ID" width="600" height="392" data-path="planningboard/diagrams/reference/widget-parameters/safe-parameters/diagram-1.svg" />
</Frame>

***

## SAFe Program Increment Parameter

This parameter is shown only when Plans Type is set to SAFe Sprints in Program (`SAFE_SPRINTS`) or SAFe Sprints in Portfolio (`SAFE_PFL_SPRINTS`).

| Parameter                      | Type     | Default | Description                                                                                                                                                                                                                                         |
| ------------------------------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Program Increment Parameter ID | `string` | None    | References a Polarion page parameter that identifies which Program Increment (PI) to scope the board to. Must match a Page Parameter defined on the same Polarion page. When set, the board filters sprints to those belonging to the specified PI. |

<Note title="Page Parameters must be created explicitly">
  The Program Increment Parameter ID field references a Polarion page parameter by name — it does not create one. You must define the page parameter on the Wiki or LiveDoc page first, then enter its ID here. If the parameter is missing or the ID is wrong, no plans load. See the ticket insight: SAFe configuration errors most commonly trace back to missing or misreferenced Page Parameters.
</Note>

***

## Assignment Mode — SAFe Swimlanes

These parameters control how swimlanes are grouped when using a SAFe assignment mode. Set `assignmentMode` to one of the SAFe values to activate SAFe-based row grouping.

| Parameter        | Type            | Default    | Description                                                                                                                                                                                           |
| ---------------- | --------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `assignmentMode` | `string` (enum) | `ASSIGNEE` | Determines how work items are grouped into swimlanes. Set to a SAFe value to use SAFe-based row grouping. See [Assignment Modes](/planningboard/reference/assignment-modes/index) for full reference. |

### SAFe Assignment Mode Values

| Value             | Mode Name            | Description                                                                                                                                                                                                                                  |
| ----------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SAFE_TEAM`       | SAFe Team Mode       | Displays one swimlane per SAFe team within the current program. Teams are discovered from the Polarion SAFe Solution data. Requires Polarion SAFe Solution. See [SAFe Team Mode](/planningboard/reference/assignment-modes/safe-team-mode).  |
| `SAFE_TRAIN_TEAM` | SAFe Train Team Mode | Displays swimlanes for teams within a specific Agile Release Train (ART), filtered by ART ID. See [SAFe Train Team Mode](/planningboard/reference/assignment-modes/safe-train-team-mode).                                                    |
| `SAFE_PROGRAMS`   | SAFe Programs Mode   | Displays swimlanes for SAFe programs within a solution train. Used for portfolio-level planning. Requires Polarion SAFe Solution at portfolio level. See [SAFe Programs Mode](/planningboard/reference/assignment-modes/safe-programs-mode). |

### SAFe Assignment Mode Parameters

| Parameter            | Type      | Default        | Description                                                                                                                                                                                                                                                                          |
| -------------------- | --------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `safeTeamField`      | `string`  | `safeTeam`     | Custom field ID that stores the SAFe Team assignment on work items. Used when Assignment Type is set to Program / Solution Teams (SAFe) (`SAFE_TEAM`) or Agile Release Train Teams (SAFe) (`SAFE_TRAIN_TEAM`). Must match the exact field ID in your Polarion project configuration. |
| `safeProgramField`   | `string`  | `safeProgram`  | Custom field ID that stores the SAFe Program assignment on work items. Used when Assignment Type is set to Programs (SAFe) (`SAFE_PROGRAMS`). Must match the exact field ID in your Polarion project configuration.                                                                  |
| `showEmptySwimlanes` | `boolean` | `false`        | When `true`, all SAFe teams or programs appear as swimlanes even if no work items are currently assigned to them. When `false`, only swimlanes with at least one card are shown.                                                                                                     |
| `swimlaneSort`       | `string`  | `alphabetical` | Determines the sort order of swimlanes. Applied when using any SAFe assignment mode.                                                                                                                                                                                                 |

<Warning title="SAFe field IDs are whitespace-sensitive">
  The values of `safeTeamField` and `safeProgramField` must exactly match the custom field IDs in your Polarion project, including casing. A mismatch produces empty swimlanes with no error message.
</Warning>

***

## SAFe Plan Cells Mode

When using SAFe sprints or stemming-based planning, items can be locked to specific plan-resource intersections (cells) rather than moved freely across plans.

| Parameter       | Type      | Default | Description                                                                                                                                                    |
| --------------- | --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `planCellsMode` | `boolean` | `false` | When `true`, enables plan cells mode. Work items belong to specific plan-resource cells. Applies when `plansMode` is a SAFe value or when stemming is enabled. |

<Info title="Verify in application">
  The exact runtime behavior of `planCellsMode` in each SAFe plans mode combination should be verified against the live product, as interactions between `planCellsMode`, `plansMode`, and `assignmentMode` are complex.
</Info>

***

## SAFe Parent Sync

When work items are assigned to a team in a SAFe mode, Planningboard can automatically sync those items to the correct Team Program Increment plan.

| Parameter           | Type      | Default | Description                                                                                                                                                                                                        |
| ------------------- | --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Sync to Parent Plan | `boolean` | —       | When enabled, planned work items are also automatically planned to the parent Plan of the currently added Plan. Shown only when Plans Type is set to Project Plans (`PROJECT_PLANS`); hidden for SAFe plans modes. |

<Note title="SAFe parent sync is automatic in SAFe modes">
  The `syncSAFEParentsFromChildren` behavior — automatically syncing SAFe User Stories to the correct Team Program Increment plan when team assignment changes — is an automatic behavior in SAFe plans modes, not a separately configurable parameter. It triggers when a work item's team assignment changes and remaps the plan ID based on the team assignment.
</Note>

***

## Capacity Parameters in SAFe Contexts

Capacity calculation parameters apply in SAFe modes as in standard modes, but their interaction with SAFe plan structures has specific behavior.

| Parameter           | Type      | Default | Description                                                                                                                                                                                                       |
| ------------------- | --------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `capacityLoad`      | `boolean` | `false` | Enables capacity loading calculations for resources. When used with SAFe team swimlanes, capacity is tracked per team. See [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters). |
| `multiCapacityLoad` | `boolean` | `false` | Enables per-swimlane capacity tracking across multiple plans simultaneously. See [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters).                                           |
| `userCapacityLoad`  | `boolean` | `false` | Enables user-level capacity loading when using the Teams Service. Only meaningful when `useTeamsService` is `true`.                                                                                               |
| `useTeamsService`   | `boolean` | `false` | Enables integration with the Polarion Teams Service for team capacity, user capacity, and team member data. When enabled, overrides `plan.capacity` values with Teams Service data.                               |
| `selectedTeam`      | `string`  | None    | ID of the currently selected team for filtering and capacity display. Used when `useTeamsService` is `true`.                                                                                                      |
| `hoursPerDay`       | `number`  | `8`     | Number of working hours per day used in capacity calculations. Applies across all plans modes including SAFe.                                                                                                     |
| `capacityField`     | `string`  | None    | Custom field ID containing capacity values (e.g., story points, hours). When set, overrides time-tracking fields for capacity calculation.                                                                        |

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

***

## Configuration Example

The following example shows a board configured for SAFe Program Increment planning at the program level, with teams as swimlanes.

```text theme={null}
SAFe PI Board — Program Level

  plansMode               = SAFE_SPRINTS
  Program Increment       = PI_2025_Q3          (via Page Parameter)
  assignmentMode          = SAFE_TEAM
  safeTeamField           = safeTeam
  safeProgramField        = safeProgram
  showEmptySwimlanes      = false
  capacityLoad            = true
  useTeamsService         = false
  hoursPerDay             = 8
```

This configuration produces a board where:

* Columns are SAFe iteration plans (sprints) within Program Increment `PI_2025_Q3`
* Rows (swimlanes) are SAFe teams sourced from the Polarion SAFe Solution
* Only teams with assigned cards are shown (`showEmptySwimlanes = false`)
* Capacity bars are shown per swimlane per sprint

For a portfolio-level board showing Programs as swimlanes across Solution Train PIs:

```text theme={null}
SAFe Solution Train Board — Portfolio Level

  plansMode               = SAFE_SOLUTION
  assignmentMode          = SAFE_PROGRAMS
  safeProgramField        = safeProgram
  showEmptySwimlanes      = true
  capacityLoad            = false
```

***

## Level-by-Level Configuration Summary

Different SAFe hierarchy levels require different combinations of `plansMode` and `assignmentMode`.

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/vfRg9jxXRntLqZFW/planningboard/diagrams/reference/widget-parameters/safe-parameters/diagram-2.svg?fit=max&auto=format&n=vfRg9jxXRntLqZFW&q=85&s=6ebb59a663d2c3ed5875ed3085e75bde" alt="SAFe hierarchy levels — Portfolio, Program PI Planning, Program Sprint Planning, and Portfolio Sprint Planning — with the recommended plansMode, assignmentMode, and field configuration for each level" width="600" height="516" data-path="planningboard/diagrams/reference/widget-parameters/safe-parameters/diagram-2.svg" />
</Frame>

***

## Limitations

* Planningboard swimlane configuration does not support Polarion page parameters (e.g. `$pageParameters.xxx`) for dynamic team filtering. Workarounds include configuring static swimlanes using link roles, or creating one Planningboard page per team.
* Custom Team work item types are not supported for SAFe swimlane configuration. Only Nextedy's standard Team work item type with the required custom fields (`safeTeam`, `safeProgram`) is supported. Nextedy GANTT (25.5.0+) supports custom team types if that is a requirement.
* SAFe configuration is highly context-dependent: the configuration UI changes based on `plansMode` selection. If your board is showing unexpected configuration fields, verify the Plans Type selection first.
* Multi-assignee capacity distribution and sub-item effort distribution are not supported in SAFe modes (consistent with general Planningboard capacity limitations vs. Nextedy GANTT).

***

## Related Reference Pages

* [Plans Modes](/planningboard/reference/plans-modes/index) — full reference for all `plansMode` values
* [SAFe Sprints](/planningboard/reference/plans-modes/safe-sprints) — `SAFE_SPRINTS` mode details
* [SAFe Program Increments](/planningboard/reference/plans-modes/safe-pis) — `SAFE_PIS` mode details
* [SAFe Solution Trains](/planningboard/reference/plans-modes/safe-solutions) — `SAFE_SOLUTION` mode details
* [SAFe Team Mode](/planningboard/reference/assignment-modes/safe-team-mode) — `SAFE_TEAM` assignment mode
* [SAFe Train Team Mode](/planningboard/reference/assignment-modes/safe-train-team-mode) — `SAFE_TRAIN_TEAM` assignment mode
* [SAFe Programs Mode](/planningboard/reference/assignment-modes/safe-programs-mode) — `SAFE_PROGRAMS` assignment mode
* [Capacity Parameters](/planningboard/reference/widget-parameters/capacity-parameters) — capacity configuration reference
* [Plans (Columns) Parameters](/planningboard/reference/widget-parameters/plans-parameters) — full plans column configuration
* [Swimlanes (Rows) Parameters](/planningboard/reference/widget-parameters/swimlanes-parameters) — full swimlane configuration

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

  * Planningboard Widget Parameters
  * Planningboard: Customizable Statistics and Capacity Indicators
  * Planningboard interface & basic interactions

  **Support Tickets**

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

  **Source Code**

  * `Config.java`
  * `PlanningBoardWidget.java`
  * `widget.vm`
  * `PlanningBoardWidgetRenderer.java`
  * `PlanningBoardWidgetDependenciesProcessor.java`
</Accordion>
