アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料)
完成の定義のサンプル(1)
みなさんこんにちは。@ryuzeeです。
今日は完成の定義について説明しようと思います。
完成の定義って何?
チームとして定めた「出荷可能な製品」を作成するために実施しなければいけないことの一覧です。 例えば、コードを書く、ユニットテストする、統合テストをする、リリースノートを書く、などがそれにあたります。 プロダクトバックログアイテム単位での完成の定義、スプリント単位での完成の定義、リリース単位での完成の定義をすることもあります。 完成の定義はチームの成熟度や時間によって変わっていきますが、完成の定義なくしてのScrumはあり得ません。
詳しくはScrum Allianceの記事も参照してみてください。 また、あわせてHow Do We Know When We Are Done?も読んでおくとよいと思います。
事例 Scrum Allianceの記事から
上述の通り、Scrum Allianceの記事では、それぞれプロダクトバックログアイテム、スプリント、リリースごとに完成の定義がなされています。 以下はその日本語訳です。
プロダクトバックログアイテムの完成の定義
- テストコード、プロダクションコード含め全てのコードがチェックインされている
- 全てのユニットテストをパスしている
- 全ての受け入れテストが用意され、それにパスしている
- ヘルプファイルが自動で作られている
- 機能テストにパスしている
スプリントの完成の定義
- 全てのストーリーの完成の定義が満たされている
- プロダクトのバックアップが更新されている
- パフォーマンステストが完了している
- パッケージ、クラス、アーキテクチャのダイアグラムを更新されている
- 全てのバグが解決しているか、対応の時期を決めている
- ユニットテストによるコードカバレージが80%以上である
内部リリースの完成の定義
- 全てのスプリントの完成の定義を満たす
- インストーラーが作られている
- MOMパッケージが作られている
- 操作ガイドが更新されている
- トラブルシューティングガイドが更新されている
- 障害発生時の復旧計画が更新されている
- 全てのテストスイートにパスしている
製品リリースの完成の定義
- 全ての内部リリースの完成の定義を満たす
- 負荷テストが実施されている
- パフォーマンステストが実施されている
- ネットワークダイアグラムが更新されている
- セキュリティアセスメントに合格している
- 脅威分析試験に合格している
- 障害発生時の復旧計画がテストされている
チームでは、いつでも完成の定義を全員と共有し、見えるところに貼っておくとよいでしょう。
それでは。