受け入れ条件も完成の定義も完成とみなすためのチェックリストのようなものですが、それぞれの目的と使い方が異なります。
完成の定義(Definition of Done)
👀
このプロダクトはどのような状態であれば顧客に満足されるか?
完成の定義はスクラムフレームワークの3つの作成物のうち、「インクレメント」に含まれるものです。スクラムを実践するうえで必須なものになります。
スクラムガイド2020年版
完成の定義とは、プロダクトの品質基準を満たすインクリメントの状態を示した正式な記述である。
プロダクトバックログアイテムが完成の定義を満たしたときにインクリメントが誕生する。
完成の定義により、作業が完了してインクリメントの一部となったことが全員の共通認識となり、透明性が生み出される。
完成の定義はの目的はプロダクトの品質基準を明らかにすることです。
品質はビジネス観点、エンジニアリング観点、顧客観点、様々な側面がありますが最終的には顧客が満足するための内容です。
作成と見直しはスクラムチーム全体の責任となり、必要に応じてステークホルダーや顧客を巻き込んで行っていきます。
プロダクトに変更を加える度に達成しなければならない内容であるため、最初から満たすことができないほど大きいリストを作るのではなく、まず現実的に達成できるリストを作って、スプリントレトロスペクティブで定期的に見直して少しづつ内容を増やしていくことをお勧めします。
受け入れ条件(Acceptance Criteria)
受け入れ条件はスクラムガイドに無いものですが多くのスクラムチームが取り入れているプラクティスです。
主な目的は仕事(プロダクトバックログアイテム)のスコープを明確にしてテストを可能にすることです。
受け入れ条件を明確にすることによって以下のメリットが得られれます。
- 作り過ぎのムダを防いで必要な内容だけに集中できるようになる
- テストすべき内容が明確になりスプリント内に行えるようになる
受け入れ条件は基本的にスプリントバックログリファインメントやスプリントプランニングのイベントでプロダクトオーナーと開発者協働で作っていきます。それぞれの仕事にそれぞれの受け入れ条件を作っていきます。
スプリントに入ってから新たな情報が出てくることがありますので途中でも受け入れ条件を足したり、変えたり、減らしたりすることがあります。