Skip to main content

Before you start

  • Nextedy PLANNINGBOARD is installed and licensed in your Polarion project
  • Your Polarion project uses the SAFe solution template with SAFe Plan types configured
  • You have widget editor access on the Wiki or LiveDoc page hosting the board
  • Plan names follow SAFe conventions (see the warning on dash-containing names below)
SAFe naming conventions commonly use dashes — for example PI-2401 or I-2401-1. A parsing bug caused column spans to render incorrectly, capacity to display as zero, and plan shortcuts to disappear when plan names contained dashes. This was partially fixed in 23.8.0 and fully resolved in 25.3.0. If your plan names contain dashes, upgrade to 25.3.0 or later before proceeding.

How SAFe planning modes map to hierarchy levels

Planningboard exposes five plansMode values. For SAFe deployments, four are relevant:
Mapping of SAFe hierarchy levels to Planningboard plansMode values
The assignmentMode you pair with each level determines the swimlane grouping:
When you switch Plans Type in the widget parameters, the visible configuration fields change. Fields like Scope, Query, and Type appear for Project Plans (PROJECT_PLANS) mode; SAFe modes show different fields including the Program Increment Parameter ID field. This is expected — each mode surfaces only the fields relevant to its hierarchy level.

1

Set the Plans Mode

  1. Open the Polarion Wiki or LiveDoc page containing your Planningboard widget.
  2. Click Edit on the page, then open the widget parameters panel.
  3. Under Parameters for Plans (Columns), set Plans Type to the SAFe mode for your hierarchy level (for example, SAFe Program Increments in Program (SAFE_PIS) for a Program-level PI board).
  4. Save the widget parameters.
The board will now load SAFe Plans as columns instead of standard project plans.
2

Set the Assignment Mode for swimlanes

  1. In the same widget parameters panel, open Swimlanes (Rows).
  2. Set Assignment Type to the mode matching your hierarchy level:
    • Program / Solution Teams (SAFe) (SAFE_TEAM) — swimlanes for SAFe teams within the current program (sourced from Polarion SAFe Solution data)
    • Agile Release Train Teams (SAFe) (SAFE_TRAIN_TEAM) — swimlanes for teams within a specific Agile Release Train, filtered by ART ID
    • Programs (SAFe) (SAFE_PROGRAMS) — swimlanes for SAFe programs within a solution train (portfolio-level)
    • Users (Assignee) (ASSIGNEE) — standard assignee swimlanes (also valid at Team level)
  3. If you selected Agile Release Train Teams (SAFe) (SAFE_TRAIN_TEAM), enter the ART ID in the ART ID field that appears.
  4. Save the widget parameters.
Planningboard reads SAFe team assignments from the safeTeam custom field on work items (default for Program / Solution Teams (SAFe) (SAFE_TEAM) and Agile Release Train Teams (SAFe) (SAFE_TRAIN_TEAM) modes), and SAFe program assignments from the safeProgram field (default for Programs (SAFe) (SAFE_PROGRAMS) mode). If your project uses different field IDs, set safeTeamField or safeProgramField to match your actual field IDs.

3

Configure the Program Increment Parameter ID (SAFe Sprints in Program and SAFe Sprints in Portfolio)

When using SAFe Sprints in Program (SAFE_SPRINTS) or SAFe Sprints in Portfolio (SAFE_PFL_SPRINTS), the board needs to know which Program Increment to load sprints from. This is driven by a Page Parameter.
  1. In the widget parameters panel, locate the Program Increment Parameter ID field (visible only in SAFe Sprints in Program (SAFE_SPRINTS) and SAFe Sprints in Portfolio (SAFE_PFL_SPRINTS) modes).
  2. Enter the name of the Page Parameter you will create — for example, pi.
  3. On the Wiki or LiveDoc page, create a Page Parameter named pi and set its default value to the ID of the current Program Increment plan.
  4. The board now loads only the sprints belonging to that PI. Users can switch PIs by changing the page parameter value.
