スクラム開発では、アプリやソフトウェアの開発に際し3つの作成物を活用します。
そのうちのひとつに、プロダクトバックログ(アプリ・システム等のプロダクトに関する要求事項が優先度順に並んでいるリスト)があります。
プロダクトバックログアイテムは、このプロダクトバックログの構成要素です。
今回はスクラム開発を進めていくうえで欠かせない、プロダクトバックログアイテムについて解説します。
スクラム開発とは?
スクラム(スクラム開発)とは、アジャイル開発の1つで、スクラムチームと呼ばれる開発チームを組み、短期間・少人数でコミュニケーションを重視する開発手法です。
【意味・定義】スクラム開発とは?
スクラム開発とは、スクラム(スクラム開発)とは、アジャイル開発の1つで、スクラムチームと呼ばれる開発チームを組み、短期間・少人数でスプリント(一定期間の開発)を繰り返し、コミュニケーションを重視する開発手法をいう。
スクラム開発の特徴
- スクラムと呼ばれるチームを組んで開発する
- コミュニケーションを主体とする
- 開発工程は短いスパンで区切って進める
スクラム開発の特徴は、チームを組んでコミュニケ―ションを取りながら開発を進めていくことです。
開発プロジェクトにはPO(プロダクトオーナー)とSM(スクラムマスター)、開発チームが参加します。
プロジェクトを進めると次の3つの作成物が生まれます。
スクラム開発の3つの作成物
- プロダクトバックログ:アプリ開発・システム開発に必要となる発注者側の要求事項のリスト。
- スプリントバックログ:個々のスプリントにおける開発対象となった発注者側の要求事項のリスト。
- インクリメント:スクラム開発によって発生した成果物。いわゆる「プロダクト」と同義。
スクラム開発も含まれるアジャイル開発では、開発サイクルを短期間で繰り返す特徴があります。
ここからはアジャイル開発で使われる開発サイクルの「イテレーション」と「スプリント」について簡単に紹介します。
イテレーションとは
スクラム開発をはじめとしたアジャイル開発では、1つのプロダクトに対し開発サイクルは短期間で設定されるのが特徴です。
アプリなどの開発は、要件定義の決定・設計および実装とテストの実施といった工程で進みます。
イテレーション毎に徐々に機能を追加してプロダクトを強化します。
イテレーションとは、「反復・繰り返し」という意味の英単語であり、設計から改善までの流れを繰り返す開発手法のことです。
【意味・定義】イテレーションとは?
イテレーションとは、短い期間で工程を繰り返し、完成度を高めていく開発サイクルのことをいう。
主にエクストリーム・プログラミングで使われます。
スプリントとは
スプリントとは開発設計やプログラムを開始し、完了後に評価し改善していくサイクルのことです。
スプリントとは、アジャイル開発のひとつであるスクラム開発において、アプリ開発やシステム開発の開発期間を一定程度区切ったものをいう。
スクラム開発ではスプリントを1つずつ完成させながら開発を進めます。
スプリントの設定期間はおよそ1〜4週間です。
エクストリーム・プログラミングで使われているイテレーションとほぼ同じ意味です。
スプリントはスクラム開発で活用されます。
プロダクトバックログとは?
プロダクトバックログ=発注者の要求事項のリスト
プロダクトバックログは、アプリやシステム等のプロダクトに関する発注者の要求事項であり、プロダクトで達成する機能や内容に関する活動計画を土台にした開発チームの作業について、発注者が優先順位を設定したリストを指します。
【意味・定義】プロダクトバックログとは?
プロダクトバックログとは、アジャイル開発において、プロダクト(アプリ・システム等)の要求事項が優先度順で並んでいるリストのこと。
スクラム開発ではチームが複数に分かれているため、担当者は自身の役割を理解して開発するためにプロダクトバックログは欠かせません。
それぞれの開発メンバーは、自分の役割は把握できますが、開発チーム全体の進捗を把握することは難しくなります。
プロダクトバックログを作成すると、開発チーム全体の業務の進捗を確認できるようになるのです。
プロダクトバックログの特徴と役割
プロダクトバックログは、プロダクトの開発を成功するために必要なアイテムをタスクに落とし込みます。
アイテムのなかで優先的に行う必要のあるものや、緊急を要するものから順位を付けてリスト化します。
プロダクトバックログは、プロダクトを完成させるためのバックログ(残りの業務や未処理の内容)という意味です。
アプリやソフトウェアの開発は発注者や利用するユーザーの目線に沿って行う必要があります。
プロダクトバックログをロードマップの作成に役立ててプロダクトの完成率を高めます。
有効活用するには、やること(アイテム)のリスト化と優先順位付けが必要です。
プロダクトバックログアイテムとは?
プロダクトゴールとは
スクラム開発を進めるにあたってまず、プロダクトゴールを決定します。
【意味・定義】プロダクトゴールとは?
プロダクトゴールとは、プロダクトの将来の状態であり、同時にチームの長期的な目標のこと。
プロダクトゴールを決める時点で、ユーザーストーリーやユースケースを用いたり、様々なフレームワークを用いてプロダクトゴールを明確にします。
プロダクトゴールを決定した後、よりゴールイメージを明確にするために、すでに述べたプロダクトバックログを作成します。
プロダクトバックログアイテム(PBI)とは
プロダクトバックログを作成するためには、やることを決めるためのアイテムが必要です。
このプロダクトバックログを構成する、やることを決めた個々のアイテムのことをプロダクトバックログアイテム(略称:PBI)といいます。
【意味・定義】プロダクトバックログアイテム(PBI)とは?
プロダクトバックログアイテム(PBI)とは、プロダクトバックログの構成要素のひとつであって、プロダクトに関するをいう。
スクラムガイド2020において、プロダクトバックログアイテムの決め方の指定はありません。
プロダクトバックログアイテムで含めるべき内容
- 解決したい課題
- バグ修正やメンテナンス
- アプリやソフトウェアのリリースを希望する日
- 知識獲得
- インフラストラクチャ
続いてアイテムの作成で注意すべき点を見ていきましょう。
アイテムの作成で注意すべき点
最初のプロダクトバックログアイテムは1回のスプリントに収まるものにする
プロダクトバックログアイテムの作成で注意すべきなのは、準備の整っていないアイテムを投入しないことです。
アイテムの粒度には濃淡が必要で、細かすぎても粗すぎてもいけません。
最初のアイテムは、1スプリントで収まるもので少しずつ粒度の大きなものにしていくと良いでしょう。
粒度の大きいアイテムを投入してしまうと、1つのスプリント内に開発を終了できず、アイテムを分割しなければなりません。
プロダクトバックログアイテムは発注者側にもコミットする
プロダクトバックログアイテムは、スクラムチーム内だけでなく発注者側のプロダクトオーナーやステークホルダーともコミットします。
これは、プロダクトバックログアイテムが発注者側のプロダクトバックログの構成要素である以上は、当然のことです。
なお、実際の開発におけるタスクのリストであるスプリントバックログについては、開発チームは、プロダクトバックログをもとに作成します。
【意味・定義】スプリントバックログとは?
スプリントバックログとは、個々のスプリントにおける開発対象となった要求事項のリストについて、目標、作業内容、タスクのリストをまとめたログ(記録)をいう。
スプリントバックログでスプリントに投入するプロダクトバックログアイテムは、スプリントゴールの達成に関係するものが中心となります。
「ユーザーストーリー」によるプロダクトバックログアイテムの考え方とは?
ユーザーストーリーとは
プロダクトバックログアイテムを考えるときに使用するフレームワークには、「ユーザーストーリー」があります。
ユーザーストーリーは、誰が何のためにシステムやアプリを使用し、課題を解決できるのかを示したものです。
ユーザーストーリーに含まれる要素は以下のとおりです。
ユーザーストーリーに含まれる要素
- ペルソナ(誰のために)
- 目的(何のために)
- 理由(なぜ実現するのか、得られる価値
ユーザーストーリーの具体例:旅行比較サイトの場合
ユーザーストーリーは、誰が何のためにシステムやアプリを使用し、課題を解決できるのかを示したものです。
ユーザーストーリーの問い
- What(ユーザーが〇〇できるようになる)
- Why(ユーザーには〇〇という課題がある)
- Value(ユーザーにとって〇〇の価値がある)
例えば、「複数のホテルを検索できる旅行比較サイト」を参考にユーザーストーリーを考えてみましょう。
旅行比較サイトのユーザーストーリー
- What(ユーザーが条件を絞り込んで複数のホテルの料金や内容を比較できるようになる)
- Why(それぞれのホテルのページを見るのに手間がかかったり、おすすめ順などで絞り込めない)
- Value(条件の良い旅行会社や公式ホームページをスムーズに探せるため旅行の予約が取りやすい)
ユーザーストーリーによるプロダクトバックログアイテムの分割方法
6種類のプロダクトバックログアイテムの分割方法
ユーザーストーリーは利用するユーザーにとって価値があり、開発を見積もりできるもので適切に分割されており、受入テストの可能なものが求められます。
ユーザーストーリーのなかには粒度が大きく、分割しなければならないケースもあります。
ここからは、粒度が大きく1つのスプリントに収まらないプロダクトバックログアイテムを分割する方法を紹介します。
プロダクトバックログアイテムの分割方法
- ワークフローの段階で分割
- ビジネスルールで分割
- プラットフォームで分割
- 入力パラメーターで分割
- 操作(GRUD)で分割
- 利用者の役割によって分割
こちらの6つの内容で分割方法について、すでに述べた「複数のホテルを検索できる旅行比較サイト」を例に解説するので参考にしてください。
ワークフローの段階で分割
ワークフローの段階について分割すると、次のようになります。
ワークフローの段階での分割 |
|
---|---|
分割前 | 分割後 |
旅行比較サイトで複数のホテルを検索できる。 |
|
ビジネスルールで分割
ビジネスルールについて分割すると、次のようになります。
ビジネスルールでの分割 |
|
---|---|
分割前 | 分割後 |
ユーザーは宿泊料金帯でホテルを検索できる。 |
|
プラットフォームで分割
プラットフォームについて分割すると、次のようになります。
プラットフォームでの分割 |
|
---|---|
分割前 | 分割後 |
ユーザーはPC・モバイル・アプリでホテルを検索できる。 |
|
入力パラメーターで分割
入力パラーメーターについて分割すると、次のようになります。
入力パラメーターでの分割 |
|
---|---|
分割前 | 分割後 |
ユーザーは様々な条件を選択してホテルを検索できる。 |
|
操作(GRUD)で分割
操作(GRUD)について分割すると、次のようになります。
操作(GRUD)での分割 |
|
---|---|
分割前 | 分割後 |
ユーザーがホテルの情報を管理できる。 |
|
利用者の役割によって分割
利用者の役割によって分割すると、次のようになります。
利用者の役割ので分割 |
|
---|---|
分割前 | 分割後 |
ユーザーがホテルの情報を管理できる。 |
|
プロダクトバックログの作成手順
プロダクトバックログを作成するにはプロダクトゴールの設定と、プロダクトバックログアイテムが必要です。
プロダクトバックログの作成の際には、発注者・受注者の双方を含め、スクラムチーム全体でプロダクトに対する共通認識を持つことが大切です。
プロダクトバックログの作成手順
- プロダクトゴールを決定する
- プロダクトバックログアイテムを作成する
それぞれ見ていきましょう。
プロダクトゴールを決定する
プロダクトバックログの作成にあたり、まずはすでに述べたプロダクトゴールを決定する必要があります。
プロダクトのゴールを決める前に、機能面や詳細内容を詰めても開発は進みません。
ユーザーにどのような価値を提供し、将来どのようになってほしいのか、具体的にイメージしながら方向性を定めていきましょう。
プロジェクトの目的やゴールの作成時に整理する方法で活用されているもののひとつとして、「インセプションデッキ」を紹介します。
【意味・定義】インセプションデッキとは?
アジャイル開発のプラクティスの一種で、プロジェクトのなぜ(Why)とどのように(How)をプロジェクト開始前に10個の質問に答えながら明確にし、チーム内で共有する目的で実施するものをいう。
インセプションデッキの10個の質問とは?
- Why Are We Here? なぜ我々はここにいるのか?
- Create an Elevator Pitch エレベーター・ピッチを作る
- Design a Product Box プロダクトボックスをデザインする
- Create a NOT List やらないことリストを作る
- Meet Your Neighbors 隣人との出会い
- Show the Solution 解決策を示す
- Ask What Keeps Us Up at Night 夜眠れないのはなぜか?
- Size It Up サイズアップ
- Be Clear on What’s Going to Give 何を与えるかを明確にする
- Show What It’s Going to Take 何が必要かを示す
質問の内容をそれぞれ解説します。
インセプションデッキの10個の質問内容 |
|
---|---|
なぜ我々はここにいるのか? | プロジェクトが存在する理由を知り、プロジェクトが目指すゴールを決定するための質問。 |
エレベーター・ピッチを作る | プロジェクトでは、誰にどのような価値を提供するのかを明確にするための質問。 |
プロダクトボックスをデザインする | プロジェクトのイメージ(キャッチコピーやアピールポイント)を明確にするための質問。 |
やらないことリストを作る | プロジェクトにより作成されるプロダクトの中で、やること、やらないこと、あとで決めることをリスト化してまとめるための質問。 |
隣人との出会い | プロジェクトに参加する関係者を明確にするための質問。 |
解決策を示す | プロジェクトで使用するプログラム言語、ライブラリ、ツールおよびリスクのある部分を明確にするための質問。 |
夜眠れないのはなぜか? | プロジェクトにおいてエラーが発生した場合、夜も眠れないほど悩んでしまう問題は何かを考える質問。 |
サイズアップ | プロジェクトの開発期間(スケジュール)を明確にするための質問。 |
何を与えるかを明確にする | プロジェクトにおいて存在する時間・資金・スコープ・品質などについて、最も重要なものや、柔軟に対応できるものを明確にしておくための質問。 |
何が必要かを示す | プロジェクトにおいて時間、予算、範囲、品質を最大限と最小限の間のスライダー上で、重要度を決定するための質問。 |
インセプションデッキ10の質問を参考にして、プロダクトゴールを作成しましょう。
プロダクトバックログアイテムを作成する
プロダクトゴールを決定した後は、プロダクトバックログを作成します。
プロダクトバックログアイテムは、プロダクトバックログの1行ごとに記載します。
一番上の行から開発を進めていくため、プロダクトバックログアイテムは、必要なものを書き出して、最初に開発するものから並べ替えていきます。
書き出したアイテムの粒度が大きい場合は、上記で紹介した分割方法を活用して粒度を小さくしなければなりません。
プロダクトバックログアイテムが1つのスプリントで収まる状況になったら、開発の受け入れ準備を決めて、工数の見積もりを実施します。
開発チームは、完成しているプロダクトバックログにある1番上のものから、1つのスプリントで収まるように分解してスプリントバックログを作成します。
上記のように導き出した内容をプロダクトバックログアイテムとして記載します。
プロダクトバックログアイテムをすべて出し尽くしたら、リファインメントを通じてアイテムの手入れをしましょう。
スクラムイベントでのリファインメントを通じて、プロダクトバックログのリファインメントも実施する必要があります。
バックログリファインメントで何を行っているのか?
- 新しいバックログアイテムの追加や見積もり
- 見積り時間(チケット)を明確にする
- 不要なアイテムの削除
- 優先順位を最新化する
まとめ
プロダクトバックログアイテムは、プロダクトバックログを作成するための機能(アイテム)と解説しました。
プロダクトバックログはステークホルダーや顧客も打ち合わせに入ります。
開発チームはプロダクトバックログアイテムの内容を、スプリントバックログに落とし込んで、自分の仕事時間を確保します。
プロジェクトが成功するのかどうかは、プロダクトバックログが鍵を握っているといっても過言ではありません。
プロダクトバックログアイテムについてよくある疑問
- プロダクトバックログアイテム(PBI)とは何ですか?
- プロダクトバックログアイテム(PBI)とは、プロダクトバックログを構成する要素・アイテムであって、プロダクトゴールを実現するための発注者側の個々の要求事項ことです。
- プロダクトバックログアイテムとスプリントバックログの違いは何ですか?
- プロダクトバックログアイテムは、開発者やプロダクトオーナー、スクラムマスターが話し合って決定するものです。
一方、スプリントバックログアイテムは、プロダクトバックログアイテムを元に開発担当者が内容をスプリントバックログ内に収まるように決めるものとなります。