完了の定義(DoD)

英語名 Definition of Done (DoD)
読み方 デフィニション オブ ダン
難易度
所要時間 策定に1〜2時間
提唱者 スクラムガイド
目次

ひとことで言うと
#

「できました」と言ったときに、チーム全員が同じ基準で「完了」を判断できるようにする共通のチェックリスト。コードを書いただけ?テストも通った?ドキュメントも更新した?——その認識をチームで揃える。

押さえておきたい用語
#

押さえておきたい用語
DoD(Definition of Done)
バックログアイテムを「完了」と認めるためのチーム全員が合意したチェックリストのこと。すべての条件を満たして初めて「Done」。
インクリメント(Increment)
スプリントで生み出されるリリース可能な成果物の積み重ねを指す。DoDを満たしたアイテムだけがインクリメントに含まれる。
技術的負債(Technical Debt)
DoDを妥協して品質基準を下げた結果、後から修正が必要になる隠れたコストである。DoDの厳守は技術的負債の蓄積を防ぐ。
コードカバレッジ(Code Coverage)
テストコードが実装コードの何%をカバーしているかを示す指標のこと。DoDに「カバレッジ80%以上」のように定義されることが多い。

完了の定義(DoD)の全体像
#

DoD:品質の「出口」を守るチェックリスト
コード品質レビュー済み規約準拠・リファクタ済みテスト単体・結合テスト合格カバレッジ基準クリアドキュメントAPI仕様更新済みリリースノート記載DoDチェックゲート全項目クリアしなければ「未完了」リリース可能なインクリメント品質が保証された成果物としてスプリントレビューでデモ可能
完了の定義(DoD)の策定・運用フロー
1
条件の洗い出し
チーム全員で完了条件をブレスト
2
現実的に絞り込み
毎回確実に守れるレベルに調整
3
スプリントで運用
DoD未達 = 未完了として厳守
レトロで見直し
チームの成長に合わせて基準を上げる

こんな悩みに効く
#

  • メンバーによって「完了」の基準がバラバラで、あとから修正が発生する
  • スプリントレビューで「まだ動かない」機能が出てくる
  • リリース直前に品質問題が噴出する

基本の使い方
#

ステップ1: チームで『完了』に必要な条件を洗い出す

「このアイテムが完了と言えるために、何が満たされている必要があるか?」をチーム全員でブレストする。

  • コードレビュー済み
  • 単体テスト・結合テスト合格
  • ドキュメント更新済み
  • パフォーマンス基準クリア、など

ポイント: 開発者だけでなく、QAやプロダクトオーナーの視点も入れる

ステップ2: 現実的なDoDに絞り込む

理想を全部入れるのではなく、今のチームが毎スプリント確実に満たせるレベルに調整する

  • 「毎回必ずやる」ものだけをDoDに入れる
  • 「できればやりたい」はDoDに入れない
  • 現実的でないDoDは形骸化の元

ポイント: 最初は厳しくしすぎない。スプリントを重ねながら徐々に基準を上げていく。

ステップ3: 見える場所に掲示してスプリントで運用する

DoDをチームの作業エリアやWikiに掲示し、毎スプリントで参照する

  • バックログアイテムを「完了」にする前にDoDを確認
  • スプリントレビューでDoDを満たしていないアイテムはデモしない
  • 「DoDを満たしていないけど、ほぼ完了」は認めない

ポイント: DoDは妥協しない。「95%完了」は「未完了」と同じ。

ステップ4: レトロスペクティブでDoDを見直す

定期的にDoDを更新し、チームの成長に合わせて基準を引き上げる

  • 「毎回クリアできているなら、もう一段上げよう」
  • 「この項目は現実的でないので変えよう」
  • 組織のDoDとチームのDoDの整合性も確認

ポイント: DoDは生きたドキュメント。固定せず、チームと共に進化させる。

具体例
#

例1:Webアプリ開発チームが手戻りゼロを達成するDoD

状況: 従業員60名のSaaS企業。8名の開発チーム。スプリントレビュー後の手戻りが月平均5件発生しており、開発者のモチベーションが低下していた。