The Program Increment Parameter ID field only references the parameter by name — the Page Parameter itself must be created separately on the page. If the parameter does not exist, the board will fail to load sprints correctly. See Use Page Parameters for setup steps.

4

Assign to Parent Plan (optional, recommended for SAFe)

When a work item is dragged into a sprint column, Planningboard can automatically assign it to the parent Program Increment as well.
  1. In the widget parameters, under Parameters for Plans (Columns), enable Assign to Parent Plan.
  2. Save.
With this enabled: dragging a Story into I-2401-1 also plans it under PI-2401. Without it, the Story is planned only in the iteration.For SAFe modes, Planningboard also runs syncSAFEParentsFromChildren automatically — when a team assignment changes on a work item, the item is remapped to the correct Team Program Increment plan for that team.
5

Enable capacity tracking

Capacity bars in SAFe boards work the same as in standard mode. To enable them:
  1. Under Parameters for Plans (Columns), enable Show Capacity Load.
  2. Optionally set capacityField to a custom field (such as story points) if you are not using time-tracking fields.
  3. Set hoursPerDay if your team uses a value other than the default of 8.
Widget parameter values for capacity (for example, capacityField) must not contain leading or trailing whitespace. A space before or after the field ID will silently break capacity calculations and show zero on the capacity bar.
See Configure Capacity Tracking for full details.
6

Verify the board layout

After saving all widget parameters, reload the page. You should now see:
  • SAFe Plans (PIs or sprints) displayed as columns, ordered chronologically
  • Swimlanes showing SAFe teams, ART teams, programs, or assignees depending on your assignment mode
  • Capacity bars per swimlane (if capacity load is enabled)
  • Work items as cards, draggable between plan columns and swimlanes
Use Toggle Resource Load visualization in the toolbar to confirm that capacity bars are rendering correctly. Use Show Dependencies to verify that dependency arrows appear between cards (requires dependencyLinkRoles to be configured — see Configure Dependencies Display).

SAFe plan naming conventions

Recommended SAFe plan naming patterns for Program Increment, Iteration/Sprint, and Team iteration IDs
Plan IDs generated via bulk creation use {planNum} and {teamId} placeholders. For SAFe naming, align your Plan ID Pattern and Plan Name Pattern to the conventions above. See SAFe Plan Naming Conventions for the full pattern reference.

Configuration overview diagram

SAFe Program Board widget parameters (Plans, Swimlanes, Work Items) and the resulting board grid with PI columns and team swimlanes

Common pitfalls

Users often report that the widget parameter form looks different from screenshots in other guides. The form is dynamic: selecting SAFe Program Increments in Program (SAFE_PIS) hides the Scope and Query fields that are only relevant in Project Plans (PROJECT_PLANS) mode. If you do not see an expected field, verify that your Plans Type selection matches the level you are configuring.
The Program / Solution Teams (SAFe) (SAFE_TEAM) and Programs (SAFe) (SAFE_PROGRAMS) assignment modes read team and program data from Polarion’s SAFe Solution structure. If your project does not have a SAFe Solution configured in Polarion, these modes will render an empty board or fail silently. Use Users (Assignee) (ASSIGNEE) or Enumeration Field (ENUM) mode as an alternative if the SAFe Solution is not set up.
SAFe configuration is context-dependent and the interactions between plansMode, assignmentMode, and Page Parameters are easy to misconfigure. Configure and verify one hierarchy level (for example, the Team sprint board) before setting up the Program or Portfolio boards.

See also

KB Articles
  • Planningboard interface & basic interactions
  • Introduction to Planningboard
  • Planningboard Widget Parameters
Support TicketsSource Code
  • PlanningBoardDataService.java
  • PlansMode.java
  • Config.java
  • Item.java
  • PlanningBoardWidgetRenderer.java
Last modified on July 10, 2026