Risk Register

The Risk Register is a structured, Gantt-integrated risk management tool built directly into DPlan. Log risks, score them automatically, define mitigation actions and contingency plans, and let DPlan fire smart early-warning triggers when project data changes. No separate spreadsheet needed — everything lives in the .dplan file alongside your tasks.

The Risk Register is the only free Gantt tool with automatic trigger evaluation, resource-scope risks, and inline editing. No modal windows, no separate tool, no subscription.

Opening the Risk Register

Click the Risks tab in the view bar at the top of DPlan (between Reports and Settings). The tab shows a ⚡ lightning count badge when one or more smart triggers are currently firing.

You can also reach it from the Today Panel — any triggered risk card links directly to the register.

Risk Object — What Each Risk Contains

FieldDescription
TitleA clear one-line description of the risk event
CategoryOne of 10 predefined types or a custom type you add
ScopeWhere in the project this risk lives — Project, Phase, Task, or Resource
ProbabilityLow / Medium / High
ImpactLow / Medium / High
ScoreAuto-computed: Probability × Impact on a 1–9 scale
Response StrategyAvoid / Mitigate / Transfer / Accept
ActionThe specific step being taken to prevent or reduce the risk
Smart TriggerA predefined condition DPlan evaluates automatically (see below)
Watch ForA manual note — external signals you monitor yourself
Contingency PlanWhat you will do if the risk actually occurs
OwnerPerson or role responsible for monitoring this risk
StatusOpen / Monitoring / Mitigated / Occurred / Closed

Risk Scoring

DPlan uses a 3×3 probability–impact matrix, giving scores from 1 to 9:

ScoreLabelBadgeWhen
7–9Critical🔴High probability AND high/medium impact, or high impact AND high/medium prob
4–6Moderate🟠Medium combination of probability and impact
1–3Low🟢Low probability or low impact, or both

The score is recomputed live as you change probability or impact — no Save button needed.

Scope — Linking Risks to the Right Level

Each risk must be scoped to one of four levels. This controls where badges appear in the Gantt and task list.

ScopeIconUse ForBadge Appears On
Project📋Regulatory, market, strategic, funding risks that affect the whole projectSidebar project name (critical count only)
Phase📁Risks affecting an entire phase or stage (linked to a summary task)Phase task row + end of summary Gantt bar; faint tint on child task bars
TaskRisks tied to a specific task or milestoneTask row + Gantt bar / milestone diamond
Resource👤🔧📦Key person, equipment failure, or supply chain risks tied to a resourceEvery task row where that resource is assigned
Scope and Category are independent dimensions. A risk can be Scope: Resource and Category: Financial (e.g. a key contractor doubling their rate mid-project).

Risk Categories

DPlan ships with 10 industry-standard categories covering all project types:

CategoryTypical Risks
💰 FinancialBudget overrun, funding withdrawal, cost uncertainty
⚙️ TechnicalArchitecture failure, integration issues, technology choices
📅 ScheduleTimeline slippage, deadline pressure, estimation errors
👥 ResourceKey person departure, equipment breakdown, material shortage
🔗 DependencyExternal team delays, third-party API outages, vendor failure
✅ QualityDefect rates, standards compliance, acceptance criteria
💬 CommunicationUnclear requirements, stakeholder misalignment
🔒 SecurityData exposure, access control, compliance vulnerabilities
🌐 ExternalRegulatory changes, market shifts, weather, political factors
⚖️ LegalContract disputes, IP issues, liability, permit delays

Adding Custom Categories

Inside the expanded risk row, below the Category dropdown, there is a small "+ Add custom type…" input. Type the category name and press Enter. It is added to the project's category list and selected immediately. Custom categories are stored in the .dplan file and appear in the dropdown for all risks in that project.

Examples: Regulatory Approval (pharma), Environmental (construction), Safety Certification (aerospace).

Response Strategies

Based on the PMBOK standard, four response types are available:

StrategyMeaningExample
AvoidChange the plan to eliminate the risk entirelyRemove the risky feature from scope
MitigateReduce the probability or impactCross-train a backup developer
TransferShift the impact to a third partyInsurance, fixed-price contract with vendor
AcceptAcknowledge it, no proactive action"We will deal with it if it happens"

Smart Triggers

Each risk can have one smart trigger — a predefined condition DPlan evaluates automatically every time you open the Risk Register view. No background process, no server — computed on demand from existing project data.

When a trigger fires, the risk row shows a ⚡ icon, the Risks tab shows a count badge, and triggered risks appear in the Today Panel under "⚡ Risk Triggers".

Available Trigger Types

TypeGroupWhat DPlan checksThreshold
Task overdue by N daysScheduleEnd date past today by at least N days and not completeDays (default 3)
Task not started N days after start dateScheduleStart date passed by N days and status = not-startedDays (default 2)
Task progress stuck for N daysScheduleProgress hasn't changed in N days (tracked from last save)Days (default 5)
Milestone missedScheduleMilestone end date is past today and not complete
Predecessor task incompleteScheduleA dependency task is not done when this task's start date is reached
Cost overrun exceeds N%BudgetActual cost > fixed cost × (1 + N/100)% (default 20)
Actual cost reaches N% of budgetBudgetActual cost ÷ fixed cost × 100 ≥ N% (default 80)
Phase completion below N%PhaseAverage progress of child tasks < N%% (default 40)
Phase has more than N overdue tasksPhaseCount of overdue tasks in the phase > NTasks (default 2)
SPI drops below NEVMSchedule Performance Index (from EVM) < NRatio (default 0.8)
CPI drops below NEVMCost Performance Index (from EVM) < NRatio (default 0.8)
Blocker added to linked taskActivityAny task in scope has a comment flagged as a blocker
Task status changed to On HoldActivityAny task in scope has status = on-hold
Task status changed to CancelledActivityAny task in scope has status = cancelled
None (manual only)No automatic evaluation — rely on Watch For note

