このページでは、アジャイル開発によるアプリ・システムの開発手法のひとつであるスクラム開発で作成し、使用するスプリントバックログについて説明します。
スプリントバックログは、開発者同士で作業を分担する開発手法「スクラム開発」の開発過程で作成される、開発チームのタスクのリストです。
スクラム開発において、1つのプロダクトに対し開発内容や期間を細かく決めることをスプリントと呼びます。
スプリントを完成させるために作成するタスクのリストがスプリントバックログです。
今回は、同じくスクラム開発で作成される「プロダクトバックログ」との違いもわかりやすく解説します。
スプリントバックログとは
スクラム開発の3つの作成物は、プロダクトバックログとスプリントバックログとインクリメントです。
スクラム開発の3つの作成物
- プロダクトバックログ:アプリ開発・システム開発に必要となる発注者側の要求事項のリスト。
- スプリントバックログ:個々のスプリントにおける開発対象となった発注者側の要求事項のリスト。
- インクリメント:スクラム開発によって発生した成果物。いわゆる「プロダクト」と同義。
このうち、スプリントバックログは、プロダクトバックログの要求事項にもとづき、スクラムの開発期間(スプリント)内に開発チームが行うべきタスクをリスト化したものです。
【意味・定義】スプリントバックログとは?
スプリントバックログとは、個々のスプリントにおける開発対象となった要求事項のリストについて、目標、作業内容、タスクのリストをまとめたログ(記録)をいう。
スプリントバックログでは、単に発注者側の要求事項をリストアップするだけでなく、スプリントのゴールを達成するために、何をいつまでに実行すべきかをタスクのリストへ詳細に落とし込みます。
スプリントバックログを構成する3つの要素
- スプリントゴール(=目標)
- プロダクトバックログアイテム(=要求事項)
- スプリントバックログのアクティビティ・タスク(=作業内容)
スプリントバックログの進捗チェックは、毎日ごとなど、非常に短期間で行われる点が特徴です。
スプリントとは
ここで、スプリントバックログの考え方の基本となる、スプリントについて説明します。
【意味・定義】スプリントとは?
スプリントとは、スクラム開発における基本的な時間枠(タイムボックス)をいう。
スクラム開発の特徴は、チーム(スクラム)を組んでコミュニケーションをとりながら開発を行うことです。
スプリントを決定することをスプリントプランニングと呼びます。
スプリントは通常、2週間から4週間ほどで設定され、期間中はスクラム(チーム)で開発を行います。
スプリントを構成する要素
- 決められた時間
- 達成すべき目標
- スプリントバックログ
- デイリースクラム
- スプリントレビュー
- スプリントレトロスペクティブ
アジャイル開発やスクラム開発では、短期間で開発や改善が進んでいきます。
特に、スクラム開発では、スプリントごとに達成すべき目標や時間、優先すべきタスクが決められています。
そのうえで、日々デイリースクラムを開催することにより、進捗を把握するのも容易です。
このスプリントの特長により、短期間で柔軟性のあるアプリ・システムの開発が可能となります。
この他、スプリントの詳細につきましては、以下のページをご覧ください。
スプリントバックログとプロダクトバックログとの違い
スプリントバックログは、同じくスクラム開発物の作成物の1つであるプロダクトバックログとは、以下の点で違いがあります。
プロダクトバックログとの違い | ||
---|---|---|
プロダクトバックログ | スプリントバックログ | |
目的 | 開発プロジェクト全体の要件を一覧化し優先順位を付けること。 | 開発要件(スプリント)ごとに行う必要のある作業を明確にすること。 |
ログの管理者 |
|
|
ログの内容(PBI) |
|
|
更新頻度 | 定期的または随時 | 毎日のスクラムミーティング |
スコープ | プロジェクト全体 | 1つのスプリント(1~4週間) |
プロダクトバックログとは、アプリ開発・システム開発に必要となる発注者側の要求事項のリストのことです。
【意味・定義】プロダクトバックログとは?
プロダクトバックログとは、アプリ開発・システム開発に必要となる発注者側の要求事項のリストをいう。
プロダクトバックログでは、開発プロジェクトの全体を俯瞰して開発を求められている機能や、修正してほしい内容について、プロダクトおな~が優先順位を付けることにより、リスト化されています。
プロダクトバックログは、プロダクトゴールとプロダクトバックログアイテムの2つの要素から成り立ちます。
スプリントバックログは、プロダクトバックログの内容をもとに作成します。
スプリントバックログを作成する目的
スプリントバックログには、スプリント内で行うべきタスクが含まれています。
スクラムを組んだチーム全員が、開発目標を理解し作業に取り組むために、スプリントバックログの作成は欠かせません。
つまり、スプリントバックログを作成する目的は、開発チーム全体が取り組むべきタスクを共有し、理解するためです。
スプリントバックログを作成しておくと、作業内容がこまかく記載されており不具合なども早期に発見しやすいため、迅速に対応できるメリットがあります。
さらに、ミーティングで常に進捗を確認しスピーディーに開発を進めていけるでしょう。
スプリントバックログの項目
すでに述べたとおり、スプリントバックログは、プロダクトバックログを元に作成されます。
ここからは、スプリントバックログにおいて記載される代表的な項目について解説します。
スプリントバックログの代表的な項目
- ユーザーストーリー
- タスク内容と優先順位
- スプリントのバーンダウンチャート
それぞれ見ていきましょう。
ユーザーストーリー
スプリントバックログには、ユーザーストーリーを記載します。
【意味・定義】ユーザーストーリーとは?
ユーザーストーリーは、システム・アプリ・ソフトウェアを利用するエンドユーザーにどのような価値を提供できるかを示すものをいう。
ユーザーストーリーは、プロダクトマネージャーが作成します。
これは、プロダクトマネージャーが、開発されるシステム・アプリ・ソフトウェアの利用者に近い立場だからです。
スプリントバックログにユーザーストーリーを記載することにより、開発チームでは、ソフトウェアを利用するエンドユーザーに価値を提供することが意識されます。
こうした意識のもとで、個々のスプリントにおいて必要な作業リストをリストアップし、詳細をスプリントバックログに落とし込みます。
タスク内容と優先順位
スプリントバックログでは、タスクの内容を記載する際、プロダクトバックログと同様に、優先順位を記載します。
例えば、ECサイトを構築する場合、商品を販売をするためのログイン画面の構築や、ユーザーが商品を購入する画面の作成といった内容がスプリントになります。
スプリントバックログを作成する際には、それぞれのスプリントに対してゴールを達成するために必要なタスクと、作業内容を記入します。
また、タスクと作業内容を決定したら、それぞれのタスクの優先順位を付けます。
スプリントのバーンダウンチャート
バーンダウンチャートとは、開発プロジェクトの進捗状況について、縦軸にタスクの量(残りの工数)、横軸に経過時間が記載されたグラフのことです。
【意味・定義】バーンダウンチャートとは?
バーンダウンチャートとは、開発プロジェクトの進捗状況が一目でわかるようにグラフ化したものをいう。
バーンダウンチャートを使用することにより、作業タスクが予定の時間内に進んでいるのかがチャートで可視化できます。
具体的には、以下のようなグラフがバーンダウンチャートとなります。
バーンダウンチャートの見方
- 縦軸はタスクの量を示す
- 横軸は時間を示す
- 線は、プロジェクトの進捗状況を指し示す
バーンダウンチャートにおいてプロジェクトの進捗状況を表す線には3種類あります。
バーンダウンチャートで引かれる実線の種類
- 実績線=タスクの残量を示し進捗所容共を確認
- 計画線=開始から終了までのタスク量を示す線
- 理想論=タスクの理想的な進捗状況を示す線
実績線と計画線を比較することで、進捗の良し悪しを一目で把握できます。
スプリントバックログの作成方法
ここからは、実際にスプリントバックログを作成する方法を説明します。
スプリントバックログは、主に開発に携わる開発者(作業者)同士で作成します。
具体的には、スプリントゴールを肉付けするイメージで、タスク内容や作業時間を設定します。
スプリントバックログの作成手順
- スプリントプランニングを実施
- スプリントゴールを提示
- ゴールを達成するためのアクティビティ・タスクの洗い出し
- アクティビティ・タスクの作業時間の設定
1つずつ見ていきましょう。
スプリントプランニングを実施
まず、スプリントプランニングを実施し、スプリントゴールを設定します。
【意味・定義】スプリントプランニングとは?
スプリントプランニングは、スプリントで達成すべき内容を話し合うものをいう。
スプリントプランニングは、開発者、プロダクトオーナー、スクラムマスターなどが参加してスプリントの最初に実施します。
なお、スプリントバックログは、スプリントごとに作成されるため、それぞれ同じフォーマットで作成されます。
スプリントゴールを提示
スプリングプランニングを経て、スプリントゴールを提示し成功するために求められる条件は、次のとおりです。
スプリントゴールを提示し成功するための条件
- トップダウンによるスプリントゴールの設定を避ける。
- 開発者同士でゴールは統一した内容で把握する。
- プロダクトゴール・スプリントゴールともに透明性をもち明確なゴールを提示する。
スプリントゴールは、その達成のために、開発者が自主的に定めることが重要となります。
このため、プロダクトオーナーはもちろん、スクラムマスターでさえ、スプリントゴールの設定には、過度に干渉してはいけません。
ゴールを達成するためのアクティビティ・タスクの洗い出し
続いて、スプリントゴールを達成するために必要なアクティビティ・タスクの洗い出しを実行します。
スプリントゴールを達成するためには、スプリントゴールの達成に必要な要素を分割し、実際に開発者がイメージできるアクティビティ・タスクまで落とし込む必要があります。
そのうえで、洗い出したアクティビティ・タスクをスプリントバックログに記載しましょう。
アクティビティ・タスクの作業時間の設定
さらに、スプリントバックログに記載したアクティビティ・タスクの作業時間を正しく見積もります。
作業時間の想定時間を誤り、スプリントごとの作業が遅延すると、開発全体のスケジュールにも遅れが生じます。
特に、スクラム開発におけるスプリントは1つだけでなく複数のスプリントが走っていることが多く、プロジェクト全体の進捗把握が難しくなる、というリスクがあります。
これらのリスクを回避するためにも、スプリントバックログに記載されたアクティビティ・タスクの作業時間の見積もりは、なるべく正確におこなう必要があります。
より良いスプリントバックログを作成するには?
ここからはスプリントバックログをもっと良くするためのポイントを2つ紹介します。
スプリントバックログを良くするためのポイント
- タスクは細かく区切る
- スプリントレビュー・スプリントレトロスペクティブを実施する
それぞれ詳しく見ていきましょう。
タスクは細かく区切る
スクラム開発で設定するスプリントは、通常だと1週間〜2週間で設定されています。
スプリントバックログのアクティビティ・タスクは、この期間内に実施できるものでなければなりません。
よって、スプリントバックログのアクティビティ・タスクは、スプリントの期間に収まるように、細かく区切りましょう。
スプリントレビューやスプリントレトロスペクティブの実施
プリントバックログをより良くするには、スプリントレビューとスプリントレトロスペクティブの実施が欠かせません。
【意味・定義】スプリントレビューとは?
スプリントレビューとは、アジャイル開発プロセスにおいて、開発チームがスプリント期間中に達成した成果物や進捗状況を全体のメンバーやステークホルダーと共有し、その成果物に対するフィードバックを収集するためのイベントをいう。
【意味・定義】スプリントレトロスペクティブとは?
スプリントレトロスペクティブとは、スプリントを振り返り、作業を行う中で感じた問題点や課題を話し合うことをいう。
まず、スプリントレビューを実施し、プロダクトオーナーや、場合によってはステークホルダーも含めて、開発が完了したシステムの動作をチェックします。
そのうえで、開発チーム・スクラムチームの内部において、スプリントレトロスペクティブがおこなわれます。
どちらの行程も現時点で開発が完了しているものが、エンドユーザーの求めるものに仕上がっているのかや、開発の方向性のすり合わせするために必要なものです。
なお、スプリントレトロスペクティブの参加者は開発チーム・スクラムチームの開発メンバーのみに限定されます。
このため、受注側の責任者であるスクラムマスターや発注側の責任者であるプロダクトオーナーは参加しません。
まとめ
ここまでスプリントバックログとは何かと作成方法について説明しました。
スプリントバックログは、プロダクトバックログを元に作成されるものである点が理解できたでしょうか。
スクラム開発において、スプリントバックログは、開発内容を最小単位に分解して設定したものです。
スプリント1つ1つの開発を進め、作業を完了することで、アプリ・システムは完成します。
アプリ・システムの開発の全体をまとめるプロダクトオーナーや、開発担当をまとめるスクラムマスターにとって、スプリントバックログは開発の状況を確かめる大切なものだと覚えておきましょう。
スプリントバックログに関するよくある質問
- スプリントバックログはどのタイミングで作成したらよいのでしょうか?
- スプリントバックログの作成には、プロダクトバックログアイテムとスプリントゴールが必要です。このため、スプリントバックログを作成するタイミングは、プロダクトバックログの完了後、そのスプリントのスプリントゴールを決定した後となります。
- スプリントバックログを作成する際に割り当てられるスプリントの長さ(タイムボックス)はどのくらいが適切ですか?
- スプリントのタイムボックスは、1週間や2週間など1週間単位で設定するのが望ましいです。通常は、最長でも4週間以内で設定します。
1週間単位で設定する理由は、デイリースクラムなどで進捗確認の打ち合わせの曜日を固定できるためです。