アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料)
プロダクトバックログリファインメントとはなにか?
みなさんこんにちは。@ryuzeeです。
Product Backlog Groominが良い記事でしたので、意訳・抜粋にてご紹介いたします。
プロダクトバックログは継続的に更新される生きたドキュメントである。 プロダクトバックログには、全ての機能要求、非機能要求を含むすべての要求を含んでいる。
なぜプロダクトバックログのリファインメントを行うのか
プロダクトバックログリファインメントは極めて重要だ。以下のようなことに役立つ。
- 開発チームとプロダクトオーナーが大きなプロダクトバックログアイテムを小さいものに分割するのに役立つ。それによって個々のプロダクトバックログアイテムのスコープについてより理解が共有される。
- 開発チームとプロダクトオーナーは長くて息切れするようなスプリントプランニングを避けることができる。それによって時間のムダを防げる。
- プロダクトオーナーによって追加された新たなプロダクトバックログアイテムや既存のプロダクトバックログアイテムをより小さいものに分割する。
- 開発チームはより簡単にプロダクトバックログアイテムの見積りができるようになる。小さいプロダクトバックログアイテムはより見積もるのが簡単になるのだ。
- プロダクトオーナーが開発チームに対してビジョンや方向性を共有するのに役立つ。これはチームが全体像を理解しアーキテクチャや設計に対してより価値のある判断を下すのに役立つ。
- 開発チームとスクラムマスターは必要とされるリソースやチーム構成について理解することができる。
どうやってプロダクトバックログリファインメントを行うか
プロダクトオーナーはプロダクトバックログが適切な大きさであることを保証する責任がある。 しかし、プロダクトバックログリファインメントはスクラムにおいてはチーム作業だ。 新しいプロダクトバックログアイテムがプロダクトオーナーによって書かれ、開発チームはプロダクトオーナーが新しいプロダクトバックログアイテムを発見したり、既存のプロダクトバックログアイテムを含めてより明確化(たとえば依存関係や制約)するのを支援する。 プロダクトオーナーはプロダクトバックログアイテムの分割を開発チームとともに行った上で、開発チームに対して、それらを見積もったり、成果物を顧客に届けることを要求する。 以下はプロダクトバックログリファインメント中に起こる典型的なアクティビティだ。
- 新しい項目について議論され、新しい項目が見つけられる。プロダクトオーナーは顧客やステークホルダーから要求された新しい項目を明らかにする。開発チームはプロダクトオーナーに対して技術的な依存性や制約の観点で支援する。これらの項目はプロダクトバックログに追加される。ユーザーストーリーはプロダクトバックログの機能要求を捕捉するための素晴らしいテクニックだ。ユーザーストーリーはエンドユーザーの観点から記述される。
- 既存のプロダクトバックログアイテムもしくは追加されたプロダクトバックログアイテムはより小さいプロダクトバックログアイテムにブレークダウンされる。通常、プロダクトバックログの先頭にあるプロダクトバックログアイテムはこのやり方でリファインされる。大まかなやり方としては直近2〜3スプリント分くらいのプロダクトバックログアイテムをリファインすることが多い。
- 開発チームとプロダクトオーナーはプロダクトバックログアイテムの価値やリスクや依存性について議論する。
- プロダクトオーナーはプロダクトバックログを並べ替える。プロダクトオーナーはチームの助けを得て、価値やリスクや依存性やビジネスの状況や競合の状況やその他いくつかのプロダクト戦略に基づいて並べ替える。
- プロダクトバックログの上位にある項目(一般的には直近2〜3スプリントで開発できるくらい)は分解され、リファインされる。スクラムチーム全体が項目に対して共通の理解をもつことはとても重要だ。プロダクプロダクトバックログアイテムはスプリントに収まるくらい十分に小さい必要があり、それによってチームは完成の定義にしたがって出荷可能なプロダクトの増分を作り出すことができる。これらのプロダクトバックログアイテムはテスト可能でなければならない。それによって開発チームスプリント中に容易にテストし検査することができる。
- プロダクトバックログが見積もられる。新しく追加されたりリファインされたプロダクトバックログアイテムは必要なら見積りが行われる。見積りを行うためにチーム全体で活動する。
いつどのくらいの頻度でおこなうか?
プロダクトバックログリファインメントは継続的なプロセスだ。 開発チームはプロダクトオーナーとともに少なくともスプリントに一度はリファインメントを行うべきだ。 スプリントの中で前もって1,2回分のリファインメントの会議の時間を予定しておくのは良い考えだ。 さもないと、開発チームがスプリントの中で作業にとりかかり始めるときまで忘れてしまうといったことが起こるかもしれない。