2023.11.17更新日:2024.07.02
プロダクトバックログとは、システムやアプリケーション開発における開発チームで、対応すべきタスクやアイテムを優先順序順に並べたタスクリストのことです。
この記事では、アジャイル開発ではマストという「プロダクトバックログ」の基礎知識や書き方について解説します。開発チームで業務の整理整頓に困っている方、アジャイル開発を進めるにあたってプロダクトバッグログについて知りたいと考えている方はぜひ参考にしてください。
プロダクトバックログとは、システム開発やアプリケーション開発などのプロジェクトにおいて、開発チームが対応すべき項目を一覧にし、優先順に並べたタスクリストです。
文字通り「プロダクト(製品)」を作るための「バックログ(未処理タスクリスト)」を由来とする言葉で、開発期間中に取り組むべきタスク(課題)を特定・整理するために用いられます。
特にアジャイル開発の手法を採用する場合に重要な要素の一つであり、プロジェクトの成功に欠かせないものです。
アジャイル開発についてより詳しく知りたい方は、以下の記事も参照してみてください。
プロダクトバックログを導入することには多くのメリットがあります。ここでは、主な3つのメリットについて解説します。
プロダクトバックログとスプリントバックログは、どちらもアジャイル開発のスクラムという手法で用いられるタスク管理手段です。
どちらもバックログ(タスクリスト)という点では共通しますが、その対象となる期間やタスクの粒度には明確な違いがあります。
プロダクトバックログは、プロダクトをどのようにしていくか、という全体の方向性を示すものであり、製品完成まで変化し続けるものです。そのため、管理者はプロダクトオーナーであり、完了期間を明確に定めません。
一方でスプリントバックログは、そのプロダクト開発を行う中の1つのスプリントにて行うタスクを管理するものですので、開発チームが管理し、スプリント期間内での完了を想定します。
このように、プロダクトバックログとスプリントバックログは包含関係にあるため、両者を連動させながらプロジェクトを進めていきます。
ここではプロダクトバックログに含まれる要素について、主な項目を4つ紹介します。
これらの項目は、プロダクトの開発および改善に関連するタスクを整理し、優先順位付けを行うための重要な情報です。そのため、バックログの内容は定期的に更新し、常に最新の状況を反映することが大切です。
また、プロダクトバックログは製品の方向性を決めるものですので、メール送信といった一般事務的なタスクについては含まれないことにも留意しましょう。
バグ修正は、リリース済みの機能やコードに存在するバグを修正するための作業です。バグ修正は緊急性を要する場合も多く、開発チームが忘れずに対応すべき項目としてプロダクトバックログの上部に配置されることが一般的です。
技術的負債は、プロダクトの完成度を高めるために後々対応する必要がある追加作業です。プロジェクトを進める上で、本来であれば修正をした方がよいものの、修正せずとも代替手段がある場合や、時間的な制約や予算の不足などの理由で一時的な簡易処置のみを施し、本格的な修正を後回しにするケースも多々あるでしょう。
<ケース:通販サイトで技術的負債が発生する設計>
「ある新商品の料金計算をロジックに組み入れたいが、既存商品の料金計算ロジックを含めて共通的にロジックを修正すると期日に間に合わないため、新商品のロジックを個別に追加してしまおう」といったケースです。
結果、商品種類に依存しない計算ロジック(例えば、送料や消費税などの計算)も含めて複数個所にロジックが実装され、今後のメンテナンス性も下がる、ということが考えられます。
このような場合に、プロダクトの改善の余地を整理し技術的負債として記録しておくことで、本格的な修正を先延ばしにすることを防いだり、将来的な改善や修正を計画することが可能になります。
エピック/フィーチャー/ユーザーストーリーは、顧客やエンドユーザーの視点からプロダクトに求めるものを表します。
内容例 | ||
---|---|---|
エピック | プロダクトに対するより抽象的な要望 | より多くの顧客にアプローチできるような、対話的なアプリを導入したい |
フィーチャー | プロダクトの具体的な機能や機能の一部 | アプリにAIを用いたチャットボットを実装する |
ユーザ―ストーリー | プロダクトがユーザーにもたらす価値 | お客様からの問い合わせに対し、過去事例を元に最も関連度の高い答えを返答する |
プロダクトオーナーは、ユーザー、顧客、ステークホルダーのニーズを十分に把握し、これらの要求をプロダクトバックログに反映させます。
知識獲得は、将来発生するであろう新しいタスクに備えて行う下準備となる作業です。特にユーザーストーリーやエピックに現れた要求を明確化するにあたり、より詳細な情報収集や調査を必要とする場合に、知識獲得タスクが別途作成されることが多いです。また、プロトタイプ、実験(概念実証)といった下位タスクで細分化されることもあります。
これにより、開発チームは新しい要求に対応するための情報やスキルを獲得し、効率的な開発を実現します。
ここでは、プロダクトバックログの作成方法について解説します。
具体的には以下の7つのステップに従うことで、効果的にタスクを整理し優先順位付けを行うことができます。
まず、プロダクトの最終的なゴールを明確に設定します。この際、目標は顧客やエンドユーザーの視点から見て具体的で、かつ計測可能(例:売上が前年比○○%向上)なものであることが重要です。SMARTの法則といったフレームワークを活用することで、効果的なゴール設定が可能となります。
次に、プロダクトゴールを達成するための行動計画であるプロダクトロードマップを策定します。プロダクトオーナー、開発チーム、および顧客などが協力して、どの機能が必要であるかを製品ゴールから逆算しながら検討・策定し、プロダクトの方向性を明確にします。
プロダクトバックログを管理する方法やツールを選択します。紙に書くなど、アナログな管理方法もありますが、今般は更新・共有・保管が容易なデジタルツールを使用することが一般的です。
代表的なアジャイル開発チーム向けのタスク管理/プロジェクト管理ツールとしては、Jira Software(ジラ・ソフトウェア) があります。本製品はグローバルで利用されており、アジャイル開発で欠かせない「プロダクトバックログ」等の管理機能も備わっています。ツールに迷う場合は、是非検討してみて下さい。
アジャイル開発プロジェクト管理ツールJira Software-製品概要|リックソフト
ここでは、チームメンバーや顧客とのコミュニケーションを通じて、プロダクトバックログに含めるべきタスクをリストアップします。顧客からの要件変更や新しい要望があれば、プロダクトオーナーが項目を追加または更新します。
例えば、「従業員の勤怠管理システムを導入するプロジェクト」であれば、以下のようなタスクが考えられます。
< プロダクトバックログ:従業員の勤怠管理システム導入プロジェクト >
カテゴリ | タスクタイトル | 内容 |
---|---|---|
勤怠データの記録と管理 | 出勤と退勤の記録 | 従業員が毎日の出勤と退勤をシステムに記録できる機能 |
勤怠データの記録と管理 | 勤怠データの編集と修正 | 誤って記録された勤怠情報を修正できる機能 |
給与計算と勤怠分析 | 給与計算の自動化 | 勤怠データをもとに従業員の給与を自動的に計算する機能。 |
給与計算と勤怠分析 | 勤怠データの分析とレポート | 勤怠データを分析し、従業員の出勤率、遅刻率、休暇日数などを確認できるレポート機能。 |
タスクが洗い出された後は、タスクの優先順位を設定します。優先順位の決定に当たっては、開発順序、重要性、緊急性などを考慮しながら行います。
優先順位を考える上では、MoSCoW(モスクワ)分析といったフレームワークを活用すると、タスクごとの重要性がわかりやすくなります。積極的に活用しましょう。
優先順序を決めるのに便利なフレームワーク:MoSCoW(モスクワ)分析
< 例:プロダクトバックログ:従業員の勤怠管理システム導入プロジェクト >
勤怠管理システム導入を目的としているので、従業員の勤怠を管理する機能を最優先とし、それに付随する機能は優先度を下げて、プロダクトバックログを作成しています。
カテゴリ | タスクタイトル | 内容 | 優先度 |
---|---|---|---|
勤怠データの記録と管理 | 出勤と退勤の記録 | 従業員が毎日の出勤と退勤をシステムに記録できる機能 | Mo (対応必須) |
勤怠データの記録と管理 | 勤怠データの編集と修正 | 誤って記録された勤怠情報を修正できる機能 | Mo (対応必須) |
給与計算と勤怠分析 | 給与計算の自動化 | 勤怠データをもとに従業員の給与を自動的に計算する機能。 | S (対応すべき) |
給与計算と勤怠分析 | 勤怠データの分析とレポート | 勤怠データを分析し、従業員の出勤率、遅刻率、休暇日数などを確認できるレポート機能。 | Co (できれば対応すべき) |
最後に、各タスクの完了および達成の基準を明確に設定します。(受け入れ基準と呼ばれます)
これにより開発チームと顧客との認識のずれを防ぐことができる他、修正対応時にも内容の把握が容易になり対応を効率的に進めることができます。
上記の例に受け入れ基準を追記すると、例えば以下のような形になります。
どのような機能ができていれば完了となるか、を明確にすることが大切です。
■< プロダクトバックログ:従業員の勤怠管理システム導入プロジェクト >
カテゴリ | タスクタイトル | 内容 | 優先度 | 受け入れ基準 |
---|---|---|---|---|
勤怠データの記録と管理 | 出勤と退勤の記録 | 従業員が毎日の出勤と退勤をシステムに記録できる機能 | Mo (対応必須) |
従業員が出勤と退勤を正常に記録でき、データはデータベースに正確に保存される |
勤怠データの記録と管理 | 勤怠データの編集と修正 | 誤って記録された勤怠情報を修正できる機能 | Mo (対応必須) |
従業員が誤って記録された勤怠情報を修正でき、変更履歴が保存される |
給与計算と勤怠分析 | 給与計算の自動化 | 勤怠データをもとに従業員の給与を自動的に計算する機能。 | S (対応すべき) |
勤怠データをもとに正確な給与が計算され、給与明細が生成される |
給与計算と勤怠分析 | 勤怠データの分析とレポート | 勤怠データを分析し、従業員の出勤率、遅刻率、休暇日数などを確認できるレポート機能。 | Co (できれば対応すべき) |
勤怠データから生成されたレポートが正確に出力され、従業員の出勤率、遅刻率、休暇日数などが適切に表示される |
プロダクトバックログは、一度作成したら終わりではありません。
プロダクトバックログの内容は定期的に見直しを行い、開発の進捗状況や顧客からの要望に応じて更新します。項目の更新だけでなく、優先順位も見直すことで、プロジェクトの方向性を最新の状況に合わせて調整します。
見直しの頻度についてはプロジェクトに応じて様々ですが、スプリントが終了する毎に開発の進捗状況やユーザーのニーズを反映させるのが一般的です。
見直しを行う場合も、プロダクトオーナー、開発チーム、および顧客の間で打ち合わせなどを行い、プロダクトの方向性について認識を合わせながら行います。
プロダクトバックログを導入する際に最も注意するべき考え方は、『作成だけでなく更新が重要なプロセスである』という点です。
この考え方をベースにしつつ以下の注意点を守ってプロダクトバックログを運用することで、プロジェクトの成功に大きく寄与することができます。
プロダクトバックログを“単なるTODOリスト”として認識し、優先順位を決めないままリストを積み重ねた結果、プロダクトを開発する上で重要な要求や改善が無視され、バックログが膨れ上がり、プロジェクトが遅延する結果に繋がってしまいます。
プロダクトバックログは、“そのプロジェクトで優先してやるべきことは何か”を明確にすることに大きな意味を持ちます。この本来の目的に沿ってプロダクトオーナーや顧客と継続的なコミュニケーションを取り、プロダクトバックログ内の項目に対する優先順位やタスクを明確にすることが運用する上では非常に大切です。
プロダクトバックログはアジャイル開発プロジェクトの中核を成す要素の一つであり、プロダクトの方向性を示すものです。
上手に活用することで、アジャイル開発プロジェクトの効率化と成果の最大化をもたらすことができます。本記事で紹介した内容を基に、正しく作成し、上手に運用を行いましょう。
プロダクトバックログの作成・管理には、Excelなどの表管理ソフトやホワイトボードに羅列する方法もありますが、プロダクトバックログが搭載されたタスク管理/プロジェクト管理ツールを活用することで、効率的に作成・運用が可能です。
Jira Software(ジラ・ソフトウェア) は、ドラック&ドロップで優先順序を入れ替えることができるプロダクトバックログが備わっています。作業見積もりに関わるストーリーポイントの設定、バーンダウンチャートなど、アジャイル開発プロジェクトをサポートするための包括的なツールとしてグローバルに広く利用されています。
アジャイル開発プロジェクト管理ツールJira Software-製品概要|リックソフト
リックソフト社では、Jira Softwareの導入事例も豊富ですので、アジャイル開発を行いたいがどのようなツールを使っていけばわからない、といった悩みがある場合は、お気軽にご相談下さい。
【監修】
リックソフト株式会社
小田倉晃