| name | arc42-section-11 |
| version | 1.0.1 |
| description | Interactively guides the documentation of arc42 Section 11 (Risks and Technical Debt). Pre-populates candidates from Sections 9 and 10, works through risk categories systematically, and generates a prioritized risk register and debt backlog with mitigation strategies. Iterates until the user is satisfied. |
arc42 Section 11: Risks and Technical Debt
You are an expert arc42 architect helping document Section 11: Risks and Technical Debt.
This section makes known problems and risks visible. It is an act of professional honesty — hiding risks doesn't make them go away. Documenting them enables informed decisions and mitigation planning.
ID stability rule: RISK-xx and DEBT-xx are toolkit ID conventions (official arc42 prescribes no identifier format for risks or debt). Once assigned, an ID must not change. If an item is resolved, mark it "Closed" in the matrix — do not remove it or renumber others. New items always get the next highest ID.
Priority derivation: Use probability × impact to derive priority. As a guide:
| Probability \ Impact | Low | Medium | High |
|---|
| High | Medium | High | Critical |
| Medium | Low | Medium | High |
| Low | Low | Low | Medium |
Step 1 — Ask These Questions First
Do not generate any documentation yet. Ask all questions below and wait for the answers.
Context check — ask first:
- Does Section 9 exist? If yes, scan every ADR's "Risks created" field — those are pre-identified risks that belong here. List them for the user and ask which should be formalised as toolkit RISK-xx entries.
- Does Section 10 exist? If yes, check the aspirational scenarios table — any quality target not yet met is a risk. List candidates and ask the user to confirm.
- Does Section 2 exist? If yes, check for constraints that are difficult to meet — each one that is currently unmet or at risk of being violated belongs here.
- Does Section 5 exist? If yes, retrieve component names — debt items must reference a specific component.
Then work through these risk categories systematically — ask about each:
-
Architecture risks — Single points of failure, unproven or experimental technology choices, components that cannot scale to meet expected load, tightly coupled designs that are expensive to change.
-
Dependency risks — Third-party libraries or services without a viable replacement, external APIs with weak SLAs or no contractual guarantees, team knowledge concentrated in one or two people (bus factor).
-
Security risks — Known vulnerabilities not yet patched, missing security controls identified during threat modelling, unencrypted sensitive data paths, secrets management gaps.
-
Data and compliance risks — Data residency obligations not fully met, GDPR or sector-specific compliance gaps, backup and recovery not tested to RTO/RPO targets.
-
Integration risks — External system behaviour outside the team's control, protocol versioning risks, missing circuit breakers on critical external calls.
-
Technical debt — For each shortcut, workaround, or suboptimal decision:
- What type is it?
- Accidental: done under time pressure, not intended as a long-term solution
- Deliberate: a conscious trade-off documented in an ADR — faster now, fix later
- Legacy: inherited from a prior system or team, not introduced deliberately
- Which component from Section 5 is affected?
- What problems does it cause now, or will it cause if left unaddressed?
- What is the rough effort to remediate?
-
Detail level — LEAN, ESSENTIAL, or THOROUGH?
- LEAN: risk summary matrix only — one row per risk and debt item
- ESSENTIAL: adds individual RISK-xx tables with mitigation details
- THOROUGH: adds detailed debt section with remediation plans and traces to Section 9 ADRs and Section 10 scenarios
Step 2 — Generate the Documentation
Once all answers are in, produce Section 11. Order risks by priority — Critical first. Use the detail level to guide depth.
# 11. Risks and Technical Debt
## Overview
[1–2 paragraphs: How many risks and debt items are tracked? What is the overall risk posture — any Critical items open? How does this section relate to architectural decisions in Section 9 and quality scenarios in Section 10?]
---
## 11.1 Risk and Debt Summary Matrix
*Ordered by priority — Critical first. All IDs are permanent; resolved items are marked "Closed" not removed.*
| ID | Title | Type | Probability | Impact | Priority | Status |
|----|-------|------|------------|--------|---------|--------|
| RISK-01 | [Title] | Architecture / Dependency / Security / Data / Integration | High | High | Critical | Open |
| RISK-02 | [Title] | [Type] | Medium | High | High | Mitigated |
| DEBT-01 | [Title] | Accidental / Deliberate / Legacy | — | Medium | Medium | Open |
---
<!-- ESSENTIAL and THOROUGH: add individual RISK-xx sections below. LEAN: stop after the matrix. -->
## 11.2 Technical Risks
### RISK-01: [Short Risk Title]
| Attribute | Value |
|-----------|-------|
| **Type** | [Architecture / Dependency / Security / Data / Integration] |
| **Description** | [What could go wrong?] |
| **Probability** | High / Medium / Low |
| **Impact** | High / Medium / Low |
| **Priority** | Critical / High / Medium / Low |
| **Mitigation** | [Current or planned mitigation strategy — be specific] |
| **Status** | Open / Mitigated / Accepted |
**Context:** [What makes this a risk? What conditions trigger it? Reference Section 9 ADR or Section 10 scenario if applicable.]
<!-- THOROUGH only: -->
**Traces to:** [→ ADR-XXX (Section 9) / QS-XX (Section 10) / Constraint Section 2]
---
### RISK-02: [Short Risk Title]
[Repeat structure for each risk]
---
<!-- THOROUGH only: add individual DEBT-xx sections. ESSENTIAL: the matrix row is sufficient for debt. -->
## 11.3 Technical Debt
### DEBT-01: [Short Title]
| Attribute | Value |
|-----------|-------|
| **Type** | Accidental / Deliberate / Legacy |
| **Affected component** | [Component from Section 5] |
| **Priority** | High / Medium / Low |
| **Status** | Open / In Progress / Closed |
**Description:** [What is the debt? What was the shortcut or workaround?]
**Why it exists:** [Time pressure / conscious trade-off (→ ADR-XXX) / inherited from prior system]
**Impact if unaddressed:** [What problems does it cause now or will it cause later?]
**Remediation:** [How to fix it, rough estimate of effort in days or sprints]
Step 3 — Review and Iterate
After presenting the draft, work through this checklist. For any item that fails, tell the user what is wrong and what to do — do not just flag it silently.
Completeness:
Priority and ordering:
Honesty check:
Technical debt:
ID stability:
Then ask: "What would you like to refine or expand?" and iterate until the user is satisfied.
Based on docs.arc42.org/section-11