Blog

Doneの定義のサンプル(1)

 2010/06/06
このエントリーをはてなブックマークに追加

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

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

Doneの定義って何?

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

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

事例 Scrum Allianceの記事から

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

プロダクトバックログ項目のDoneの定義

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

スプリントのDoneの定義

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

内部リリースのDoneの定義

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

製品リリースのDoneの定義

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

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

それでは。

 2010/06/06
このエントリーをはてなブックマークに追加