チームが合意したDoD(7項目):

  1. コードがmainブランチにマージされている
  2. コードレビューで2名以上の承認を得ている
  3. 単体テストのカバレッジが80%以上
  4. 結合テストがCI上で全件パスしている
  5. UIがデザインカンプと一致している(デザイナー確認済み)
  6. APIドキュメントが更新されている
  7. パフォーマンス: レスポンスタイム200ms以内

運用: スプリントレビュー前にスクラムマスターが各アイテムのDoD達成状況を確認。7項目すべてを満たしたアイテムだけがデモの対象。

指標DoD導入前DoD導入3ヶ月後
レビュー後の手戻り月5件月0件
リリース後のバグ報告月8件月2件
テストカバレッジ52%83%

DoDの7項目を厳守した結果、手戻りが月5件→0件に。「95%完了は未完了」のルールが品質文化をチームに定着させた。

例2:スタートアップが段階的にDoDを引き上げる

状況: 創業1年目のヘルステックスタートアップ(エンジニア4名)。スピード重視でDoDなしに開発していたが、本番障害が月3回発生。投資家から品質改善を求められる。

段階的なDoD導入:

時期DoD内容本番障害数/月
導入前なし3.2件
Phase 1(1-2ヶ月目)①テスト合格 ②コードレビュー1名1.8件
Phase 2(3-4ヶ月目)+③ステージング環境で動作確認 ④API仕様更新0.6件
Phase 3(5ヶ月目〜)+⑤負荷テスト ⑥セキュリティチェック0.2件

この取り組みが示すように、最初から6項目のDoDを導入すると開発速度が激減するリスクがあった。Phase 1で最低限の2項目から始め、チームが慣れるごとに項目を追加する段階的アプローチが、スピードと品質を両立させた。

例3:受託開発企業がクライアントとDoDを合意して検収トラブルを解消する

状況: 従業員45名の受託開発企業。月商600万円。過去1年で3件の検収トラブル(「思っていたのと違う」)が発生し、合計400万円の追加対応コストが発生。

DoDをクライアントと共同策定:

  • プロジェクト開始時にクライアントとDoDを合意し、契約書の別紙に添付
  • 各スプリントレビューでDoDに基づいてデモ → その場でクライアントが「Done」を確認

DoDの内容(クライアント合意版):

  1. 機能が受入条件(AC)をすべて満たしている
  2. クロスブラウザテスト合格(Chrome, Safari, Edge)
  3. レスポンシブデザインが3端末で確認済み
  4. アクセシビリティ基本項目をクリア
  5. クライアントのステージング環境で動作確認済み

導入後の効果:

指標導入前(年間)導入後(年間)
検収トラブル3件0件
追加対応コスト400万円0円
クライアント満足度3.4/5.04.7/5.0

DoDをクライアントと事前合意することで「完了の認識のズレ」がゼロに。年間400万円の追加コストを完全に解消し、受注継続率も向上。DoDはチーム内だけでなく対外的にも強力な品質保証ツールになる。

やりがちな失敗パターン
#

  1. DoDが曖昧すぎる — 「テスト済み」だけでは基準にならない。「単体テストカバレッジ80%以上、CI全件パス」のように具体的に定義する
  2. DoDを例外的に緩める — 「今回は時間がないから…」とDoDを妥協し始めると、基準が崩壊する。DoDは全員が守る約束事
  3. 一度作ったら放置する — チームのスキルが上がっても基準が変わらないと、DoDの意味がなくなる。レトロスペクティブで定期的に見直す
  4. DoDとAcceptance Criteriaを混同する — DoDはすべてのアイテムに共通の品質基準。ACは個々のアイテム固有の受入条件。両方を満たして初めて完了

まとめ
#

完了の定義(DoD)は、「完了」の意味をチーム全員で揃える単純だが強力なプラクティス。曖昧な「できた」をなくし、品質の一貫性を保つ。最初は控えめに設定し、スプリントごとに育てていくのがコツ。DoDがしっかり機能しているチームは、手戻りが少なく、安心してリリースできる。