Skip to main content

Prerequisites

Before enabling capacity visualization, ensure the following are in place:
  • The Teams Service is configured and your project has at least one team with members and a calendar. See Set Up Teams Service.
  • Team members have remaining estimates on their assigned work items.
  • You have access to edit the widget parameters on your Planningboard page.

How Capacity Is Calculated

Planningboard computes capacity from two sources: The formula applied per user:
Negative availableCapacity means the user is overallocated. Users without a team calendar entry default to totalCapacity = 0.0, which causes them to appear immediately overallocated if any work is assigned.

Capacity Visualization Modes

Planningboard supports three capacity visualization modes, controlled by widget parameters: You can enable these modes individually or in combination. Note that multiCapacityLoad requires capacityLoad to also be true — it does not take effect on its own.
1

Enable Basic Capacity Bars (Column-Level)

Column-level capacity bars show the aggregate load across all users for each Plan column. This is the simplest mode and requires no Teams Service.
  1. Open the Polarion page that contains your Planningboard widget.
  2. Click Edit to enter page editing mode.
  3. Open the widget parameters editor for your Planningboard widget.
  4. Set the capacityLoad parameter to true.
  5. Set the capacityField parameter if your team tracks effort in a custom field (for example, story points). Leave it blank to use Polarion’s built-in remainingEstimate / initialEstimate fields.
  6. Set hoursPerDay to the number of working hours per day used in calculations (default: 8).
  7. Save the page.
Column-level capacity bars for Sprint 24, Sprint 25, and Sprint 26 showing 80%, 50%, and 95% load with total hours
If your work items carry story points in a custom field (for example storyPoints), set capacityField = storyPoints. Planningboard will sum that field instead of time estimates. Combine with a matching hoursPerDay conversion only when mixing time-based and point-based effort.
2

Enable Per-User Capacity (Teams Service Mode)

Per-user capacity shows each team member’s individual allocation and remaining capacity in summary cells on the board. This mode requires the Teams Service and assignmentMode = ASSIGNEE.
  1. Confirm that useTeamsService is set to true in your widget parameters.
  2. Set selectedTeam to the ID of the team you want to display capacity for.
  3. Set userCapacityLoad to true.
  4. Save the page.
When configured, the board displays a summary cell per user row. Each summary cell shows:
  • Allocated — sum of remaining estimates for tasks assigned to that user in the Plan
  • Total — user’s total available hours from the team calendar
  • Available — total minus allocated (shown in red if negative)
If a team member has no calendar entry in the Teams Service, their totalCapacity defaults to 0.0. Any assigned work immediately flags them as overallocated. Verify calendar coverage in the Teams Service before relying on per-user capacity numbers.
3

Enable Per-Swimlane Capacity (Multi-Capacity Mode)

Multi-capacity mode shows a capacity progress bar in each individual swimlane cell — useful when different resources have significantly different capacities.
  1. Ensure capacityLoad is set to truemultiCapacityLoad takes effect only when capacityLoad is also enabled.
  2. Set multiCapacityLoad to true in the widget parameters.
  3. Ensure useTeamsService is true (multi-capacity reads per-resource capacity from the Teams Service data).
  4. Save the page.
Multi-capacity table showing per-user progress bars for Alice, Bob, and Carol across Sprint 24 and Sprint 25
4

Customize the Capacity Tooltip

By default, capacity bars show a tooltip with aggregate Capacity / Done / Todo / Available values. You can customize this tooltip to show a per-user allocation breakdown using the columnTooltipTemplate parameter.Set columnTooltipTemplate to a template string or a JavaScript function that receives the column and row objects. When no custom template is configured, the default aggregate tooltip is used automatically.
A custom columnTooltipTemplate can highlight overallocated users in red. The format typically shows Available (Overallocated) / Allocated / Total per team member, making resource bottlenecks easy to spot during planning sessions.

Known Limitations

Planningboard capacity visualization has the following confirmed gaps relative to Nextedy GANTT:
  • No multi-assignee support — capacity is calculated from a single assignee per work item. Work items with multiple assignees are not distributed across those users.
  • No sub-item effort distribution — capacity is calculated from the work items loaded directly onto the board. Effort in child tasks below the displayed level is not rolled up into capacity calculations.
If your planning workflow depends on either of these behaviors, evaluate whether Nextedy GANTT’s capacity view better fits your needs.
Capacity configuration parameters are whitespace-sensitive. Ensure there are no leading or trailing spaces in parameter values such as capacityField, selectedTeam, or hoursPerDay. Whitespace errors cause capacity calculations to silently fall back to zero or produce incorrect totals. See Capacity Calculation Issues if you see unexpected zeros.

Verification

After saving your widget configuration, reload the Planningboard page. You should now see:
  • Column-level mode (capacityLoad): A progress bar appears at the top of each Plan column, showing aggregate load as a percentage and total hours.
  • Per-user mode (userCapacityLoad): Each assignee swimlane row has a summary cell showing allocated, total, and available hours. Overallocated users appear with a red indicator.
  • Multi-capacity mode (multiCapacityLoad): Individual swimlane cells display their own progress bars.
If capacity bars do not appear, verify that at least one work item in a Plan has a non-zero remainingEstimate (or the value of your capacityField), and that useTeamsService is enabled when required by the mode you selected.

See Also

KB Articles
  • Introduction to Planningboard
  • Planningboard: Customizable Statistics and Capacity Indicators
  • What is ‘Normalization’
Support TicketsSource Code
  • PlanningBoardWidget.java
  • planningboard.js
  • PlanningBoardDataService.java
  • perUserCapacity.cy.ts
  • Config.java
Last modified on July 9, 2026