DXへの取り組みが加速し、多くの業界でシステム化が進められています。またシステムの導入においても、クラウドサービスやソフトウェアシステムなどがメインになるにつれ、プロジェクトに関わる人物の数も増えてきました。
こうしたシステム開発のプロジェクトにおいては、システムそのものの要件や進め方なども非常に重要です。ひと口に「システム開発」と言っても、開発手法にはさまざまなものがあり、プロジェクトの状態や開発するサービスの内容によっても異なります。
今回はそうした開発手法の中から「スクラム開発」に焦点を当て、その中でキーとなる「スプリントバックログ」の概念についてご紹介します。スプリントバックログとは、スクラム開発における3つの作成物のひとつであり、作業を細分化してリストアップしたものです。取り組むべき作業を細分化していることが特徴であり、これがスプリントバックログを採用する1番のメリットでもあります。
この記事では、スプリントバックログの概要や活用シーン、目的や「プロダクトバックログ」との違いなどをご紹介します。
スクラム開発とは
スクラム開発とは、開発者がチームを組んで作業を分担する開発手法のことです。アジャイル開発のひとつであり、修正や仕様変更などに柔軟に対応できるメリットがあります。
今回ご紹介する「スプリントバックログ」は「プロダクトバックログ」「インクリメント」と並び、スクラム開発における3つの作成物です。
スクラム開発はアジャイル開発のひとつ
前述の通り、スクラム開発とは開発者側がチームを組み、タスクを分散して行うアジャイル開発のことです。
「プロダクトオーナー」がバックログの管理を行い「スクラムマスター」が「スクラムチーム」のサポート役を行うなど、役割を分担してひとつの作業を細かく分けて行うことから、チームのコミュニケーションやチームワークが重要な開発手法となっています。
ウォーターフォールの開発は、開発の計画が立てやすく見積もりが容易であるというメリットがありますが、修正や変更への柔軟な対応には時間がかかってしまうケースが多いなどのデメリットも抱えています。
一方、スクラム開発を含むアジャイル開発は仕様変更などに強く、サービスの提供までのスピードが早いのも魅力です。ゴールをしっかり見据えて、デイリースクラムなど各会議における定期的なコミュニケーションさえ欠かさなければ、受注側・発注側、両者にとってメリットのある開発手法であると言えます。
スクラム開発の流れ
スクラム開発を行うには、まず「プロダクトオーナー」や「スクラムマスター」などの役割を決めます。一見不要に思われがちな役割決定ですが、スクラム開発はスプリントごとに何度もタスクの管理を行うため、混雑しないように丁寧に管理する必要があります。
次は、成果物の完成予想図である「プロダクトバックログ」の作成です。ここで大まかなイメージを共有した後は「スプリント計画」を立て、スプリントを開始します。
各スプリントが完了したら「スプリントレビュー」や「レトロスペクティブ」といった会議を行い、完成した機能のクオリティや環境の変化などを話し合います。
これらを繰り返していくことで、少しずづ成果物を開発するのがスクラム開発のやり方です。
スクラムの価値基準
スクラムガイド2020によると、スクラムの成功には次の5つの価値基準を実践できるかどうかが重要です。これらはスクラムチームの作業・行動・振る舞いの方向性を提示しており、信頼関係の構築や効率の良い開発には欠かせない要素となっています。
・確約(Commitment)
ゴールを達成し、お互いにサポートすることを確約する。
・集中(Focus)
ゴールに向けて可能な限り進捗できるように、スプリントの作業に集中する。
・公開(Openness)
スクラムチームとステークホルダーは、作業や課題を公開する。
・尊敬(Respect)
お互いに能⼒のある独⽴した個⼈として尊敬し、⼀緒に働く⼈たちからも同じように尊敬される。
・勇気(Courage)
正しいことをする勇気や困難な問題に取り組む勇気を持つ。
スクラムについてはこちらで解説しております。合わせてご覧ください。
アジャイル開発とスクラム開発の違いとは?それぞれの開発手法について特徴やメリット、その関係性について解説
スプリントバックログとは
スプリントバックログとは、成果物を完成させるための計画を1回のスプリントごとに決定した計画表のようなものです。スプリントとは日本語で「短距離走」という意味を持ち、基本的にスプリントバックログにおけるスプリントは、1週間~2週間を1回と設定します。
スプリントごとの目標は「スプリントゴール」といい、それに従ってスプリントバックログを作成するのが一般的です。
スプリントバックログの活用シーン
スプリントバックログは、作業を細かく区切っているため不具合の早期発見・修復が可能です。つまり、開発期間の短縮や開発費用の削減に役立ちます。
また、顧客の意見に対して柔軟に対応できるのも魅力といえるでしょう。開発期間の短縮を求められたり、開発にかかるコストを削減したり、顧客の意見に対して柔軟に対応することが求められるケースにおいては、スプリントバックログのメリットを最大限に活かすことが可能です。
具体的には、スムーズな対応が重要な「toC向けサービス」や目標が明確な「アプリ開発」などに向いています。反対に、複雑なシステムや全体が見えづらい「大規模な開発」には向いていません。
プロダクトバックログとの違い
プロダクトバックログとは、求められている機能や改善すべき物事に対して長期的な優先順位をつけたリストのことです。プロダクトバックログには「プロダクトゴール」「プロダクトバックログアイテム」という2つの要素が含まれています。
プロダクトゴールは、いわば「完成予想図」のようなものです。一般的には「ユーザーがプロダクトを用いて~できるようにする」といった形で設定します。また、プロダクトバックログアイテムとは、プロダクトゴールを実現するために必要なものをまとめたもののことを指します。
プロダクトバックログの特徴 |
スプリントバックログの特徴 |
全体の工程に焦点を当てている |
スプリントの目標達成に焦点を当てている |
制限時間はない |
決められた期間内に完了する |
PO(プロダクトオーナー)がバックログを管理 |
タスクごとに開発チームがバックログを管理 |
イメージとしては「夕方までにカレーを作る」というプロダクトゴールに応じて、人参やじゃがいも、ルーなどを用意します(プロダクトバックログアイテム)。この場合のスプリントバックログは野菜の下ごしらえをしたり、ルーを投入したりすることです。家族の気分(顧客の意見)に応じて肉じゃがやシチューに変更(柔軟に対応)することもできます。
プロダクトバックログについてはこちらで詳しく解説しております。合わせてご覧ください。
プロダクトバックログとは?作成・メンテナンスのポイントを解説
スプリントバックログの目的
担当者や目標、実現方法など、取り組むべき課題をプロダクトバックログよりも詳細に設定することがスプリントバックログの目的です。スプリントバックログは情報共有が重要であり、チーム全員が目標を理解した状態で作業に取り組めることが、スプリントバックログを作成するメリットと言い換えることもできます。チームとしての連携が強化されるため、生産性が向上して開発期間の短縮につなげることも可能です。
また、朝会など情報共有の時間を削減できる分、作業に時間をかけることも可能です。さらに、チームで作業することを前提としているため、人材育成にも役立ちます。
スプリントバックログに含まれる要素
ここでは、一般的にスプリントバックログに含まれている要素をご紹介します。
・ユーザーストーリー
エンドユーザーの視点から見た完成図のことを表します。たとえば「ユーザーがログインできるようにする」や「オンライン決済ができるようにする」などが挙げられます。
・タスク名
各スプリントタスクの名称のことです。たとえば「周辺環境の整備」や「トップ画面を作成する」などが挙げられます。
・タスクの説明
各スプリントタスクの説明のことを表します。「周辺環境の整備」であればサーバーを立てたり、ドメインを取得したり、といった作業を行うための説明です。
・タスクの優先度
各タスクの相対的な優先度を表します。トップ画面を先に作成しても、それを開く環境が整っていなければ活用できないので、必然的に優先順位が決まります。
・スプリントのバーンダウンチャート
残っている仕事とその仕事にかかる時間を示すグラフのことです。どんな仕事が残っているのか確認したり、その仕事を終えるにはどれくらいの時間が必要なのかを確認したりすることが可能です。
バーンダウンチャートについてはこちらで詳しく解説しております。合わせてご覧ください。
バーンダウンチャートとは?メリットや作成方法、導入時の注意点を解説
・1日の時間割当
各タスクの完了にかかる時間を計算したものです。各タスクの所要時間を分析した後、これを元にバーンダウンチャートを作成します。
スプリントバックログの作り方
プロダクトバックログの場合はプロダクトオーナーやスクラムマスターなどと話し合って決定しますが、スプリントバックログの場合は作業者間で作成します。大まかな骨組みとしてスプリントゴールを設定し、それに肉付けするようなイメージでタスクや作業にかかる時間を設定します。
所要時間を設定する際には、計画のズレをなくすためにもメンバーの平均的なスキルにおける見積りを設定すると良いでしょう。
スプリントバックログの作成タイミング
基本的にはプロジェクトを開始した直後、プロダクトバックログを作成した後に作業者がスプリントバックログを作成します。各タスクを調整することはあっても、スプリントバックログ自体を変更することはありません。
また、タスクの完了後にプロダクトの品質を統一するためにも、スプリントバックログ作成時点で「完成」の定義を定めておくことも重要です。たとえば動作テストのクリアといった条件を設けたり、ダブルチェックを実施したりするなどの対策が挙げられます。
スプリントバックログ作成の手順
まずはスプリントゴールを提示し、それを完成させるために必要な作業をタスクとして洗い出しましょう。これは「スプリントバックログアイテム」とも言います。たとえば「ユーザーがログインできるようにする」というスプリントゴールが提示されている場合「トップ画面を表示できるようにする」「情報を入力できるようにする」などの作業がタスクとして挙げられます。
カレー作りの例を用いると「野菜を鍋に投入できるように準備する」というスプリントゴールに対して「ジャガイモを洗う」「人参を切る」といったタスクが発生するのです。
より良いスプリントバックログにするために
スプリントバックログをより良いものにするためには、タスクの細分化やスプリントレビューなどによる計画の見直しなどが大切です。スクラム開発に慣れるまでは、想定していた作業時間と実際にかかった時間に差が生まれることも少なくありません。その度に話し合い、少しずつ改善していくことが重要です。
タスクを細かく区切る
スプリントバックログをより効果的に設定・活用するには「タスクを可能な範囲で細分化」しておくことが重要です。
たとえば1日以上かかるタスクは設定しない、タスクの作業時間と作業者の作業時間をスキルに応じて調節する、などの工夫ができるとタスクがスムーズに進みます。スプリントバックログを作成する大きなメリットである、不具合や変更などへの対応を柔軟に行うためにもタスクを細かく区切ることは重要です。
また、役割分担やゴールを明確にしておくことも大切でしょう。たとえば、スプリントゴールを「ユーザーがログインできるようにする」と設定すれば、ユーザー目線という客観的な目標設定になるため、どんな作業者でも同じイメージを共有できます。
見直しも大切
各スプリントが終了したら「スプリントレトロスペクティブ」や「スプリントレビュー」を行います。
スクラムガイド2020によると、スプリントレトロスペクティブとは「個⼈、相互作⽤、プロセス、ツール、完成の定義に関して、今回のスプリントがどのように進んだかを検査する」と定義されています。
またスプリントレビューは「スプリントの成果を検査し、今後の適応を決定すること」が目的です。どちらも、スプリント間に起こった出来事に対してうまくいったことや問題点などを話し合うことで、次のスプリントの改善に役立てるものと言えます。
理想的にスプリントごとの目標を達成するためには、各スプリントの終了後にしっかりと見直しを行うことが重要です。
スプリントレトロスペクティブについてはこちらでも解説しております。合わせてご覧ください。
スプリントとは?アジャイル開発やスクラムとの関係性、メリットを解説
まとめ
スプリントバックログとは「スクラム開発」における作成物のひとつで、スプリントゴールを骨組みとしてタスクを設定し肉付けするなどの作業を繰り返すための計画表のことです。一般的に、1週間~2週間を1回のスプリントとして作業を行います。
チームでの作業が前提の開発手法であるため、信頼関係の構築に役立つことはもちろん、不具合や変更などに対して柔軟な対応ができる点が魅力です。また、こうした環境こそスプリントバックログを活かすポイントでもあります。
スプリントバックログは計画的なリリースを実現するためのスコープ管理、進捗管理に適していますが、プロジェクトの成功という観点においてはリソースや原価などを統合的に管理する必要もあります。
- カテゴリ:
- アジャイル開発
- キーワード:
- スクラム