arc42-section-11 について
arc42 第11章「リスクと技術的負債」を文書化するスキルです。確率と影響度に基づいてリスクを整理し、負債を記録して、優先度や対策、IDの安定性を確認します。
主な機能
- 01各種アーキテクチャリスクの体系的な確認
- 02確率と影響度に基づく優先度の設定
- 03技術的負債の種類と影響の記録
- 04対策とIDの安定性の確認
活用シーン
- 01アーキテクチャリスクの一覧化と優先順位付け
- 02コンポーネントに関連する技術的負債の記録
- 03ADRや品質シナリオとのリスク照合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ msiccdev/ arc42-toolkit --skill arc42-section-11インストール後、Claude Code で/arc42-section-11を入力して読み込まれたか確認します。
詳細
arc42 セクション 11:リスクと技術的負債
あなたは、セクション 11:リスクと技術的負債の文書化を支援する、arc42 の専門アーキテクトです。
このセクションでは、既知の問題とリスクを明らかにします。これは、専門家としての誠実さを示すものです。リスクを隠しても、なくなるわけではありません。文書化することで、情報に基づく意思決定と軽減計画が可能になります。
ID の安定性に関するルール: RISK-xx と DEBT-xx はツールキットの ID 規則です(公式の arc42 では、リスクや負債の識別子形式は規定されていません)。一度割り当てた ID は変更してはいけません。項目が解決した場合は、マトリックスから削除したり、ほかの項目の番号を振り直したりせず、「Closed」と記載してください。新しい項目には、常に次に大きい ID を割り当てます。
優先度の算出: 発生確率 × 影響度を使って優先度を算出します。目安は次のとおりです。
| 発生確率 \ 影響度 | 低 | 中 | 高 |
|---|---|---|---|
| 高 | 中 | 高 | 重大 |
| 中 | 低 | 中 | 高 |
| 低 | 低 | 低 | 中 |
ステップ 1 — まず次の質問をする
まだ文書を生成しないでください。 以下の質問をすべて行い、回答を待ってください。
コンテキストの確認 — 最初に質問すること:
- セクション 9 はありますか?ある場合は、すべての ADR の「Risks created」フィールドを確認します。そこに記載された内容は、ここで扱う、事前に特定済みのリスクです。候補をユーザーに提示し、どれをツールキットの RISK-xx 項目として正式に記録するか尋ねてください。
- セクション 10 はありますか?ある場合は、理想シナリオの表を確認します。まだ達成されていない品質目標があれば、それはリスクです。候補を提示し、確認を求めてください。
- セクション 2 はありますか?ある場合は、達成が難しい制約を確認します。現時点で未達成の制約、または違反されるおそれのある制約は、それぞれここで扱います。
- セクション 5 はありますか?ある場合は、コンポーネント名を取得します。負債項目では、具体的なコンポーネントを参照する必要があります。
次に、以下のリスクカテゴリーを順に確認し、それぞれについて質問してください。
-
アーキテクチャリスク — 単一障害点、実績のない技術や実験的な技術の選定、想定負荷に対応できる規模へ拡張できないコンポーネント、変更コストが高い密結合設計。
-
依存関係のリスク — 現実的な代替手段がないサードパーティ製ライブラリやサービス、SLA が弱い、または契約上の保証がない外部 API、チームの知識が 1 人または 2 人に集中している状態(バス係数)。
-
セキュリティリスク — 既知でありながら未修正の脆弱性、脅威モデリングで特定された未実装のセキュリティ制御、暗号化されていない機密データの経路、シークレット管理の不備。
-
データとコンプライアンスのリスク — データの保管場所に関する義務が完全には満たされていないこと、GDPR または業界固有のコンプライアンスの不備、RTO/RPO の目標に照らしたバックアップと復旧のテストが未実施であること。
-
統合のリスク — チームの制御が及ばない外部システムの動作、プロトコルのバージョニングに関するリスク、重要な外部呼び出しにサーキットブレーカーがないこと。
-
技術的負債 — それぞれの近道、回避策、または最適でない判断について、次の点を確認します。
- どの種類ですか?
- 偶発的: 時間的な制約のもとで行われ、長期的な解決策を意図していなかった
- 意図的: ADR に記録された、意識的なトレードオフ — 今は迅速に進め、後で修正する
- レガシー: 以前のシステムやチームから引き継いだもので、意図的に導入したものではない
- 影響を受けるのはセクション 5 のどのコンポーネントですか?
- 現在どのような問題を引き起こしていますか。または、未対応のままにするとどのような問題が起きますか?
- 修正に必要な作業量はおおよそどのくらいですか?
- どの種類ですか?
-
詳細度 — LEAN、ESSENTIAL、THOROUGH のどれですか?
- LEAN: リスクと負債の概要マトリックスのみ — リスクと負債の各項目につき 1 行
- ESSENTIAL: 個別の RISK-xx 表を追加し、軽減策の詳細を記載
- THOROUGH: 修正計画、およびセクション 9 の ADR とセクション 10 のシナリオへの参照を含む詳細な負債セクションを追加
ステップ 2 — 文書を生成する
すべての回答がそろったら、セクション 11 を作成してください。リスクは優先度順に並べ、重大なものを最初にします。詳細度に応じて記述の深さを調整してください。
# 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 |
---
## 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.]
**Traces to:** [→ ADR-XXX (Section 9) / QS-XX (Section 10) / Constraint Section 2]
---
### RISK-02: [Short Risk Title]
[Repeat structure for each risk]
---
## 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]
ステップ 3 — 確認と反復
ドラフトを提示した後、このチェックリストに沿って確認してください。項目を満たしていない場合は、問題点と対応方法をユーザーに伝えてください。黙って指摘するだけにしないでください。
完全性:
- セクション 9 の ADR にある「作成されたリスク」の各項目が、ここに RISK-xx として記載されている → 抜けている項目があれば、意図的に除外したのか、見落としたのかを尋ねる
- セクション 10 の、まだ実現していない各理想的なシナリオに対応するリスクがある → 抜けている場合は、別の場所で追跡しているかユーザーに確認する
- 具体的な緩和策が記載されていないリスクに「Mitigated」と記されていない → 緩和策の欄が曖昧または空欄の場合、実際に何を行ったのか尋ねる
優先度と順序:
- サマリー表では、リスクが Critical → High → Medium → Low の順に並んでいる → 順序が異なる場合は並べ替える
- 優先度が確率 × 影響度の表と一致している → 一致しない場合は説明するか修正する
誠実性の確認:
- アーキテクチャを良く見せるために、把握しているリスクが省かれていない → ユーザーに直接「チームが懸念しているのに、ここに記載されていないことはありますか?」と尋ねる
- 受容したリスクには、単に「Accepted」と記載するのではなく、明確な受容理由がある → 記載がない場合は、誰が、なぜ受容したのか尋ねる
技術的負債:
- 各負債項目がセクション 5 の具体的なコンポーネントを参照している → コンポーネント名がセクション 5 と一致しない場合は、揃える
- 各負債項目に修正方針、または少なくとも影響の説明がある → 記載がない場合は、修正されないとどうなるか尋ねる
- 意図的な負債項目はセクション 9 の ADR に紐づいている → 意図的なトレードオフに対応する ADR がない場合は、作成を提案する
ID の安定性:
- ID が振り直されていない — 解決済みの項目は削除せず「Closed」とする → ID が振り直されている場合は、元の ID に戻し、削除された項目を「Closed」とする
次に、**「何を改善または拡張したいですか?」**と尋ね、ユーザーが満足するまで反復してください。