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

> Configure Planningboard to group work items into swimlanes using SAFe (Scaled Agile Framework) assignment types — Program/Solution Teams, Agile Release Train Teams, or Programs.

<Info title="Verify in application">
  SAFe swimlane assignment types require a **Polarion SAFe Solution** to be configured in your environment. Contact Nextedy support for setup guidance before attempting to configure these modes.
</Info>

***

## SAFe assignment types overview

Nextedy PLANNINGBOARD supports three SAFe-specific **swimlane assignment types**, each suited to a different level of the SAFe hierarchy:

| Assignment Type                  | Widget parameter value | SAFe level         | What each swimlane represents                  |
| -------------------------------- | ---------------------- | ------------------ | ---------------------------------------------- |
| Program / Solution Teams (SAFe)  | `SAFE_TEAM`            | Program / Solution | One team within the current SAFe program       |
| Agile Release Train Teams (SAFe) | `SAFE_TRAIN_TEAM`      | ART                | One team within a specific Agile Release Train |
| Programs (SAFe)                  | `SAFE_PROGRAMS`        | Portfolio          | One SAFe program within a solution train       |

All three types read team and program data from Polarion's SAFe Solution — they do not require you to maintain a separate enumeration field.

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/zUlmOSLBIQ0HyaAX/planningboard/diagrams/guides/swimlanes/safe-swimlanes/diagram-1.svg?fit=max&auto=format&n=zUlmOSLBIQ0HyaAX&q=85&s=dd2910e7fe5540a5929c1f4d42053af9" alt="SAFe hierarchy on Planningboard: Programs (SAFe) (SAFE_PROGRAMS) at portfolio level maps to Program A and Program B swimlanes, Program / Solution Teams (SAFe) (SAFE_TEAM) at program level maps to Team Alpha and Team Beta swimlanes, and Agile Release Train Teams (SAFe) (SAFE_TRAIN_TEAM) at ART level maps to Team X and Team Y swimlanes" width="700" height="330" data-path="planningboard/diagrams/guides/swimlanes/safe-swimlanes/diagram-1.svg" />
</Frame>

***

## Configure Program / Solution Teams swimlanes

Use **Program / Solution Teams (SAFe)** when your board shows a single SAFe program and you want one swimlane per team within that program.

**Steps:**

1. Open the Planningboard widget parameters panel.
2. Navigate to **Swimlanes (Rows)**.
3. Set **Assignment Type** to **Program / Solution Teams (SAFe)** (`SAFE_TEAM`).
4. Set the **SAFe Team Field** (`safeTeamField`) to the custom field ID that stores the SAFe team assignment on your work items. The default value is `safeTeam` — change this only if your Polarion project uses a different field ID.
5. Optionally set **Show Empty Swimlanes** (`showEmptySwimlanes`) to `true` if you want all teams to appear even when they have no planned work items.
6. Save and reload the board.

**Widget parameter example:**

```properties theme={null}
assignmentMode=SAFE_TEAM
safeTeamField=safeTeam
showEmptySwimlanes=false
```

<Tip title="Plans mode for SAFe sprints">
  When using SAFe team swimlanes, set **Plans Mode** (`plansMode`) to **SAFe Sprints in Program** (`SAFE_SPRINTS`) so the board columns show iteration plans automatically filtered by the SAFe Iteration Plan template — no manual plan query needed.
</Tip>

***

## Configure Agile Release Train Teams swimlanes

Use **Agile Release Train Teams (SAFe)** when you need to scope the board to teams within a specific ART rather than all teams in the program.

**Steps:**

1. Open the Planningboard widget parameters panel.
2. Navigate to **Swimlanes (Rows)**.
3. Set **Assignment Type** to **Agile Release Train Teams (SAFe)** (`SAFE_TRAIN_TEAM`).
4. Set the **SAFe Team Field** (`safeTeamField`) to the custom field ID that stores the SAFe team assignment on work items (default: `safeTeam`).
5. Enter the **ART ID** in the corresponding widget parameter to filter which Agile Release Train's teams appear as swimlanes. Only teams belonging to that ART will be shown.
6. Save and reload the board.

**Widget parameter example:**

```properties theme={null}
assignmentMode=SAFE_TRAIN_TEAM
safeTeamField=safeTeam
```

<Warning title="ART ID required">
  If you leave the ART ID parameter empty, the board may show teams from all ARTs or produce unexpected results. Always specify the ART ID when using **Agile Release Train Teams (SAFe)** (`SAFE_TRAIN_TEAM`).
</Warning>

***

## Configure Programs swimlanes (portfolio level)

Use **Programs (SAFe)** when planning at the portfolio level, where each swimlane represents a SAFe program within a solution train.

**Steps:**

1. Open the Planningboard widget parameters panel.
2. Navigate to **Swimlanes (Rows)**.
3. Set **Assignment Type** to **Programs (SAFe)** (`SAFE_PROGRAMS`).
4. Set the **SAFe Program Field** (`safeProgramField`) to the custom field ID that stores the SAFe program assignment on work items. The default value is `safeProgram`.
5. Configure the portfolio suffix in the corresponding parameter if your Polarion SAFe Solution uses a non-default solution train configuration.
6. Save and reload the board.

**Widget parameter example:**

```properties theme={null}
assignmentMode=SAFE_PROGRAMS
safeProgramField=safeProgram
```

