アジャイル開発の業務を円滑に行うには、バックログリファインメントの実施が重要です。
開発経験が浅いチームの場合、バックログプランニング、バックログリファインメントなどの定義が分からなかったり、進め方で悩んだりすることもあるでしょう。この記事では、バックログリファインメントの概要、実施する目的と手順などについて、わかりやすく解説します。
バックログリファインメントとは
アジャイル開発を行う際には、スクラムというフレームワークに沿ってプロジェクトを進めていきます。
バックログリファインメントとは、プロダクトオーナーやマネージャー、チームメンバーがプロダクトバックログのアイテムを見直し、優先順位を付ける期間のことです。 このプロジェクト管理プロセスは、アジャイル手法で使用されています。
まずはバックログリファインメントの概要やスクラムの基本的な進め方、スプリントについて解説します。
バックログリファインメントはスクラムのセレモニーのひとつ
バックログリファインメントとは、スクラムに含まれる5種類のセレモニーの内の一つです。スクラムにおけるセレモニーはミーティングのことを指しています。各セレモニーではスクラムチームが集まり、プランニングや進捗確認、見直しなどを繰り返しながらプロジェクトが進んでいく仕組みです。
バックログリファインメントはプロダクトバックログの見直しを行うセレモニーであり、一般的には次のスクリプトプランニングの直前に実施されます。
スクラムではプロジェクト完了までを複数の単位に分割し、一つの単位を「スプリント」といいます。開発を行う際には1ヶ月以内の決まった範囲でスプリントを設定し、プランニングからレビューまでのセレモニーを繰り返しながらプロジェクトを進行することが一般的です。
2020年版のスクラムガイドによると、スプリントを1か月以内に設定する主な理由は、チームの一貫性と集中を維持するためだとされています。
そのほかスプリントについては以下の記事で詳しく説明しております。併せてご確認ください。
スプリントとは?アジャイル開発やスクラムとの関係性、メリットを解説
スクラムにおける5つのセレモニー(バックログリファインメント以外の4つについて)
- スプリント プランニング(Sprint Planning)
次のスプリントで何をやるかを決定。 - デイリー スクラム(Daily Scrum)
各メンバーの状況共有。 - スプリント レビュー(Sprint Review)
プロダクトの振り返り。 - スプリント レトロスペクティブ(Sprint Retrospective)
働き方の振り返り。
バックログリファインメントを実施する目的
バックログリファインメントでは、プロダクトバックログの見直しを通して開発の優先順位を付けます。プロダクトバックログを細かい単位で分割し、次のスプリントを円滑に進められる環境を整えることが主な目的です。業務内容が重複している、分割できていないプロダクトバックログを発見し、適切な形で統合・分割してから共有することで、業務内容に関する質問・不明点を削減する効果が見込める仕組みになっています。
バックログリファインメントが適切に実施されていないと、実装する機能や納期等に対する認識が人によってズレてしまいます。結果として作業内容の見直しが頻繁に必要になり、プロダクトの品質に影響が生じるリスクが高くなるのです。問題を防ぐには、定期的にバックログリファインメントを実施する体制を構築する必要があります。
2020年版のスクラムガイドによると、プロダクトバックログは1日以内の作業量に収まるように分割されるパターンが一般的とされています。実際にプロダクトバックログをどのように分割するかは、開発者の裁量で決まるのです。
スクラムチーム内で適切にバックログリファインメントを実施すれば、プロダクトバックログの内容・作業量に関する透明性を獲得した状態でスプリントを進められます。
バックログリファインメントの基礎
アジャイル開発におけるスプリントを効率的に行うには、バックログリファインメントの方法や手順を適切に把握しておくことが重要です。ここでは、スケジュール管理の目安や参加者の選び方といった基本的な知識を紹介します。
バックログリファインメントにかける時間
1回のスプリント期間を1週間とする場合は1~2時間、2週間とする場合は2~4時間がバックログリファインメントにかける時間の目安です。2017年版のスクラムガイドでは「リファインメントは開発チームの作業の10%以下にすることが多い」とされています。
バックログリファインメントは、任意のタイミングで実施できるイベントです。基本的には、1回のスプリントにつき1回以上のバックログリファインメントを実施することで、アジャイル開発を滞りなく進めやすくなる効果が見込めます。
バックログリファインメントの参加者
バックログリファインメントでは、プロダクトオーナーが主催者になり、開発に関わるエンジニアが参加者になることが一般的です。チーム構成やプロジェクト内容によっては、チームの責任者であるスクラムマスターがバックログリファインメントに参加するパターンもあります。
プロダクトオーナーの主な役割は、プロダクトバックログの追加・変更に関する調整を行い、開発の優先順位見直しを行うことです。スプリントの進捗・変更などを開発者に確認し、リファインメントの必要性を判断することもプロダクトオーナーの役割に含まれています。
次に、エンジニアの主な役割はプロダクトバックログの追加・見直しを検討してプロダクトオーナーへ共有することや、プロダクトバックログの内容・受け入れ基準に関する確認を行うことです。その他、スクラムチーム内でストーリーポイントの見積もりを担当する場合もあります。
スクラムマスターはチーム全体の責任者であり、バックログリファインメントの目的・行い方・必要性をチーム内に説明し、浸透させることが主な役割です。加えて、リファインメントを円滑に進めるためのファシリテートも役割に含まれます。その他、デイリースクラムはスクラムマスターが主体になって開催することが一般的です。
スクラムマスターについてはこちらの記事でも詳しく解説しております。
スクラムマスターとは?役割や仕事内容、必要スキルまとめ
バックログリファインメントの実施方法
バックログリファインメントを実施する主な目的は、スクラムチーム内での情報共有と、プランニングのタスクを完了させることです。ここでは、バックログリファインメントの基本的な手順と実施方法について解説します。
詳細の共有
プロダクトオーナーが高い優先順位を付けたプロダクトバックログを対象として、ユーザーストーリーの内容、具体的な受け入れ条件をスクラムチーム内に共有します。
ユーザーストーリーとは、スプリントで実施目標とする内容を、ユーザーの観点で分析し、記述したものです。ユーザーストーリーを作成する際には、誰がどういった目的で何を行いたいかを明確に記述することで、複数人に対して伝わりやすいようにすることが重要です。
プロダクトオーナーが作成したユーザーストーリーをエンジニアへ共有すると、プロダクトバックログの受け入れ条件や作業内容に対する認識をスクラムチーム内で揃えやすくなります。
優先順位の設定
次のスプリントで実施する内容についてミーティングを行い、ユーザーストーリーの優先順位を個別に提案・設定します。新しく追加・変更されたプロダクトバックログがある場合、エンジニアは技術的な実現性や納期等の観点からユーザーストーリーごとの優先順位を個別に判断し、次のスプリントで行う内容の提案を行います。
基本的に、プロダクトオーナーが作成したプランをもとにして、エンジニアがユーザーストーリーの追加・見直しを行う流れで、バックログリファインメントが進められます。
見積もり
優先順位が高いプロダクトバックログを対象として、作業内容の提案・見積もりを行うプロセスです。プロダクトバックログを事前に細かく分割しておくと、業務目標や作業量などを共通認識としてチームメンバーに共有しやすくなります。
エンジニアが見積もりを行う際は、プロダクトオーナーから共有された情報に沿って優先順位の設定・変更を提案するのが一般的です。プロダクトバックログの分割・優先順位見直しといったタスクも、見積もり段階で実施する作業に含まれます。
アジャイル開発で工数見積もりを行う際は、プランニングポーカーという手法の活用が一般的です。プランニングポーカーの概要、実施手順は次章で具体的に解説します。
見積もりで活用される「プランニングポーカー」とは
プロダクトバックログの工数は、プランニングポーカーという手法を用いて見積もりを行います。プランニングポーカーとは、ストーリーポイントの見積もりを行う手法の一つです。優先順位が高いプロダクトバックログを対象として、エンジニアが相対的な作業量を判断して見積もりを行います。
実際にプランニングポーカーを実施する際は、対象とするプロダクトバックログを選定した後、ストーリーポイントを各々で見積もって発表する形式が用いられます。
ストーリーポイントの決め方にルールはありませんが、数値に差が出やすいという理由でフィボナッチ数列(1,2,3,5,8……)が多く用いられています。比較的小規模なものを2ポイントとして、対象とするバックログがどの程度の作業量か見積もる仕組みです。受け入れ条件や作業量が曖昧な場合は、見積もりできないと判断することもあります。
チーム内でストーリーポイントの見積もりがおおむね一致している場合は、最も大きな数値を採用し、次のプロダクトバックログの見積もりに移る作業を繰り返します。提示した見積もり値が大きく異なっている場合、最大値と最小値を提示した参加者が理由を説明した後、再度見積もりを行います。
3回程度続けて見積もりが一致しない場合、最大値もしくは平均値を対象のストーリーポイントとして次に移ることでスムーズに進めやすくなるでしょう。対象となるプロダクトバックログ全てにストーリーポイントを付け終わった時点で、プランニングポーカーは完了です。
プランニングポーカーを複数回繰り返すことで、プロダクトバックログごとの工数を感覚的に見積もれる効果が見込めます。
バックログリファインメントに必要な事前準備
プロダクトバックログの内容や進め方などを、チームメンバーに正しく共有するには、プロダクトバックログの作成や優先順位付けの事前準備を適切に進めましょう。ここでは、バックログリファインメントの実施前に行う準備作業について紹介します。
メンバーの選定
一般的にプロダクトオーナーがファシリテーターとなってメンバーを選定しますが、プロジェクトによっては、業務に慣れているスクラムマスターがファシリテーターを担当する場合もあります。
バックログリファインメントを実施する際には、次のスプリントに関わるプロダクトオーナー・エンジニアが参加するケースが一般的です。開発関係者のみが参加することで、詳細な情報共有や優先順位の設定などを効率的に行いやすくなります。
ミーティング内容の決定
バックログリファインメントでは、プロダクトバックログの追加や変更、優先順位見直しの実施が一般的です。プロダクトバックログのリストアップ、ベースとなる優先順位付けはプロダクトオーナーが行います。
工数の見積もり、作業内容の共有などの業務をスムーズに進行するには、ミーティングの内容、目的を事前に明確化しておくことがポイントです。話す内容を明確に決めていないと、情報共有や質疑応答に要する時間が長くなり、ミーティングが長期化しやすいので注意しましょう。
バックログリファインメントを問題なく進めたいなら、タイムキーパーを設置したり、プロダクトバックログを細かく分割したりといった対策が考えられます。
プロダクトバックログの準備
受け入れ条件や優先順位が明確化されていないプロダクトバックログをリストアップし、ミーティングをスムーズに行えるように準備することは重要な工程です。受け入れ条件が明確化されていないプロダクトバックログを共有すると、人によって作業内容や工数に対する認識に差が生じる原因になります。
スプリントの周期によりますが、プロダクトバックログは1つあたり1日ほどで完了できるように分割するのが一般的です。十分に分割されていないプロダクトバックログは見積もりに時間がかかりやすく、完了するまでにプロジェクトの状況が変わる場合もあります。
プロダクトバックログの受け入れ条件や優先順位は、次回以降のスプリントで行う作業に直接影響する要素です。プロジェクトをスムーズに進めるには、プロダクトバックログの更新およびリファインメントの定期的な実施が重要になります。
まとめ
スクラムチーム内で作業内容を共有する工夫として、定期的なバックログリファインメントの実施はポピュラーな手法です。スプリントを繰り返す過程で、プロダクトバックログの更新・共有を定期的に実施すれば、プロジェクトの進捗管理を適切に行いやすくなります。
今回解説したバックログリファインメントをはじめ、アジャイル開発にはさまざまな管理手法が存在します。より詳しく学びたい方に向けて、アジャイル開発のプロジェクト管理については、過去に実施したウェビナーのの講演資料を公開していますのでこちらもぜひご覧ください。
- カテゴリ:
- キーワード: