yodogawa 2.1.1 → 2.2.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/CHANGELOG.md +134 -82
- package/LICENSE +1 -1
- package/README.md +351 -246
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -68
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -56
- package/skills/a-001-setup-doc-structure/SKILL.md +7 -6
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +40 -13
- package/skills/a-002-initialize-project/SKILL.md +72 -52
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +37 -39
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +44 -36
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +59 -22
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +27 -7
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +53 -18
- package/skills/a-007-define-tech-stack/SKILL.md +4 -7
- package/skills/a-008-define-repository-structure/SKILL.md +2 -5
- package/skills/a-009-define-screen-design/SKILL.md +3 -6
- package/skills/a-010-define-design-system/SKILL.md +1 -5
- package/skills/a-011-define-data-model/SKILL.md +4 -7
- package/skills/a-012-define-api-spec/SKILL.md +1 -4
- package/skills/a-013-define-architecture/SKILL.md +1 -4
- package/skills/a-014-define-infrastructure/SKILL.md +9 -4
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/reference/consistency-checks.md +1 -1
- package/skills/b-001-create-task-directory/SKILL.md +14 -8
- package/skills/b-002-create-task-definition/SKILL.md +4 -5
- package/skills/b-003-create-task-research/SKILL.md +4 -5
- package/skills/b-004-create-task-implementation/SKILL.md +4 -5
- package/skills/b-005-review-task/reference/assessment-criteria.md +3 -3
- package/skills/c-001-implement-task/SKILL.md +1 -1
- package/skills/c-001-implement-task/reference/implementation-loop.md +1 -1
- package/skills/c-002-update-documentation/SKILL.md +7 -7
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +8 -9
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/scripts/create-task.sh +0 -77
- package/scripts/init-project-docs.sh +0 -90
- package/scripts/init-task-doc.sh +0 -77
- package/scripts/setup-docs.sh +0 -92
- package/templates/documentation-rules.md +0 -143
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
package/scripts/setup-docs.sh
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# setup-docs.sh
|
|
4
|
-
# プロジェクトのドキュメントディレクトリ構造を作成するスクリプト
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
DOCS_DIR="docs"
|
|
9
|
-
|
|
10
|
-
echo "📂 ドキュメント構造のセットアップを開始します..."
|
|
11
|
-
|
|
12
|
-
# 1. 現在の状態確認
|
|
13
|
-
if [ -d "$DOCS_DIR" ]; then
|
|
14
|
-
echo "⚠️ '$DOCS_DIR' ディレクトリは既に存在します。"
|
|
15
|
-
read -p "既存の構造を保持したまま、不足しているディレクトリを追加しますか? (y/N): " confirm
|
|
16
|
-
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
|
|
17
|
-
echo "❌ 中断しました。"
|
|
18
|
-
exit 0
|
|
19
|
-
fi
|
|
20
|
-
fi
|
|
21
|
-
|
|
22
|
-
# 2. ディレクトリ構造の作成
|
|
23
|
-
echo "🔨 ディレクトリを作成中..."
|
|
24
|
-
mkdir -p "$DOCS_DIR/project/01-requirements"
|
|
25
|
-
mkdir -p "$DOCS_DIR/project/02-behavior"
|
|
26
|
-
mkdir -p "$DOCS_DIR/project/03-domain"
|
|
27
|
-
mkdir -p "$DOCS_DIR/project/04-design"
|
|
28
|
-
mkdir -p "$DOCS_DIR/tasks"
|
|
29
|
-
|
|
30
|
-
# 3. docs/README.md の作成
|
|
31
|
-
README_FILE="$DOCS_DIR/README.md"
|
|
32
|
-
if [ -f "$README_FILE" ]; then
|
|
33
|
-
echo "⚠️ '$README_FILE' は既に存在します。"
|
|
34
|
-
read -p "上書きしますか? (y/N): " confirm_readme
|
|
35
|
-
if [[ ! "$confirm_readme" =~ ^[Yy]$ ]]; then
|
|
36
|
-
echo "ℹ️ READMEの作成をスキップしました。"
|
|
37
|
-
else
|
|
38
|
-
CREATE_README=true
|
|
39
|
-
fi
|
|
40
|
-
else
|
|
41
|
-
CREATE_README=true
|
|
42
|
-
fi
|
|
43
|
-
|
|
44
|
-
if [ "$CREATE_README" = true ]; then
|
|
45
|
-
echo "📝 README.md を作成中..."
|
|
46
|
-
cat > "$README_FILE" <<EOF
|
|
47
|
-
# プロジェクトドキュメント
|
|
48
|
-
|
|
49
|
-
このディレクトリには、プロジェクト全体のドキュメントと個別タスクのドキュメントを管理します。
|
|
50
|
-
|
|
51
|
-
## 構成
|
|
52
|
-
|
|
53
|
-
### project/
|
|
54
|
-
プロジェクト全体のドキュメント。要件定義、設計、アーキテクチャなど、プロジェクトスコープ全体に関わる情報を記載します。
|
|
55
|
-
|
|
56
|
-
- **01-requirements/**: 要件定義(システム概要、機能要件、非機能要件、ユーザーストーリーなど)
|
|
57
|
-
- **02-behavior/**: 振る舞い定義(シナリオ、ユースケース、ユーザージャーニーなど)
|
|
58
|
-
- **03-domain/**: ドメインモデル(エンティティ、用語集など)
|
|
59
|
-
- **04-design/**: 設計(アーキテクチャ、データモデル、API仕様など)
|
|
60
|
-
|
|
61
|
-
### tasks/
|
|
62
|
-
個別タスクのドキュメント。Issue やチケット単位で作成します。
|
|
63
|
-
|
|
64
|
-
## 更新方針
|
|
65
|
-
|
|
66
|
-
### プロジェクト全体のドキュメント (project/)
|
|
67
|
-
- プロジェクトのスコープ全体に影響する情報を記載
|
|
68
|
-
- チーム全体で共有すべき要件・設計・アーキテクチャを管理
|
|
69
|
-
- 更新時は関係者にレビューを依頼
|
|
70
|
-
|
|
71
|
-
### 個別タスクのドキュメント (tasks/)
|
|
72
|
-
- 特定の Issue やチケットに紐づく情報を記載
|
|
73
|
-
- タスク単位で作成・完了・アーカイブ
|
|
74
|
-
- 完了後は参照資料として保持、または削除
|
|
75
|
-
|
|
76
|
-
## ドキュメント作成ガイドライン
|
|
77
|
-
|
|
78
|
-
- **具体的**: 抽象的な表現を避け、数値・期限・制約を明確に記載
|
|
79
|
-
- **測定可能**: 成功基準やパフォーマンス目標を定量化
|
|
80
|
-
- **最新**: 変更があれば速やかに更新し、古い情報を残さない
|
|
81
|
-
- **簡潔**: 必要最低限の情報に絞り、詳細はコードやリンク先に委ねる
|
|
82
|
-
EOF
|
|
83
|
-
fi
|
|
84
|
-
|
|
85
|
-
# 4. 完了報告
|
|
86
|
-
echo ""
|
|
87
|
-
echo "✅ ドキュメントディレクトリ構造のセットアップが完了しました!"
|
|
88
|
-
echo ""
|
|
89
|
-
find "$DOCS_DIR" -maxdepth 2 | sort
|
|
90
|
-
echo ""
|
|
91
|
-
echo "次のステップ:"
|
|
92
|
-
echo " - 必要に応じて 'git add $DOCS_DIR' を実行してください。"
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
### Documents
|
|
2
|
-
|
|
3
|
-
ドキュメンテーション構造
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## プロジェクト単位
|
|
8
|
-
|
|
9
|
-
#### 1. 要件(何を作るか)
|
|
10
|
-
|
|
11
|
-
- **要件定義**
|
|
12
|
-
- システム概要:背景(解決する課題)と目的(提供する価値、解決策)
|
|
13
|
-
- 実装済み機能一覧:既に実装されている機能
|
|
14
|
-
- 未実装機能一覧:今後実装予定の機能
|
|
15
|
-
- 非機能要件一覧:性能、セキュリティ、可用性、スケーラビリティなど
|
|
16
|
-
- **ユーザーストーリー**
|
|
17
|
-
- ユーザーストーリー一覧:各ユーザーストーリー
|
|
18
|
-
|
|
19
|
-
#### 2. 振る舞い(どう動くか)
|
|
20
|
-
|
|
21
|
-
- **振る舞い**
|
|
22
|
-
- Gherkinシナリオ一覧:Given-When-Then形式の理想的な動作シナリオ
|
|
23
|
-
|
|
24
|
-
#### 3. ドメイン(ドメインモデルと用語)
|
|
25
|
-
|
|
26
|
-
- **ドメインモデル**
|
|
27
|
-
- Event Storming形式のドメインモデル:Bounded Context、Actors、Commands、Events、Policies、Aggregatesなど
|
|
28
|
-
- Context Map:Bounded Context間の関係性
|
|
29
|
-
- **ユビキタス言語**
|
|
30
|
-
- ユビキタス言語一覧:プロジェクト共通の用語定義、Bounded Contextごとの用語
|
|
31
|
-
|
|
32
|
-
#### 4. 設計(どう作るか)
|
|
33
|
-
|
|
34
|
-
- **テックスタック**
|
|
35
|
-
- 技術スタック一覧:使用する言語、フレームワーク、ライブラリ、ツール
|
|
36
|
-
- **リポジトリ構造**
|
|
37
|
-
- ディレクトリ構造:プロジェクトのフォルダとファイルの整理方法
|
|
38
|
-
- **画面設計**
|
|
39
|
-
- 画面遷移図:画面間の遷移フローと条件
|
|
40
|
-
- 各画面の役割:各画面の目的と主要な機能
|
|
41
|
-
- **データモデル**
|
|
42
|
-
- ERD(Entity Relationship Diagram):エンティティ、属性、関係性
|
|
43
|
-
- **API仕様**
|
|
44
|
-
- API仕様書:エンドポイント、リクエスト/レスポンス形式、認証方式
|
|
45
|
-
- **アーキテクチャ設計**
|
|
46
|
-
- システムアーキテクチャ図:システム全体の構成とコンポーネントの関係
|
|
47
|
-
- **インフラ設計**
|
|
48
|
-
- インフラ構成図:サーバー構成、ネットワーク、環境設定
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## タスク単位
|
|
53
|
-
|
|
54
|
-
作成順序:A → B → C
|
|
55
|
-
|
|
56
|
-
### A. タスク定義ドキュメント
|
|
57
|
-
|
|
58
|
-
#### 1. 目的
|
|
59
|
-
|
|
60
|
-
- 解決する問題:具体的な課題や不便
|
|
61
|
-
- 提供する価値:ユーザーやシステムが得られる利益
|
|
62
|
-
|
|
63
|
-
#### 2. ユーザーストーリー一覧
|
|
64
|
-
|
|
65
|
-
- [役割]として、[目的]がしたい、なぜなら[理由]
|
|
66
|
-
|
|
67
|
-
#### 3. 変更内容一覧
|
|
68
|
-
|
|
69
|
-
- 画面:追加・変更する画面とUIコンポーネント
|
|
70
|
-
- データモデル:エンティティ、テーブル、フィールドの追加・変更
|
|
71
|
-
- API:エンドポイント、リクエスト/レスポンス形式の追加・変更
|
|
72
|
-
- その他:環境設定、インフラ、ツール設定
|
|
73
|
-
|
|
74
|
-
#### 4. 受け入れ基準
|
|
75
|
-
|
|
76
|
-
- タスク完了の判断条件(例:画面表示の確認、APIの応答確認、Gherkinシナリオ)
|
|
77
|
-
|
|
78
|
-
### B. リサーチドキュメント
|
|
79
|
-
|
|
80
|
-
#### 1. ベストプラクティス
|
|
81
|
-
|
|
82
|
-
- 技術的なベストプラクティス
|
|
83
|
-
- 設計パターンとアーキテクチャの妥当性
|
|
84
|
-
|
|
85
|
-
#### 2. 既存コードの調査
|
|
86
|
-
|
|
87
|
-
- 類似機能の実装箇所と実装パターン
|
|
88
|
-
- 再利用可能なコンポーネントや関数
|
|
89
|
-
- 参考にすべきコード構造
|
|
90
|
-
|
|
91
|
-
### C. 実装タスクリスト
|
|
92
|
-
|
|
93
|
-
#### フェーズとステップ
|
|
94
|
-
|
|
95
|
-
テスト可能なフェーズに分割し、各フェーズ内にチェック可能なステップを配置
|
|
96
|
-
|
|
97
|
-
- **フェーズ 1**:[フェーズ名](例:データモデルの実装)
|
|
98
|
-
- [ ] ステップ 1:[タスク内容]
|
|
99
|
-
- 成果物:[生成されるもの]
|
|
100
|
-
- [ ] ステップ 2:[タスク内容]
|
|
101
|
-
- 成果物:[生成されるもの]
|
|
102
|
-
- **フェーズ 2**:[フェーズ名](例:API実装とテスト)
|
|
103
|
-
- [ ] ステップ 1:[タスク内容]
|
|
104
|
-
- 成果物:[生成されるもの]
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## ディレクトリ構造
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
docs/
|
|
112
|
-
├── README.md # ドキュメント構造の説明
|
|
113
|
-
├── project/ # プロジェクト単位
|
|
114
|
-
│ ├── 01-requirements/ # 要件
|
|
115
|
-
│ │ ├── 01-system-overview.md # システム概要
|
|
116
|
-
│ │ ├── 02-features-implemented.md # 実装済み機能一覧
|
|
117
|
-
│ │ ├── 03-features-planned.md # 未実装機能一覧
|
|
118
|
-
│ │ ├── 04-non-functional-requirements.md # 非機能要件
|
|
119
|
-
│ │ └── 05-user-stories.md # ユーザーストーリー
|
|
120
|
-
│ ├── 02-behavior/ # 振る舞い
|
|
121
|
-
│ │ └── 01-scenarios.md # Gherkinシナリオ一覧
|
|
122
|
-
│ ├── 03-domain/ # ドメイン
|
|
123
|
-
│ │ ├── 01-domain-model.md # ドメインモデル(Event Storming形式)
|
|
124
|
-
│ │ └── 02-ubiquitous-language.md # ユビキタス言語
|
|
125
|
-
│ └── 04-design/ # 設計
|
|
126
|
-
│ ├── 01-tech-stack.md # テックスタック
|
|
127
|
-
│ ├── 02-repository-structure.md # リポジトリ構造
|
|
128
|
-
│ ├── 03-ui-design.md # 画面設計
|
|
129
|
-
│ ├── 04-data-model.md # データモデル(ERD)
|
|
130
|
-
│ ├── 05-api-spec.md # API仕様
|
|
131
|
-
│ ├── 06-architecture.md # アーキテクチャ設計
|
|
132
|
-
│ └── 07-infrastructure.md # インフラ設計
|
|
133
|
-
└── tasks/ # タスク単位
|
|
134
|
-
├── TASK-001-feature-name/
|
|
135
|
-
│ ├── a-definition.md # タスク定義ドキュメント
|
|
136
|
-
│ ├── b-research.md # リサーチドキュメント
|
|
137
|
-
│ └── c-implementation.md # 実装タスクリスト
|
|
138
|
-
├── TASK-002-another-feature/
|
|
139
|
-
│ ├── a-definition.md
|
|
140
|
-
│ ├── b-research.md
|
|
141
|
-
│ └── c-implementation.md
|
|
142
|
-
└── ...
|
|
143
|
-
```
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# システム概要
|
|
2
|
-
|
|
3
|
-
## 背景
|
|
4
|
-
|
|
5
|
-
<!--
|
|
6
|
-
何を書くか: このシステムで解決しようとしている問題を記述
|
|
7
|
-
|
|
8
|
-
文量: 2-4文程度(100-200文字)
|
|
9
|
-
トーン: 客観的で事実ベース。感情的な表現は避ける
|
|
10
|
-
必須情報:
|
|
11
|
-
- 現在直面している具体的な問題や課題
|
|
12
|
-
- なぜその問題が重要なのか
|
|
13
|
-
- 問題の影響を受けるステークホルダー
|
|
14
|
-
|
|
15
|
-
ベストプラクティス:
|
|
16
|
-
- 具体的な数値やデータがあれば含める(例: 「3ヶ月かかる」「70%が離脱」)
|
|
17
|
-
- 「〜できない」「〜が困難」など問題を明確に表現
|
|
18
|
-
- 誰が・いつ・どこで困っているかを具体的に示す
|
|
19
|
-
- 現状の workaround や代替手段があればそれも言及
|
|
20
|
-
- 抽象的な表現(「効率が悪い」)より具体的な表現(「手動で2時間かかる作業」)を使う
|
|
21
|
-
-->
|
|
22
|
-
|
|
23
|
-
**例:**
|
|
24
|
-
新入社員が既存社員とコミュニケーションを取る機会が限られており、チームに溶け込むまでに時間がかかる。また、リモートワークの増加により、雑談や自然な関係構築の場が減少している。
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## 目的
|
|
29
|
-
|
|
30
|
-
<!--
|
|
31
|
-
何を書くか: このシステムが提供する価値や解決策を記述
|
|
32
|
-
|
|
33
|
-
文量: 2-4文程度(100-200文字)
|
|
34
|
-
トーン: ポジティブで具体的。実現可能な内容に留める
|
|
35
|
-
必須情報:
|
|
36
|
-
- システムがどのように問題を解決するか
|
|
37
|
-
- ユーザーや組織が得られる具体的な価値
|
|
38
|
-
- 期待される成果や変化
|
|
39
|
-
|
|
40
|
-
ベストプラクティス:
|
|
41
|
-
- 「〜を可能にする」「〜を支援する」など能動的な表現を使う
|
|
42
|
-
- 技術的な詳細(「React使用」)よりもビジネス価値(「開発速度2倍」)に焦点を当てる
|
|
43
|
-
- 測定可能な成果があれば言及する(例: 「作業時間を50%削減」「離脱率を20%改善」)
|
|
44
|
-
- どのように問題を解決するか、具体的なメカニズムを簡潔に示す
|
|
45
|
-
- ユーザーにとっての before/after が想像できる表現を使う
|
|
46
|
-
-->
|
|
47
|
-
|
|
48
|
-
**例:**
|
|
49
|
-
社員がライフラインチャートを通じて自己紹介し、共通点を見つけやすくすることで、組織横断のコミュニケーションを活性化する。コメント機能により双方向の対話を促進し、早期の関係構築を支援する。
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# 未実装機能一覧
|
|
2
|
-
|
|
3
|
-
<!--
|
|
4
|
-
何を書くか: 今後実装を検討・予定している機能のリスト
|
|
5
|
-
|
|
6
|
-
目的:
|
|
7
|
-
- プロダクトのロードマップや将来ビジョンを可視化
|
|
8
|
-
- ステークホルダーとの期待値調整
|
|
9
|
-
- 技術的負債や機能gap の把握
|
|
10
|
-
- 実装優先度の議論のベース資料
|
|
11
|
-
|
|
12
|
-
特徴:
|
|
13
|
-
- 機能IDなし: まだ確定していないため識別子は不要
|
|
14
|
-
- 優先度なし: 優先度は常に変動し混乱を招くため記載しない
|
|
15
|
-
- 柔軟性重視: アイデア段階の機能も含めて良い
|
|
16
|
-
|
|
17
|
-
記載粒度: 実装済み機能一覧と同程度(ユーザーが認識できる機能単位)
|
|
18
|
-
|
|
19
|
-
更新頻度:
|
|
20
|
-
- 機能を実装したら「実装済み機能一覧」に移動し、こちらから削除
|
|
21
|
-
- 新しいアイデアや要望が出たら随時追加
|
|
22
|
-
- 四半期ごとなど定期的に見直し、不要な機能は削除
|
|
23
|
-
-->
|
|
24
|
-
|
|
25
|
-
<!--
|
|
26
|
-
テーブル構成:
|
|
27
|
-
|
|
28
|
-
【Category 1】(大分類)
|
|
29
|
-
- 実装済み機能一覧と同じカテゴリ体系を使用
|
|
30
|
-
- 既存カテゴリに当てはまらない場合は新カテゴリを追加
|
|
31
|
-
- 例: ユーザー管理、コンテンツ、決済、通知、分析
|
|
32
|
-
|
|
33
|
-
【Category 2】(中分類)
|
|
34
|
-
- 実装済み機能一覧と同じカテゴリ体系を使用
|
|
35
|
-
- より具体的な機能領域で分類
|
|
36
|
-
- 例: ユーザー管理 → 認証、プロフィール、権限
|
|
37
|
-
|
|
38
|
-
【機能名】
|
|
39
|
-
- 簡潔で分かりやすい名称(2-5単語程度)
|
|
40
|
-
- ユーザー視点の表現を使う
|
|
41
|
-
- まだ確定していなくても仮の名称で記載OK
|
|
42
|
-
- 例: 「二段階認証」「下書き保存」「AIレコメンド」
|
|
43
|
-
|
|
44
|
-
【説明】
|
|
45
|
-
- 1-2文で機能の内容を記述(50-100文字程度)
|
|
46
|
-
- 何を実現したいか(目的)を中心に記述
|
|
47
|
-
- 「〜したい」「〜できるようにする」など意図が伝わる表現
|
|
48
|
-
- 実装方法が未定でもユーザー価値を記述
|
|
49
|
-
|
|
50
|
-
ベストプラクティス:
|
|
51
|
-
- 実装の難易度や工数は記載しない(別途見積もりで管理)
|
|
52
|
-
- 「いつか実装したい」程度のアイデアも含めて良い(柔軟に)
|
|
53
|
-
- 競合製品の機能を参考にする場合は、自社プロダクトでの意義を明確に
|
|
54
|
-
- カテゴリ分類により、特定領域の機能が不足していないか確認できる
|
|
55
|
-
- 定期的に見直し、実装しない判断をした機能は削除(理由はGitコミットメッセージに残す)
|
|
56
|
-
- 技術的な表現(「WebSocket実装」)より価値の表現(「リアルタイム通知」)を優先
|
|
57
|
-
-->
|
|
58
|
-
|
|
59
|
-
| Category 1 | Category 2 | 機能名 | 説明 |
|
|
60
|
-
|-----------|-----------|--------|------|
|
|
61
|
-
| <!-- カテゴリ1 --> | <!-- カテゴリ2 --> | <!-- 機能名 --> | <!-- 簡潔な説明 --> |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
**例:**
|
|
66
|
-
|
|
67
|
-
| Category 1 | Category 2 | 機能名 | 説明 |
|
|
68
|
-
|-----------|-----------|--------|------|
|
|
69
|
-
| ユーザー管理 | 認証 | 二段階認証 | SMS/アプリでの二段階認証 |
|
|
70
|
-
| ユーザー管理 | 認証 | ソーシャルログイン | Google/GitHubアカウントでログイン |
|
|
71
|
-
| ユーザー管理 | プロフィール | バッジシステム | 実績に応じたバッジ表示 |
|
|
72
|
-
| コンテンツ | 投稿 | 下書き保存 | 記事の下書き保存機能 |
|
|
73
|
-
| コンテンツ | 投稿 | 予約投稿 | 指定日時での自動投稿 |
|
|
74
|
-
| コンテンツ | コメント | 返信機能 | コメントへの返信スレッド |
|
|
75
|
-
| コンテンツ | コメント | いいね機能 | コメントへのいいね |
|