Vol.19

ドキュメント駆動開発の実践

はじめに

AI開発において、ドキュメントは単なる記録ではありません。それは開発の起点であり、AIへの指示書であり、品質を担保する基盤です。

ドキュメント駆動開発とは

【定義】
ドキュメントを先に作成し、
そのドキュメントに基づいて開発を進める手法

従来:コード → ドキュメント(後付け)
DDD:ドキュメント → コード(ドキュメント先行)

AI開発との親和性

AIは自然言語の指示を理解してコードを生成
→ ドキュメントがそのまま「実行可能な仕様」になる

ドキュメント ≒ AIへの指示 ≒ 仕様 ≒ 設計

ドキュメント駆動開発のメリット

1. 仕様の明確化

ドキュメントを書く過程で、曖昧な点が明確になる
→ 「この場合はどうする?」という疑問が事前に解決

2. コミュニケーションの効率化

人間同士:ドキュメントで認識を共有
人間とAI:ドキュメントで指示を伝達
→ 同じドキュメントが複数の目的に使える

3. 品質の向上

ドキュメントレビュー → 仕様の問題を事前に発見
→ 実装後の手戻りを削減

ドキュメントの種類と役割

1. プロジェクト設定(CLAUDE.md)

# プロジェクト設定

## コーディング規約
- 命名規則:スネークケース統一
- イベントハンドラ:addEventListener使用
- API呼び出し:APIClient使用

## 開発フロー
1. 仕様書作成
2. レビュー・承認
3. 実装
4. テスト

2. 機能仕様書

# 機能名:ユーザー登録API

## エンドポイント
POST /api/users

## リクエスト
| フィールド | 型 | 必須 | 説明 |
|-----------|-----|------|------|
| email | string | ○ | メールアドレス |
| password | string | ○ | パスワード(8文字以上) |

## テスト方法
1. 正常な値で登録 → 成功
2. 重複メールで登録 → エラー

AI開発でのドキュメント活用

【仕様書からの実装】
AIへの指示:
「docs/user-registration-spec.md の仕様書に従って
実装してください。」

【ドキュメントの自動生成】
AIへの指示:
「実装したAPIのドキュメントを
docs/api-reference.md に追記してください。」

ドキュメント管理のポイント

1. バージョン管理
   → Gitで履歴を追跡

2. 検索しやすい命名
   ✗ 悪い例: doc1.md, memo.md
   ◯ 良い例: user-registration-spec.md

3. リンクで関連付け
   ## 関連ドキュメント
   - [コーディング規約](./coding-conventions.md)
   - [認証仕様](./auth-spec.md)

まとめ

ドキュメント駆動開発は、AI開発との相性が非常に良いアプローチです:

  1. ドキュメント先行 - コードより先にドキュメント
  2. AIへの指示書 - ドキュメントがそのまま仕様
  3. 品質の基盤 - ドキュメントレビューで問題を事前発見
  4. 保守性の確保 - 将来の理解を容易に
  5. 一元管理 - 人間とAI、両方が参照

次回:「AI開発の未来 - 中小企業の可能性」