***

## SAFe-specific planning features

### Automatic plan syncing for User Stories

When a work item's team assignment changes (for example, by dragging its card to a different swimlane), Planningboard can automatically sync the item to the correct Team Program Increment plan. This automation is triggered by `syncSAFEParentsFromChildren` — plan IDs are remapped based on the updated team assignment.

### Plans mode for SAFe Program Increments

For portfolio-level boards using **Programs (SAFe)** (`SAFE_PROGRAMS`), set **Plans Mode** to **SAFe Program Increments in Program** (`SAFE_PIS`) to load Program Increment plans as columns, or **SAFe Program Increments in Solution** (`SAFE_SOLUTION`) for solution-train-level planning.

```properties theme={null}
plansMode=SAFE_PIS
assignmentMode=SAFE_PROGRAMS
safeProgramField=safeProgram
```

***

## Swimlane sort order

Swimlanes are sorted according to the `swimlaneSort` parameter. The default is `alphabetical`. For SAFe assignment types, teams and programs are listed alphabetically by their Polarion display name unless you change this parameter.

```properties theme={null}
swimlaneSort=alphabetical
```

<Warning title="Swimlane sort order is coupled to item sort order">
  Changing the swimlane sort order also affects the item sort order within each lane. This is a known product limitation — independent control of swimlane order and item order is not currently supported.
</Warning>

***

## Collapsible swimlanes

All SAFe swimlane types support collapsing individual lanes. Collapsible swimlanes are enabled by default (`collapsibleSwimlanes=true`). Users can expand or collapse any team or program row to manage board complexity when many lanes are visible.

```properties theme={null}
collapsibleSwimlanes=true
```

***

## Common pitfalls

<Warning title="SAFe Solution must be configured first">
  SAFe assignment types — Program / Solution Teams (SAFe) (`SAFE_TEAM`), Agile Release Train Teams (SAFe) (`SAFE_TRAIN_TEAM`), and Programs (SAFe) (`SAFE_PROGRAMS`) — require Polarion SAFe Solution to be installed and configured in your Polarion instance. If the SAFe Solution is absent, these assignment modes produce empty boards with no swimlanes. Contact Nextedy support to enable SAFe swimlane options.
</Warning>

<Warning title="Custom field IDs must match exactly">
  The `safeTeamField` and `safeProgramField` parameters are whitespace-sensitive and must exactly match the field IDs defined in your Polarion project. Incorrect or mismatched field IDs cause work items to appear in the "Not Assigned/Other" swimlane instead of the correct team lane.
</Warning>

<Warning title="Items with multiple assignees appear in one swimlane only">
  Work items assigned to multiple users currently display under only one swimlane, not duplicated across all assigned users. This limitation applies to user-based assignment modes and SAFe team-based modes. An enhancement to display items under all assigned swimlanes is tracked as a known product improvement.
</Warning>

<Tip title="Use showEmptySwimlanes during initial setup">
  When first configuring SAFe swimlanes, set `showEmptySwimlanes=true` to confirm all expected teams appear. Once you have verified the setup, you can switch back to `false` to keep the board focused on active teams.
</Tip>

***

## Verification

After saving your widget parameters, reload the Planningboard. You should now see:

* One horizontal swimlane row per SAFe team (or program) as defined in your Polarion SAFe Solution
* Work items grouped into the swimlane matching their `safeTeam` (or `safeProgram`) field value
* Items with no SAFe assignment grouped in the "Not Assigned/Other" row at the bottom
* Collapsible rows with team or program labels on the left

If swimlanes are empty or missing, verify that your SAFe field IDs are correct and that Polarion SAFe Solution is active.

***

## See also

* [Configure Swimlanes (Rows)](/planningboard/guides/configuration/swimlanes-configuration) — general swimlane configuration and the Assignment Type dropdown
* [User and Assignee Swimlanes](/planningboard/guides/swimlanes/user-swimlanes) — standard user-based swimlane assignment
* [Enumeration Field Swimlanes](/planningboard/guides/swimlanes/enum-swimlanes) — swimlanes by custom enumeration field
* [Project Swimlanes](/planningboard/guides/swimlanes/project-swimlanes) — swimlanes for cross-project planning
* [Filter Swimlanes by Team](/planningboard/guides/swimlanes/filtering-by-team) — scope visible swimlanes to a specific team using page parameters
* [SAFe Planning Workflows](/planningboard/guides/planning/safe-planning) — broader SAFe planning configuration including Plans mode and PI planning
* [Widget Parameters Overview](/planningboard/guides/configuration/widget-parameters) — full reference for all widget parameters

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

  * Swimlane Assignment Types
  * Filter user swimlanes by Plan range
  * Sorting of Swimlanes (Parent Item Assignment Type)

  **Support Tickets**

  * [#5922](https://support.nextedy.com/helpdesk/tickets/5922)
  * [#6681](https://support.nextedy.com/helpdesk/tickets/6681)
  * [#5760](https://support.nextedy.com/helpdesk/tickets/5760)

  **Source Code**

  * `PlanningBoardWidgetRenderer.java`
  * `filterMultiSwimlaneRows.cy.ts`
  * `licenseReadonly.cy.ts`
  * `Config.java`
  * `PlanningBoardWidget.java`
</Accordion>