Watch For (Manual Note)

The Watch For field is a plain text area for external signals that DPlan cannot detect automatically. Examples:

The Watch For note is visible only in the expanded row — it is your reminder during your weekly risk review, not an automatic alert.

Status Lifecycle

Change a risk's status directly from the collapsed row without expanding it — the most common action during a review meeting.

StatusMeaning
OpenRisk identified, no active action yet. Default on creation.
MonitoringRisk is being actively watched. Trigger acknowledged.
MitigatedMitigation action has been applied. Risk probability/impact reduced.
OccurredThe risk event has happened — it is now an active issue. Row turns red-tinted.
ClosedRisk no longer relevant. No badges shown for closed risks.
When a risk moves to Occurred, update the risk title to reflect what actually happened and add a note in the contingency field describing what action was taken.

Adding and Editing Risks

Three Ways to Add a Risk

1. From the Risk Register View

  1. Click + Add Risk (top right of the register). A blank row is inserted at the top, auto-expanded.
  2. Type the Title. Press Tab to move to the next field.
  3. Select a Category from the dropdown (or add a custom one).
  4. Pick the Scope — Project, Phase, Task, or Resource. If Phase/Task/Resource, a second dropdown appears to select the target.
  5. Set Probability and Impact. The Score computes immediately.
  6. Choose a Response Strategy and fill in the Action field.
  7. Optionally configure a Smart Trigger and a Watch For note.
  8. Add a Contingency Plan for what to do if the risk occurs.
  9. All fields save automatically on blur — there is no Save button.

2. From the Gantt — Right-Click Context Menu

Right-click any task row (left panel) or Gantt bar (timeline). The context menu includes ⚠ Add Risk. Clicking it:

The right-click menu also includes "Log Issue" for creating an Issue Log entry from the same task — useful when a risk has already occurred and needs parallel tracking as an active issue.

3. From the Task Modal

Open any task (double-click on Gantt or press Enter). The task modal header includes a Log Issue button (red, top-right). To raise a risk instead, right-click the task row first (before opening the modal), or close the modal and use the right-click menu on the task row.

Editing a Risk

Click anywhere on a collapsed risk row to expand it. All fields become editable inline. Click the row header again (or click another row) to collapse. Changes are saved on every field blur.

Changing Status

The Status dropdown is visible in the collapsed row — change status without expanding. This is optimised for weekly review meetings where you move through all risks quickly.

Deleting a Risk

Expand the risk row. Click 🗑 Delete Risk at the bottom. A confirm prompt appears inline — click Yes, delete to confirm. Deletion cannot be undone with Ctrl+Z (it is immediate).

Badges in the Gantt & Task List

Risk badges (⚠) appear directly in the task list and on Gantt bars so you see risk context without switching to the Risk Register view.

Today Panel Integration

The Today Panel (HOME → Today button) includes a ⚡ Risk Triggers section when any smart triggers are firing. Each card shows the risk title, its scope label, and the trigger type. Clicking a card navigates to the Risk Register.

This section can be disabled in Settings → Risk Register → Show triggered risks in Today Panel.

Export

Print / PDF

Click Export ▾ → Print / PDF in the register header. A formatted risk table opens in a new window with all risks, including the mitigation action, watch note, and contingency plan in expandable detail rows. The browser print dialog opens automatically. Use Save as PDF in the print dialog.

CSV Export

Click Export ▾ → CSV. A UTF-8 BOM CSV downloads, compatible with Excel, Google Sheets, and Jira. All fields are included.

Project Journal

When exporting the Project Journal (Export ribbon → Task Journal), a Risk Register chapter is appended automatically (if there are any risks and the setting is enabled).

Settings

Go to Settings → Feature Toggles → ⚠ Risk Register to configure:

SettingEffect when OFF
Enable Risk Register (master toggle)Hides the Risks nav tab, removes all badges, stops all trigger evaluation. Zero performance overhead.
Show badge on ProjectHides critical risk count on sidebar project name
Show badge on PhasesHides ⚠ badge on phase rows and Gantt summary bars
Show badge on TasksHides ⚠ badge on task rows and Gantt bars
Show badge on ResourcesHides ⚠ badge on tasks where at-risk resource is assigned
Enable trigger evaluationStops all 14 smart trigger types from running
Evaluate [scope] triggersSkips triggers scoped to that level (Project / Phase / Task / Resource)
Show triggered risks in Today PanelRemoves ⚡ section from the Today Panel
Include Risk Register in Journal ExportOmits the risk chapter from Project Journal HTML

Copy / Paste Tasks (Related)

Copied tasks do not carry their risks with them — each pasted task starts with a clean risk slate. If you need risks on pasted tasks, add them after pasting.

Keyboard Reference

KeyAction
Enter on a rowExpand / collapse the risk row
EscapeCollapse the expanded row
TabMove between fields inside the expanded row

Data Storage

Risks are stored in project.risks inside the .dplan JSON file. The field is optional — projects without it load normally and start with an empty register. No migration is needed for existing projects.

Custom category types are stored in project.riskCategories alongside the risks array.

See also: Issue Log, WBS Tree View, Tags, Comments & Blockers, Earned Value (EVM), Reports, Settings.