完了の定義(DoD) かんりょうのていぎ
完了の定義DoDDefinition of Done品質基準スクラムアクセプタンス基準
完了の定義って何?「完成した」だけじゃダメなの?
簡単に言うとこんな感じ!
「完成した」の基準がバラバラだと、コードは書けたけどテストしてない・ドキュメントがないといった状態で「完成」になってしまうんだよ!「これが全部クリアできたら完了」という共通基準を決めることで、品質を一定に保てるんだ。
完了の定義(DoD)とは
完了の定義(Definition of Done:DoD) とは、スクラムやアジャイル開発で使われる概念で、バックログアイテムやスプリントが「完了」と見なされるために満たすべき品質基準・条件のリストです。
「これが全部チェックされたら完了」という共通認識を持つことで、「開発者は完了と思っていたが、テストが漏れていた」「デプロイまで含めて完了のはずなのに動かない」などのすれ違いを防ぎます。
DoDの典型的な内容
| チェック項目 | 内容 |
|---|---|
| コードが実装されている | 機能要件を満たすコードが書かれている |
| ユニットテストが書かれている | 主要なロジックのテストコードがある |
| コードレビューが完了 | 別の開発者がレビューしてApproved |
| CIが通っている | 自動テスト・ビルドが全てパス |
| ドキュメントが更新されている | 仕様書・README・APIドキュメントが最新 |
| 検証環境にデプロイ済み | テスト環境で動作確認できる状態 |
| QAテストが完了 | テスターによる動作確認が完了 |
DoDとアクセプタンス基準(AC)の違い
| DoD | アクセプタンス基準(AC) | |
|---|---|---|
| 対象 | すべてのアイテムに共通 | 特定のアイテム固有 |
| 内容 | プロセス・品質基準 | 機能要件・ユーザーシナリオ |
| 例 | 「コードレビュー済み」 | 「管理者のみが削除できる」 |
歴史と背景
- スクラムフレームワーク(2001年以降):アジャイル宣言を受けてDoDが主要概念として定着
- スクラムガイド(2010〜):DoDはスクラムチームが定義する必須の品質契約として規定