ブログ

ryuzeeによるブログ記事。不定期更新
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料)

完成の定義のサンプル(1)

みなさんこんにちは。@ryuzeeです。

今日は完成の定義について説明しようと思います。

完成の定義って何?

チームとして定めた「出荷可能な製品」を作成するために実施しなければいけないことの一覧です。 例えば、コードを書く、ユニットテストする、統合テストをする、リリースノートを書く、などがそれにあたります。 プロダクトバックログアイテム単位での完成の定義、スプリント単位での完成の定義、リリース単位での完成の定義をすることもあります。 完成の定義はチームの成熟度や時間によって変わっていきますが、完成の定義なくしてのScrumはあり得ません

詳しくはScrum Allianceの記事も参照してみてください。 また、あわせてHow Do We Know When We Are Done?も読んでおくとよいと思います。

事例 Scrum Allianceの記事から

上述の通り、Scrum Allianceの記事では、それぞれプロダクトバックログアイテム、スプリント、リリースごとに完成の定義がなされています。 以下はその日本語訳です。

プロダクトバックログアイテムの完成の定義

  • テストコード、プロダクションコード含め全てのコードがチェックインされている
  • 全てのユニットテストをパスしている
  • 全ての受け入れテストが用意され、それにパスしている
  • ヘルプファイルが自動で作られている
  • 機能テストにパスしている

スプリントの完成の定義

  • 全てのストーリーの完成の定義が満たされている
  • プロダクトのバックアップが更新されている
  • パフォーマンステストが完了している
  • パッケージ、クラス、アーキテクチャのダイアグラムを更新されている
  • 全てのバグが解決しているか、対応の時期を決めている
  • ユニットテストによるコードカバレージが80%以上である

内部リリースの完成の定義

  • 全てのスプリントの完成の定義を満たす
  • インストーラーが作られている
  • MOMパッケージが作られている
  • 操作ガイドが更新されている
  • トラブルシューティングガイドが更新されている
  • 障害発生時の復旧計画が更新されている
  • 全てのテストスイートにパスしている

製品リリースの完成の定義

  • 全ての内部リリースの完成の定義を満たす
  • 負荷テストが実施されている
  • パフォーマンステストが実施されている
  • ネットワークダイアグラムが更新されている
  • セキュリティアセスメントに合格している
  • 脅威分析試験に合格している
  • 障害発生時の復旧計画がテストされている

チームでは、いつでも完成の定義を全員と共有し、見えるところに貼っておくとよいでしょう。

それでは。