スクラム開発における代表的な工程として、「スプリントプランニング」があります。これはスプリントがうまくいくかどうかに影響する重要な工程で、特にプロダクトオーナーや開発者は、スプリントプランニングの実施手順や役割などを詳しく把握する必要があります。
この記事では、スクラムにおけるスプリントプランニングの役割や実施の手順についてご紹介します。
スプリントプランニングとは
スプリントプランニングとは、スプリントのゴールを話し合い、そのゴールを達成するために必要な作業を計画するイベントのことです。
スプリントプランニングでは、これから実施するスプリントでユーザーにどんな価値を提供するか話し合い、それを実現するためのプロダクトバックログアイテムを決定し、どのように進めるか、どのくらい時間がかかるかを見積ります。
アジャイル開発とは数週間から数か月程度の短いスパンで開発を行う、ソフトウェアの開発方法です。そして、アジャイル開発の中でチームを構成して、担当するタスクをメンバーに割り振る開発方法をスクラムと呼びます。
そのスクラムを確実に達成するために行うタスクがスプリントです。スプリントは5つのスクラムイベントに分けることができ、その中で最初に実行するスクラムイベントがスプリントプランニングになります。
スプリントプランニングにおいて話し合う内容は、スプリントのゴールやそのゴールを達成するために必要な作業の内容などが主となります。スプリントプランニングにおける具体的な議題は以下の事項です。
- 開発にかかる時間や求められるスキル
- 活用可能なリソース(開発チームのメンバーなど)
- 開発する項目(スプリントバックログ)の抽出
- スプリントの目標(スプリントゴール)、行うべき作業内容や進め方
- タスクの設定、開発メンバーへの割り当て
上記に挙げた内容のほか、実装する方法についても検討します。ただ計画を立案するのではなく、同時に設計も行うことが特徴です。
このステップにおいて、これから実施するスプリントでユーザーにどのような価値を提供するかを話し合います。そして、それを実現するためのプロダクトバックログアイテム(PBI)を決定し、実行方法やそれに必要な時間を見積もるのです。ちなみに、このミーティングにはプロダクトオーナーだけでなく開発メンバーも参加します。
スプリントについてはこちらの記事でも解説しています。
スプリントとは?アジャイル開発やスクラムとの関係性、メリットを解説
スプリントプランニングはスクラムイベントのひとつ
スクラム開発では4つのイベントを「スクラムイベント」と呼んで正式なイベントとして定義しており、まとめて「スプリント」と呼びます。スプリントは4つのイベントを包含する入れ物と考えると分かりやすいでしょう。スプリントプランニングはスクラムチーム全体でスプリントの作業計画を立てるもので、スプリントにおいて「何を、何のために、どのようにして作るか」を明確にします。
スクラム開発の4つのイベントとは
- スプリントプランニング
スプリントプランニングとは、スプリントの最初に行うイベントで、スクラムチーム全体でスプリントの作業計画を立てることです。 - デイリースクラム
デイリースクラムとは、作業計画に基づいてスプリントゴールに対する進捗を検査し、適宜スプリントバックログを適応させることです。 - スプリントレビュー
スプリントレビューとは、スプリントの最後から2番目に行われるイベントであり、今回のスプリントのインクリメント(完成の定義を満たし、リリース可能な成果物)をステークホルダーに提示し、プロダクトゴールに対する進捗についてレビューすることです。 - スプリントレトロスペクティブ
スプリントレトロスペクティブとは、スプリントの最後のイベントであり、スクラムチームで今回のスプリントがどのように進んだかを検査することです。
スプリントプランニングの目的
スプリントプランニングはスクラム開発において重要なイベントです。その理由はスクラム開発の特性にあります。
一般的に、スクラム開発ではスプリントが一度始まると途中で仕様変更や仕様の追加は認められず、中止することも原則できません。最初の計画段階にあたるスプリントプランニングで決定された内容が成否を左右します。
このスプリントプランニングの目的は、スプリントの目標となるスプリントゴールの明確化です。例えば勤怠管理を自動化・簡略化したい場合は、「利用者が社員番号で勤怠登録システムにログイン可能とする」ことがスプリントゴールです。
また、スプリントプランニングを行う目的を別の切り口から考えると、これから始まるスプリントの作業内容やその目標を各々が理解することを助ける側面もあります。タスクを分割する工程では、現在のスクラムチームの実装可能性や設計、作業見積もりなどが実施されるほか、メンバーそれぞれが自分の役割とタスクの確認を行います。この工程を踏むことで、認識のズレ防止や作業のロスカットにも寄与してくれるのです。
スプリントプランニングの基礎
スプリントプランニングとはどのような工程であるのか、基礎的な部分を理解することも重要です。以下にスプリントプランニングにかける時間や対象となる参加者、参加する目的についてご紹介します。
スプリントプランニングにかける時間
適切なスプリントプランニングに必要な時間はスプリント全体の期間の長さで決まります。
スプリントの期間が短ければスプリントプランニングも短くて済み、スプリント期間が1週間の場合のスプリントプランニングは2時間程度で十分です。スプリントプランニング後に作業時間の予定超過が頻発している場合は、スプリントプランニングでの見込みが不十分であった可能性があります。場合によっては再計画の策定と実行が必要となり、時間と社内資源の大幅なロスが発生しかねません。スプリントプランニング中は綿密な検討を行うようにしましょう。
なお、スクラムガイドによれば、1ヶ月単位のスプリントで最大8時間の時間をかけてスプリントプランニングをするとされています。そのため、1週間スプリントであれば2時間、2週間スプリントであれば4時間をかけて行うことが望ましいといえます。
スプリントプランニングの参加者と目的
スプリントプランニングでは、スプリントを実行するためにプロダクトオーナー・開発チーム・スクラムマスターを配置して行います。プロダクトオーナーと開発チームは、たとえメンバー数が少なくても必ず設置し、原則担当を兼務させないようにしましょう。
・プロダクトオーナー
プロダクト開発の責任者です。開発するプロダクトの価値を最大化させるために、作業の優先順位付け、計画の立案、開発チームが開発した成果物への合否判断などを行います。状況に応じて実行中のスプリントを中断する権限も備えています。
・開発チーム
スクラムチームのうち、実際にプロダクトを開発するメンバーです。効率と効果を発揮するためには、開発チームの作業を自ら構成・管理する体制と権限が必要です。
・スクラムマスター
スクラムの促進と支援に対する責任者です。スクラムチーム全員に対して、スクラムの理論・ルール・価値基準の理解促進や実施支援を行います。また、スクラムチーム外の人々にスクラムに対する理解を得る活動や、チーム外からのスクラムチームの生産性向上を促す変化を起こす働きかけも、スクラムマスターの仕事です。
ちなみに、場合によってはステークホルダーを置くことで、プロダクトに対する反応をより的確に把握することができるケースもあります。ステークホルダーとはスクラムチームメンバー以外の、プロダクトに対して利害関係を持つ関係者です。プロダクトのユーザーやスポンサー、同社内のスクラムメンバー外の上司や他部門社員が対象となります。
スプリントプランニングの手順
続いて、スプリントプランニングの実行手順についてご紹介します。
スプリントプランニングの準備
プロダクトバックログ(PBL)に着手できる状態を「準備完了(Ready)」と呼びます。
- プロダクトバックログアイテム(PBI)がスプリントの期間内で完成できる状態であり、受入案件が定義されていること
- PBIの見積もりがされていて、実現したい機能要件が明らかになっていること
上記2点が揃って、はじめて準備完了となります。この準備が完了しなければ、スプリントを開始することはおすすめできません。無理にスプリントを進めれば、レビューや仕様確認でトラブルになる原因になり、生産性の低下を招いてしまうでしょう。プロダクトオーナーがPBLの意味や進め方を理解できていない場合や、PBLの精査に着手できなかった場合は特に注意が必要です。
仮に前者のようなケースが生じた場合には、スクラムマスターがプロダクトオーナーを指導します。後者の場合は、開発チームがPBL作成の支援に入って、スプリントのなかで次のスプリントに向けたスプリントバックログの検討作業を行う「リファインメント」という作業を行って解決を目指します。なお、リファインメントに多くの時間を割きすぎてはいけません。あくまで全体作業の10%以下に抑えましょう。
スプリントゴールの共有
次に、プロダクトオーナーが今回のスプリントゴールを宣言し、それを共有します。スプリントのなかで達成すべき目標のことを「スプリントゴール」といいます。スプリントゴールは、スプリント内で完了できる規模のものを設定します。
この作業はプロダクトオーナーと開発チームが合同で行います。このため、プロダクトオーナーと開発者の参加は欠かせません。
プロダクトオーナーはスプリントゴールを宣言した後、実施したいプロダクトバックログアイテム(PBI)の内容と受入条件を説明し、開発者は不明点を質問します。開発者全員でPBIに対するストーリーイベントを見積もり、過去のベロシティとポイントの見積もり結果から開発スコープの仮決定を行います。
なお、ベロシティについてはこちらの記事で詳しく解説しています。
アジャイル開発で活用されるベロシティとは?活用方法や誤った使い方も解説
スプリントバックログの作成
目標とスコープ設定の完了後に、プロダクトバックログを完成させるためのタスクを精査します。ここで出てきたタスクをスプリントバックログとして管理します。
スプリントバックログでは、作業詳細ごとにアイテムを作成したうえでそれらの規模を決めていきます。規模は大きくても1日以内で完了できるように細かく作業を分解します。
タスクの整理が完了した後は担当者の割り当てを行います。スクラムに慣れていないメンバーに対しては規模に余裕のあるタスクを割り当てるようにしましょう。スクラムに慣れているメンバーの作業ペースに合わせても遅れが発生することがあるため「スプリントが終わらない」という事態を回避するために調整を行います。
スプリントバックログについてはこちらでも詳しく記載しております。
https://products.sint.co.jp/obpm/blog/sprint-backlog
スプリントの開始
続いて、スプリントを開始する前に開発のリハーサルを行いましょう。開発の環境やルールに問題がないかを試験的に確かめる必要があります。この状態を「スプリントゼロ」といい、スクラムの一連の流れを行って問題点がないか否かを確認します。スプリントゼロの期間は短くても構いません。
スプリントを開始するまでの手順として、まずスクラムイベントの参加時間を算出し、プロダクトバックログアイテムの実施時間とスクラムイベントの参加時間を足した時間より、スプリント稼働時間が長くなるかどうかを確認します。その後、キャパシティ内に収まるように開発スコープの調整を行いましょう。最後に、プロダクトオーナーと開発者の間でスプリントゴールと開発スコープの合意ができたら、スプリントを開始します。
スプリントプランニングのポイント
スプリントプランニングを実施する際に、気をつけなければならないポイントがいくつかあります。
ここからは注意すべき3つのポイントをご紹介します。
スプリント内で完結する作業量にする
スクラムにおいては、1つのスプリントのなかで作業を終了させることが重要です。未完了のタスクを次のタスクで行うといったことは避けましょう。
この条件で作業をするためには、それぞれのタスクの作業量を正確に見積もる必要があります。開発者に担当させるタスクの粒度が粗く、ひとつのタスクを終わらせるのに数日を要するような状態では、作業の進捗状況によって振れ幅が広がってしまいます。長くても1日以内に完結できるようにタスク分解をしましょう。
スプリントバックログの内容を適切に把握しておく
担当者が作業内容を理解するためにも、プロダクトオーナーと開発者の間で十分な対話を行うことも大切です。ただ漫然と作業内容を聞くだけではなく、作業の目的や背景といった部分を理解することで、期待された価値ある機能を提供できるようになるでしょう。
開発チームはただ指示を待つだけでなく、価値ある機能を提供できるように知恵を絞る必要もあるのです。また、「分からなくなったら、開発途中に聞こう」という考えは捨てましょう。プロダクトオーナーへの確認は時間を要するケースも多く、タスクの規模見積もりにも影響を及ぼすためです。
スプリントゴールを明確にする
スプリントゴールを明確にすることも重要なポイントです。スプリントの終了後に行うスプリントレビューでは、実装が完了しているかの確認を行います。このときに何ができれば完了なのかを明確にしておきましょう。ゴールが不明瞭なまま実装確認をすると、開発チームが何を目指して作業にあたればいいのか分からなくなってしまいます。
併せて、完了条件を計画段階で決定することも重要で、これによってメンバーの目的意識の統一が図れます。完了条件を決めないまま作業を進めると、最後の段階で想定外が発生する可能性があるため注意しましょう。
まとめ
今回はスプリントプランニングをテーマに、概要やポイントをご紹介しました。スプリントプランニングは、スプリントの成否を分ける重要な作業といえます。スプリントプランニングをうまく実行するためには、プロダクトオーナーや開発者、スクラムマスターといった参加者がスプリントプランニングの意味や手順などをしっかりと理解する必要があります。
弊社が過去に実施した「アジャイル開発のプロジェクト管理手法」セミナー(講師:弊社会長梅田)の講演資料を公開していますので、こちらもぜひご覧ください。
- カテゴリ:
- キーワード: