@k2works/claude-code-booster 1.13.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/claude-code-booster +5 -7
- package/lib/assets/.claude/README.md +73 -19
- package/lib/assets/.claude/agents/xp-architect.md +250 -0
- package/lib/assets/.claude/agents/xp-executive.md +207 -0
- package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -0
- package/lib/assets/.claude/agents/xp-product-manager.md +245 -0
- package/lib/assets/.claude/agents/xp-programmer.md +268 -0
- package/lib/assets/.claude/agents/xp-project-manager.md +229 -0
- package/lib/assets/.claude/agents/xp-technical-writer.md +224 -0
- package/lib/assets/.claude/agents/xp-tester.md +265 -0
- package/lib/assets/.claude/agents/xp-user-representative.md +204 -0
- package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +49 -57
- package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +54 -58
- package/lib/assets/.claude/skills/analyzing-business/SKILL.md +52 -74
- package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +50 -53
- package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +56 -56
- package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +56 -109
- package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +61 -57
- package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +61 -57
- package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +57 -55
- package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +66 -67
- package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +58 -56
- package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +51 -57
- package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +45 -60
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +38 -40
- package/lib/assets/.claude/skills/developing-backend/SKILL.md +49 -55
- package/lib/assets/.claude/skills/developing-frontend/SKILL.md +47 -50
- package/lib/assets/.claude/skills/developing-release/SKILL.md +60 -95
- package/lib/assets/.claude/skills/generating-slides/SKILL.md +58 -100
- package/lib/assets/.claude/skills/git-commit/SKILL.md +27 -52
- package/lib/assets/.claude/skills/killing-processes/SKILL.md +16 -70
- package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -0
- package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -0
- package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -0
- package/lib/assets/.claude/skills/{managing-docs → operating-docs}/SKILL.md +1 -1
- package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -0
- package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -0
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +65 -95
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +60 -155
- package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -0
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +60 -119
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +63 -168
- package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +62 -266
- package/lib/assets/.claude/skills/tracking-progress/SKILL.md +49 -122
- package/lib/assets/CLAUDE.md +7 -2
- package/lib/assets/README.md +3 -34
- package/lib/assets/docs/development/index.md +14 -8
- package/lib/assets/docs/reference//351/201/213/347/224/250/343/202/271/343/202/257/343/203/252/343/203/227/343/203/210/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +421 -0
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +69 -5
- package/lib/assets/docs/template/AWS/343/202/271/343/203/206/343/203/274/343/202/270/343/203/263/343/202/260/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +1366 -0
- package/lib/assets/docs/template/AWS/343/203/227/343/203/255/343/203/200/343/202/257/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +634 -0
- package/lib/assets/docs/template//343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +547 -0
- package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +123 -1
- package/lib/assets/docs/template//350/250/255/350/250/210.md +12 -2
- package/lib/assets/docs/template//351/226/213/347/231/272/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +688 -0
- package/package.json +1 -1
- package/lib/assets/.claude/SKILLS_TEMPLATE.md +0 -100
- package/lib/assets/.claude/agents/roles/.gitkeep +0 -0
- package/lib/assets/.claude/skills/managing-operations/DEPLOY.md +0 -77
- package/lib/assets/.claude/skills/managing-operations/SETUP_CSHARP.md +0 -80
- package/lib/assets/.claude/skills/managing-operations/SETUP_FRONTEND.md +0 -84
- package/lib/assets/.claude/skills/managing-operations/SETUP_JAVA.md +0 -75
- package/lib/assets/.claude/skills/managing-operations/SKILL.md +0 -156
|
@@ -1,137 +1,84 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyzing-inception-deck
|
|
3
|
-
description: インセプションデッキの作成を支援。プロジェクトの「なぜ」「何を」「どうやって」を 10
|
|
3
|
+
description: インセプションデッキの作成を支援。プロジェクトの「なぜ」「何を」「どうやって」を 10 の問いで整理し、チーム全体の認識を揃える。「インセプションデッキを作りたい」「プロジェクトの方向性を整理したい」「10 の問いに答えたい」「チームの認識を揃えたい」「プロジェクトを立ち上げる」といった場面で発動する。プロジェクトの方向性を最初に揃えておくことで、後工程での手戻りを大幅に減らせる。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# インセプションデッキ作成
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
プロジェクトの方向性・スコープ・リスク・トレードオフをチーム全体で共有するためのインセプションデッキを作成する。ビジネスアーキテクチャ分析書(`analyzing-business` の成果物)をもとに、10 の問いに回答する形式で整理する。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
インセプションデッキは「チーム全員が同じ方向を向く」ための道具であり、完璧な計画書ではない。不明点は仮定を明記し、後続のステークホルダーレビューで検証する方が、分析を止めるより効果的。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/開発ガイド.md | 開発ライフサイクルにおける位置づけ |
|
|
17
|
+
| テンプレート | @docs/template/インセプションデッキ.md | 編集禁止。コピーして使用する |
|
|
18
|
+
| 入力 | @docs/analysis/business_architecture.md | ビジネスアーキテクチャ分析書 |
|
|
19
|
+
| 成果物 | `docs/analysis/inception-deck.md` | テンプレートを基に作成 |
|
|
15
20
|
|
|
16
|
-
|
|
21
|
+
## 10 の問いと情報源
|
|
17
22
|
|
|
18
|
-
|
|
23
|
+
ビジネスアーキテクチャ分析書から情報を抽出し、各問いに回答する。ビジネスアーキテクチャ分析書が未作成の場合は、プロジェクトの基本情報をヒアリングして直接回答する。
|
|
19
24
|
|
|
20
|
-
|
|
25
|
+
| # | 問い | 主な情報源 |
|
|
26
|
+
|---|------|-----------|
|
|
27
|
+
| 1 | なぜやるのか? | ケイパビリティヒートマップの低成熟度領域、バリューストリームのボトルネック |
|
|
28
|
+
| 2 | どんなビジョンなのか? | ビジネスプリンシプル、ガイディングプリンシプル、価値提案 |
|
|
29
|
+
| 3 | どんな価値をもたらすのか? | ビジネスモデルキャンバスの価値提案・主要活動 |
|
|
30
|
+
| 4 | スコープの範囲はどこか? | バリューストリーム、ケイパビリティマップ、ビジネスシナリオ |
|
|
31
|
+
| 5 | 主なステークホルダーは? | 組織マップ、ビジネスシナリオのアクター一覧 |
|
|
32
|
+
| 6 | 基本的な解決策は? | ガイディングプリンシプル(アプリケーション・データ・テクノロジー) |
|
|
33
|
+
| 7 | 主なリスクは何か? | ビジネス環境、組織体制、技術的制約 |
|
|
34
|
+
| 8 | どのくらい作業があり費用はいくらか? | 組織マップの人員構成、フィーチャの優先度 |
|
|
35
|
+
| 9 | トレードオフにどう向き合うか? | ビジネスプリンシプル(時間・予算・品質・スコープの優先度) |
|
|
36
|
+
| 10 | 初回リリースはいつか? | フェーズ分割に基づくマイルストーン |
|
|
21
37
|
|
|
22
|
-
|
|
23
|
-
- プロジェクトの基本情報(組織体制、技術方針、開発チーム構成)
|
|
38
|
+
## 作成の進め方
|
|
24
39
|
|
|
25
|
-
###
|
|
40
|
+
### 新規作成
|
|
26
41
|
|
|
27
|
-
|
|
42
|
+
1. `docs/analysis/business_architecture.md` が存在するか確認する。存在しない場合は `analyzing-business` スキルを先に実行するか、基本情報をヒアリングする
|
|
43
|
+
2. テンプレート(@docs/template/インセプションデッキ.md)を読み込む
|
|
44
|
+
3. 10 の問いに順番に回答する。各問いの回答にはビジネスアーキテクチャ分析書からの根拠を示す
|
|
45
|
+
4. 概念アーキテクチャ図を PlantUML で作成する(問い 6)
|
|
46
|
+
5. マイルストーンの Gantt チャートを PlantUML で作成する(問い 10)
|
|
47
|
+
6. `docs/analysis/inception-deck.md` として出力する
|
|
28
48
|
|
|
29
|
-
###
|
|
49
|
+
### 途中から再開・更新
|
|
30
50
|
|
|
31
|
-
|
|
51
|
+
既存の `docs/analysis/inception-deck.md` がある場合は、まずその内容を確認する。更新が必要な問いのみを修正する。
|
|
32
52
|
|
|
33
|
-
|
|
53
|
+
**Example:**
|
|
34
54
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
#### どんなビジョンなのか?
|
|
40
|
-
|
|
41
|
-
- ビジネスプリンシプルとガイディングプリンシプルからビジョンを導出
|
|
42
|
-
- ビジネスモデルキャンバスの価値提案をシステムのビジョンに変換
|
|
43
|
-
|
|
44
|
-
#### どんな価値をもたらすのか?
|
|
45
|
-
|
|
46
|
-
- ビジネスモデルキャンバスの価値提案・主要活動から具体的なビジネス目標を一覧化
|
|
47
|
-
- 各目標に対して期待される効果を定義
|
|
48
|
-
|
|
49
|
-
#### スコープの範囲はどこか?
|
|
50
|
-
|
|
51
|
-
- バリューストリームとケイパビリティマップから優先度付きのフィーチャを抽出
|
|
52
|
-
- スコープ内(必須・高・中)、スコープ外、未決定の 3 カテゴリで整理
|
|
53
|
-
- ビジネスシナリオのユースケースを機能要求の根拠とする
|
|
54
|
-
|
|
55
|
-
#### 主なステークホルダーは?
|
|
56
|
-
|
|
57
|
-
- 組織マップとビジネスシナリオのアクター一覧からステークホルダーを特定
|
|
58
|
-
- 各ステークホルダーの役割と主な関心事を整理
|
|
59
|
-
|
|
60
|
-
#### 基本的な解決策はどのようなものになるか?
|
|
61
|
-
|
|
62
|
-
- ガイディングプリンシプル(アプリケーション・データ・テクノロジー)から技術方針を導出
|
|
63
|
-
- PlantUML で概念アーキテクチャ図を作成
|
|
64
|
-
- 外部連携(API、配送業者、FBA 等)との接点を明示
|
|
65
|
-
|
|
66
|
-
#### 主なリスクは何か?
|
|
67
|
-
|
|
68
|
-
- ビジネス環境、組織体制、技術的制約からリスクを特定
|
|
69
|
-
- 各リスクの影響度と対策を一覧化
|
|
70
|
-
|
|
71
|
-
#### どのくらい作業があり、費用はいくらか?
|
|
72
|
-
|
|
73
|
-
- 組織マップの人員構成をもとにチーム構成を想定
|
|
74
|
-
- フィーチャの優先度に基づきフェーズを分割
|
|
75
|
-
- 各フェーズの概算期間を見積もり
|
|
76
|
-
|
|
77
|
-
#### トレードオフにどう向き合うか?
|
|
78
|
-
|
|
79
|
-
- 「時間」「予算」「品質」「スコープ」の 4 要素について方針を決定
|
|
80
|
-
- ビジネスプリンシプルに基づき、固定する要素と柔軟にする要素を明確化
|
|
81
|
-
- 品質特性の優先順位を定義
|
|
82
|
-
|
|
83
|
-
#### 初回リリースが可能になるのはいつか?
|
|
84
|
-
|
|
85
|
-
- フェーズ分割に基づくマイルストーンを PlantUML の Gantt チャートで作成
|
|
86
|
-
- MVP(最小実行可能製品)のリリースポイントを明示
|
|
87
|
-
- 段階的リリース戦略を定義
|
|
88
|
-
|
|
89
|
-
### 6. 注意事項
|
|
90
|
-
|
|
91
|
-
- **前提条件**: @docs/analysis/business_architecture.md が作成済みであること(`analyzing-business` を先に実行)
|
|
92
|
-
- **制限事項**: テンプレート @docs/template/インセプションデッキ.md は絶対に編集しないこと
|
|
93
|
-
- **推奨事項**: 10 の問いすべてに回答し、不明点は仮定を明記した上で後続のステークホルダーレビューで検証する
|
|
94
|
-
|
|
95
|
-
### 7. 記述ルール
|
|
96
|
-
|
|
97
|
-
タスク項目などは一行開けて記述する。
|
|
98
|
-
|
|
99
|
-
OK:
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
**受入条件**:
|
|
103
|
-
|
|
104
|
-
- [ ] 10 の問いすべてに回答されている
|
|
105
|
-
- [ ] ビジネスアーキテクチャ分析書との整合性が確認されている
|
|
55
|
+
```
|
|
56
|
+
ユーザー: 「スコープが変わったのでインセプションデッキを更新したい」
|
|
57
|
+
回答: 既存のインセプションデッキを読み込み、問い 4(スコープ)と
|
|
58
|
+
問い 8(作業量・費用)、問い 10(マイルストーン)を更新する。
|
|
106
59
|
```
|
|
107
60
|
|
|
108
|
-
|
|
61
|
+
## PlantUML の活用
|
|
109
62
|
|
|
110
|
-
|
|
111
|
-
**受入条件**:
|
|
112
|
-
- [ ] 10 の問いすべてに回答されている
|
|
113
|
-
- [ ] ビジネスアーキテクチャ分析書との整合性が確認されている
|
|
114
|
-
```
|
|
63
|
+
問い 6 と問い 10 では PlantUML を使って視覚的に表現する。図があることでチーム間の認識合わせが格段にスムーズになる。
|
|
115
64
|
|
|
116
|
-
|
|
65
|
+
- **概念アーキテクチャ図**(問い 6): コンポーネント図で主要なシステム要素と外部連携を示す
|
|
66
|
+
- **マイルストーン Gantt チャート**(問い 10): フェーズ分割と MVP リリースポイントを示す
|
|
117
67
|
|
|
118
|
-
|
|
68
|
+
## スライド生成
|
|
119
69
|
|
|
120
|
-
|
|
121
|
-
2. テンプレートの 10 の問いに沿って情報を整理
|
|
122
|
-
3. 概念アーキテクチャ図とマイルストーンの Gantt チャートを PlantUML で作成
|
|
123
|
-
4. @docs/analysis/inception-deck.md として出力
|
|
70
|
+
インセプションデッキの Markdown ドキュメントが完成したら、`generating-slides` スキルで PowerPoint スライドを生成できる。チームへのプレゼンテーション用に活用する。
|
|
124
71
|
|
|
125
|
-
|
|
72
|
+
## 注意事項
|
|
126
73
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
74
|
+
- ビジネスアーキテクチャ分析書が前提だが、未作成でもプロジェクト情報から直接作成可能。完璧な入力を待つより、仮定を置いて進める方が効果的
|
|
75
|
+
- テンプレートは編集禁止。コピーして成果物を作成する
|
|
76
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
130
77
|
|
|
131
|
-
|
|
78
|
+
## 関連スキル
|
|
132
79
|
|
|
133
|
-
- `analyzing-business`
|
|
134
|
-
- `analyzing-requirements`
|
|
135
|
-
- `
|
|
136
|
-
- `planning-releases`
|
|
137
|
-
- `
|
|
80
|
+
- `analyzing-business` — 前提となるビジネスアーキテクチャ分析(本スキルの入力を生成)
|
|
81
|
+
- `analyzing-requirements` — 後続の要件定義(スコープを詳細化)
|
|
82
|
+
- `generating-slides` — インセプションデッキの PowerPoint スライド生成
|
|
83
|
+
- `planning-releases` — 後続のリリース計画(マイルストーンを詳細化)
|
|
84
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
@@ -1,91 +1,95 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyzing-non-functional
|
|
3
|
-
description:
|
|
3
|
+
description: 性能、セキュリティ、可用性、保守性、拡張性の非機能要件を測定可能な形で定義。「非機能要件を定義したい」「SLA を決めたい」「セキュリティ要件を整理したい」「性能目標を設定したい」「可用性の目標を決めたい」といった場面で発動する。非機能要件を事前に定義することで、リリース後の「遅い」「落ちる」「危ない」を防ぐ。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# 非機能要件定義
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
性能、セキュリティ、可用性、保守性、拡張性の非機能要件を測定可能な形で定義する。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
非機能要件は「システムがどう振る舞うべきか」を定義する。機能要件だけでシステムを作ると、性能劣化・セキュリティ脆弱性・障害時の長時間停止といった問題が本番で初めて発覚する。数値目標を先に定めることで、アーキテクチャ選定とテスト戦略に明確な基準を与える。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/非機能要件定義ガイド.md | 非機能要件定義の進め方詳細 |
|
|
17
|
+
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
+
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
+
| 入力 | @docs/design/architecture_backend.md | バックエンドアーキテクチャ |
|
|
20
|
+
| 入力 | @docs/design/architecture_frontend.md | フロントエンドアーキテクチャ |
|
|
21
|
+
| 入力 | @docs/design/architecture_infrastructure.md | インフラストラクチャアーキテクチャ |
|
|
22
|
+
| 成果物 | `docs/design/non_functional.md` | 非機能要件定義 |
|
|
15
23
|
|
|
16
|
-
|
|
24
|
+
## 性能要件
|
|
17
25
|
|
|
18
|
-
|
|
19
|
-
- @docs/design/architecture_backend.md - バックエンドアーキテクチャ
|
|
20
|
-
- @docs/design/architecture_frontend.md - フロントエンドアーキテクチャ
|
|
21
|
-
- @docs/design/architecture_infrastructure.md - インフラストラクチャアーキテクチャ
|
|
26
|
+
ユーザー体験に直結する指標を定義する。曖昧な「速い」ではなく、具体的な数値で定義せよ。
|
|
22
27
|
|
|
23
|
-
|
|
28
|
+
- **レスポンスタイム**: 画面操作ごとの応答時間目標(p50/p95/p99)を設定する
|
|
29
|
+
- **スループット**: 単位時間あたりの処理件数を定義する
|
|
30
|
+
- **同時接続数**: ピーク時の同時接続ユーザー数を見積もる
|
|
24
31
|
|
|
25
|
-
|
|
32
|
+
## セキュリティ要件
|
|
26
33
|
|
|
27
|
-
|
|
34
|
+
守るべき資産とリスクに応じたセキュリティ対策を定義する。過剰防衛はコストの無駄、過小防衛はインシデントの元。
|
|
28
35
|
|
|
29
|
-
|
|
36
|
+
- **認証・認可**: 認証方式(OAuth2、SAML 等)と認可モデル(RBAC、ABAC 等)を決定する
|
|
37
|
+
- **データ暗号化**: 通信経路と保存データの暗号化方式を定義する
|
|
38
|
+
- **監査ログ**: 誰が・いつ・何をしたかを追跡可能にする
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
- スループット
|
|
33
|
-
- 同時接続数
|
|
40
|
+
## 可用性要件
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
ビジネスインパクトに応じた稼働目標を設定する。99.9% と 99.99% ではコストが桁違いになることを意識せよ。
|
|
36
43
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
44
|
+
- **稼働率目標**: SLA として定義する稼働率を設定する
|
|
45
|
+
- **障害復旧時間(RTO)**: 障害発生からサービス復旧までの目標時間を設定する
|
|
46
|
+
- **データ復旧時点(RPO)**: データ損失の許容範囲を設定する
|
|
40
47
|
|
|
41
|
-
|
|
48
|
+
## 保守性要件
|
|
42
49
|
|
|
43
|
-
|
|
44
|
-
- 障害復旧時間(RTO)
|
|
45
|
-
- データ復旧時点(RPO)
|
|
50
|
+
運用チームが日常的に必要とする機能を定義する。
|
|
46
51
|
|
|
47
|
-
|
|
52
|
+
- **ログ出力**: ログレベル・出力先・保持期間を定義する
|
|
53
|
+
- **監視項目**: メトリクス収集の対象と閾値を設定する
|
|
54
|
+
- **アラート設定**: 通知先と重要度レベルを定義する
|
|
48
55
|
|
|
49
|
-
|
|
50
|
-
- 監視項目
|
|
51
|
-
- アラート設定
|
|
56
|
+
## 拡張性要件
|
|
52
57
|
|
|
53
|
-
|
|
58
|
+
将来のスケールに備えた設計指針を定義する。
|
|
54
59
|
|
|
55
|
-
-
|
|
56
|
-
-
|
|
60
|
+
- **スケーラビリティ**: 水平/垂直スケーリングの方針を定める
|
|
61
|
+
- **将来の拡張性**: 想定される拡張シナリオと対応方針を記載する
|
|
57
62
|
|
|
58
|
-
|
|
63
|
+
## 作成の進め方
|
|
59
64
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
1. 入力ドキュメント(要件定義、アーキテクチャ設計)を確認する
|
|
66
|
+
2. @docs/reference/非機能要件定義ガイド.md を読み込む
|
|
67
|
+
3. 各カテゴリの非機能要件を測定可能な数値で定義する
|
|
68
|
+
4. `docs/design/non_functional.md` として出力する
|
|
63
69
|
|
|
64
|
-
|
|
70
|
+
## 途中から再開する場合
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
既存の `docs/design/non_functional.md` がある場合は、まずその内容を確認する。不足しているカテゴリや数値の見直しが必要な部分のみを修正する。
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
**Example:**
|
|
69
75
|
|
|
70
|
-
```markdown
|
|
71
|
-
**受入条件**:
|
|
72
|
-
|
|
73
|
-
- [ ] 性能要件が定義されている
|
|
74
|
-
- [ ] セキュリティ要件が定義されている
|
|
75
76
|
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
**受入条件**:
|
|
81
|
-
- [ ] 性能要件が定義されている
|
|
82
|
-
- [ ] セキュリティ要件が定義されている
|
|
77
|
+
ユーザー: 「性能要件は定義した。セキュリティ要件を整理したい」
|
|
78
|
+
回答: 既存の non_functional.md の性能要件を確認し、
|
|
79
|
+
セキュリティ要件の定義に進む。認証・認可方式、
|
|
80
|
+
暗号化方式、監査ログの要件を具体的な数値・方式で定義する。
|
|
83
81
|
```
|
|
84
82
|
|
|
85
|
-
##
|
|
83
|
+
## 注意事項
|
|
84
|
+
|
|
85
|
+
- 機能要件とアーキテクチャ設計が完了していることが前提。未完了でも進めて構わない
|
|
86
|
+
- 非機能要件は必ず測定可能な形で定義する。「高速であること」ではなく「p95 で 200ms 以内」のように書け
|
|
87
|
+
- SLA/SLO を明確に定義し、ビジネス側との合意を取る前提で記載する
|
|
88
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
## 関連スキル
|
|
88
91
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
93
|
+
- `analyzing-architecture` — 前段のアーキテクチャ設計
|
|
94
|
+
- `analyzing-operation` — 後続の運用要件定義(非機能要件が入力になる)
|
|
95
|
+
- `analyzing-test-strategy` — 後続のテスト戦略(性能テストの基準になる)
|
|
@@ -1,91 +1,95 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: analyzing-operation
|
|
3
|
-
description:
|
|
3
|
+
description: 運用フロー、監視設計、バックアップ、障害対応、変更管理の運用要件を定義。「運用要件を定義したい」「監視設計をしたい」「障害対応手順を作りたい」「バックアップ方針を決めたい」「運用フローを整理したい」といった場面で発動する。運用要件を事前に設計することで、本番稼働後の「運用できない」問題を防ぐ。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# 運用要件定義
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
運用フロー、監視、バックアップ、障害対応、変更管理の運用要件を定義する。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
運用はシステムのライフサイクルの中で最も長い期間を占める。開発時に運用を考慮しないと、リリース後に「監視がない」「復旧手順がない」「変更のたびにダウンタイムが発生する」といった問題が噴出する。運用設計は「作った後どう維持するか」を先に決める活動。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
## 参照ドキュメントとテンプレート
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
| 種類 | パス | 備考 |
|
|
15
|
+
|------|------|------|
|
|
16
|
+
| ガイド | @docs/reference/運用要件定義ガイド.md | 運用要件定義の進め方詳細 |
|
|
17
|
+
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
|
|
18
|
+
| 入力 | @docs/requirements/requirements_definition.md | 要件定義 |
|
|
19
|
+
| 入力 | @docs/design/architecture_infrastructure.md | インフラストラクチャアーキテクチャ |
|
|
20
|
+
| 入力 | @docs/design/non_functional.md | 非機能要件定義 |
|
|
21
|
+
| 成果物 | `docs/design/operation.md` | 運用要件定義 |
|
|
15
22
|
|
|
16
|
-
|
|
23
|
+
## 運用フロー設計
|
|
17
24
|
|
|
18
|
-
|
|
19
|
-
- @docs/design/architecture_infrastructure.md - インフラストラクチャアーキテクチャ
|
|
20
|
-
- @docs/design/non_functional.md - 非機能要件定義
|
|
25
|
+
定常運用を自動化前提で設計する。手動運用が多いほど人的ミスのリスクが上がる。
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
- **日次運用**: ログローテーション、バッチ処理、ヘルスチェックなど
|
|
28
|
+
- **月次運用**: セキュリティパッチ適用、容量管理、レポート生成など
|
|
29
|
+
- **年次運用**: ライセンス更新、DR テスト、監査対応など
|
|
23
30
|
|
|
24
|
-
|
|
31
|
+
## 監視設計
|
|
25
32
|
|
|
26
|
-
|
|
33
|
+
SLA/SLO を満たすために必要な監視を設計する。アラート疲れを防ぐため、本当に対応が必要なアラートのみを設定せよ。
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
- **監視項目の定義**: CPU、メモリ、ディスク、レスポンスタイム、エラー率など
|
|
36
|
+
- **アラート閾値の設定**: Warning/Critical の閾値を非機能要件の数値に基づいて設定する
|
|
37
|
+
- **エスカレーションフロー**: アラート重要度に応じた通知先と対応フローを定義する
|
|
29
38
|
|
|
30
|
-
|
|
31
|
-
- 月次運用
|
|
32
|
-
- 年次運用
|
|
39
|
+
## バックアップ設計
|
|
33
40
|
|
|
34
|
-
|
|
41
|
+
RPO(データ復旧時点)を満たすバックアップ方式を設計する。リストア手順のテストまでがバックアップ設計。
|
|
35
42
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
43
|
+
- **バックアップ方式**: フルバックアップ/差分バックアップ/増分バックアップの組み合わせを決定する
|
|
44
|
+
- **バックアップスケジュール**: RPO に基づいた頻度を設定する
|
|
45
|
+
- **リストア手順**: 復旧手順を文書化し、定期的にテストする
|
|
39
46
|
|
|
40
|
-
|
|
47
|
+
## 障害対応設計
|
|
41
48
|
|
|
42
|
-
|
|
43
|
-
- バックアップスケジュール
|
|
44
|
-
- リストア手順
|
|
49
|
+
RTO(障害復旧時間)を満たす復旧手順を設計する。障害時にゼロから考えるのは最悪のパターン。
|
|
45
50
|
|
|
46
|
-
|
|
51
|
+
- **障害検知方法**: 自動検知の仕組みとその精度を定義する
|
|
52
|
+
- **復旧手順**: 障害パターンごとの復旧手順を事前に文書化する
|
|
53
|
+
- **連絡体制**: オンコール体制とエスカレーションパスを定義する
|
|
47
54
|
|
|
48
|
-
|
|
49
|
-
- 復旧手順
|
|
50
|
-
- 連絡体制
|
|
55
|
+
## 変更管理設計
|
|
51
56
|
|
|
52
|
-
|
|
57
|
+
本番環境への変更を安全に行うための手順を設計する。ロールバック手順がないリリースは許可するな。
|
|
53
58
|
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
59
|
+
- **リリース手順**: デプロイの自動化手順を定義する
|
|
60
|
+
- **ロールバック手順**: 問題発生時の切り戻し手順を事前に準備する
|
|
61
|
+
- **変更承認フロー**: 変更の影響範囲に応じた承認プロセスを定義する
|
|
57
62
|
|
|
58
|
-
|
|
63
|
+
## 作成の進め方
|
|
59
64
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
1. 入力ドキュメント(非機能要件、インフラアーキテクチャ)を確認する
|
|
66
|
+
2. @docs/reference/運用要件定義ガイド.md を読み込む
|
|
67
|
+
3. 運用フロー→監視→バックアップ→障害対応→変更管理の順に設計する
|
|
68
|
+
4. `docs/design/operation.md` として出力する
|
|
63
69
|
|
|
64
|
-
|
|
70
|
+
## 途中から再開する場合
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
既存の `docs/design/operation.md` がある場合は、まずその内容を確認する。不足している運用領域や更新が必要な手順のみを修正する。
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
**Example:**
|
|
69
75
|
|
|
70
|
-
```markdown
|
|
71
|
-
**受入条件**:
|
|
72
|
-
|
|
73
|
-
- [ ] 運用フローが定義されている
|
|
74
|
-
- [ ] 監視設計が完了している
|
|
75
76
|
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
**受入条件**:
|
|
81
|
-
- [ ] 運用フローが定義されている
|
|
82
|
-
- [ ] 監視設計が完了している
|
|
77
|
+
ユーザー: 「監視設計はできた。障害対応手順を作りたい」
|
|
78
|
+
回答: 既存の operation.md の監視設計を確認し、
|
|
79
|
+
監視で検知されるアラートに対応する障害対応手順を設計する。
|
|
80
|
+
障害パターンの分類→復旧手順→連絡体制の順で作成する。
|
|
83
81
|
```
|
|
84
82
|
|
|
85
|
-
##
|
|
83
|
+
## 注意事項
|
|
84
|
+
|
|
85
|
+
- 非機能要件とインフラアーキテクチャが完了していることが前提。未完了でも進めて構わない
|
|
86
|
+
- 運用手順は自動化を前提に設計する。IaC(Infrastructure as Code)を活用し、手動手順を最小化せよ
|
|
87
|
+
- リストア手順とロールバック手順は必ずテスト可能な形で文書化する
|
|
88
|
+
- タスク項目(リスト)の前には空行を入れる(Markdown Lint 準拠)
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
## 関連スキル
|
|
88
91
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
- `orchestrating-analysis` — 分析フェーズ全体のワークフロー案内
|
|
93
|
+
- `analyzing-non-functional` — 前段の非機能要件定義(SLA/SLO が入力)
|
|
94
|
+
- `analyzing-architecture` — インフラアーキテクチャが運用設計の基盤
|
|
95
|
+
- `managing-operations` — 開発フェーズでの実際の環境構築・デプロイ
|