アジャイル開発における「スプリントプランニング」とは?
スプリントプランニングについてこんな疑問をお持ちの方は多いのではないでしょうか?
- スプリントプランニングの目的や必要性がわからない
- スプリントプランニングの進め方がわからない
- スプリントプランニングで気をつけるべきことがわからない
上記のような疑問にお応えしていきます。
今回の記事を読めばこれがわかる!
☑️ スプリントプランニングの目的と重要性 ☑️ スプリントプランニングの流れとやるべきこと ☑️ スプリントプランニングの失敗事例と改善点
今回は、アジャイル開発におけるスプリントプランニングの目的や重要性から、具体的な進め方や気をつけるべき点までご紹介いたします。
※アジャイル開発の基本情報については これを読めばわかる!アジャイル開発基本用語集もぜひ併せてご覧ください!
目次
スプリントプランニングとは?
スプリントプラニングとは何か?
スプリントプランニングとは「スプリントでプロダクトを開発するために、何を、どのように行うかを決める一番始めに実施するミーティング」のことです。
そのミーティングの中で決めた目標、つまりシステムがどのようにユーザーの要望に応えるかということをユーザーストーリーといいます。
スプリントとは開発チームが一定量の作業を完了させる際の、短く区切られた期間の事です。
1スプリントの期間は1〜4週間ですが、この記事では1週間の流れを例にして解説していきます。
ミーティング内の具体的な議題には、プロダクトバックログ(プロダクトの作成・改善の為の項目をリストアップしたもの)から優先度が高いものを選び、それらをスプリントバックログ(スプリント期間中に完成を目指すもの)に入れていきます。
そしてそれらを改めて細かく分析し、開発にかかる工数を含めた細かな作業内容まで落とし込み、担当を割り振っていきます。
スプリントプランニングでは開発する項目を選ぶだけでなく、実装する方法も検討されます。
この点で単なる計画の立案にとどまらず、設計も行うことが特徴です。
スプリントプランニングの目的・必要性
- スプリントプランニングの目的
プリントプランニングの目的は、スプリント内で達成すべき目標や作業内容を定義することです。
最初の計画段階にあたるスプリントプランニングは、そのスプリントの成否を決める工程であると 言えます。
- スプリントプランニングの必要性
スプリントプランニングが重要な理由は、スプリントを開始する前に作業内容や目標を理解するための重要な機会となるからです。
開発のタスクを細分化する過程において、今の開発チームでの実装可能性や設計等、精度の高い作業見積りと見通しを示すためにも、必要な工程です。
スプリントプランニングをしっかり実施することで事前に十分な検討を行うことができ、スプリントでの手戻りを防げます。
また、開発に関わる全員が共通認識を持つ重要な機会でもあります。
スプリントプランニングにはクライアントやPM(プロジェクトマネージャー)、*BA(ビジネス・アナリスト)などマネジメント層だけでなく、エンジニアやデザイナーなど開発に関わる全員が参加します。
そのため、全員が共通認識を持った上でスプリントの実装工程に入っていくことができます。
*ビジネスアナリスト(Business Analyst、通称 BA)
プロジェクトのスタートからリリースまで、クライアントの要望を聞き、開発の各専門家と相談しながら作るものの内容を具体化していく役割をもつメンバーです。
- スプリントプランニングがもしなかったら…?
ストーリーの優先度と仕様の内容に対する認識齟齬が発生する可能性が高まります。
もしスプリントプランニングを実施せずに共通認識を持たないまま走り出した場合、スプリント開始後に開発の手戻りが発生したり、見積の大きな誤差などが発覚するリスクがあります。
スプリントプランニングの実施手順
弊社のオフショア開発案件を例に、スプリントプランニングの参加者と役割・流れについて解説します。
スプリントプランニングの参加者と役割
スプリントプランニングに関わるメンバーは開発プロジェクトに関わる全員です。
PO、 BA、PM、 エンジニア、QCが参画します。
- PO(Product Owner)
プロダクトの方向性を定める責任者で、プロダクトに対する最終決定権を持ちます。
開発を成功へ導く鍵はプロダクトオーナーが握っています。
弊社のオフショア開発案件の場合、このポジションはクライアントであることが多いです。
- BA(Business Analyst)
PO・開発チーム両者と連携し、情報の橋渡し役を担います。
スプリントプランニングにおいては、ストーリーの優先度づけサポート・要件定義や開発チームからの質問の吸い上げ・提案などを行います。
- PM(Project Manager)
開発チームの管理(進捗管理・リソース管理・モチベーション管理)を担当します。
スプリントプランニングにおいては、開発チームの意見をとりまとめリードし、実際の計画に落とし込む役割となります。
- エンジニア
プロダクトの機能開発の実装を行います。
スプリントプランニングでは、ストーリーから細かな実装のタスクへのブレイクダウン作業を行ったり、仕様に対して技術的な見解から意見を出したりします。
- QC(Quality Control)
プロダクトの品質を管理する役割です。
品質を担保するためのあらゆる種類のテストを実行します。
スプリントプランニングでは、仕様に関してよりユーザーに近いテストの観点から質問や提案を行います。
スプリントプランニングの流れ
弊社で実施しているスプリントプランニングの流れは、おおまかに下記のとおりです。
- 次のスプリントで着手するストーリーの優先度と内容の最終確認
POであるクライアントとBAが、次のスプリントで着手するストーリーを選定し、選定されたストーリーの仕様を再確認します。 - BAから開発メンバーへ決定したことを共有
BAが開発チームに選定されたストーリーを伝えます。 - 質疑応答
大抵の場合、チームからストーリーや仕様に対しての質問が発生します。
BAが吸い上げ・適切にとりまとめてPOと連携し、方向性を確定していきます。 - ストーリーをタスクに落とし込み見積もりを行う
すべての疑問点・懸念点が解消された後、開発チームはストーリーを実装するための細かなタスクにブレイクダウンしていきます。
同時にタスクごとの見積もりを行い、PMがそれをスプリント計画・スケジュールに落とし込んでいきます。 - 対応するストーリーの見積もりから、スプリント内でやれることが超過もしくは不足していないかを最終確認
見積もりと計画が終わったら、BA・POは計画を再度見直し、スプリント内で行われるタスクに過不足がないかを確認します。 - 全員の合意に至ったら、終了
スプリントプランニングの失敗事例と改善点
スプリントプランニングにおける事例について、今回は過去10プロジェクト以上のアジャイル開発経験を持つ弊社のヒコさんにインタビューしました。
失敗事例
失敗例として、QCがテストに着手するタイミングをスプリントプラニングで落とし込むことができず、プランニングで計画したストーリー全てを消化することができなかったという事がありました。
解決策
解決方法として彼がメンバーと相談し出した結論は、プランニングをする際に各タスクに対するエンジニアの実装完了の日時を明記することを徹底してルール化することでした。
これによってQC自身が自分がいつまでにテストを開始しなければならないかを逆算することができ、
チーム全員がスプリントの期間と開発スピードへの意識を高く持つことができ、結果的にスプリント内で計画したストーリーを完了させられる確率がグッと上がりました。
失敗を防ぐために〜スプリントバックログの活用〜
「スプリントプランニング」には「スプリント内で何を達成するか決める準備」という目的に加えて、「メンバーが役割とタスクをその場で確認することができ、認識齟齬の防止と無駄なく目的に合った成果物を作成する」という役割があります。
完成を目指す作業アイテムをリストアップし、開発をスムーズに進めるためには、スプリントバックログを活用します。
明確なスプリントバックログがあると、各スプリントの中にチームがやること、やらないことが明確になり、プロジェクトが進行するにつれ当初の目的と異なる失敗の発生を防げます。
まとめ
今回はスプリントプランニングについて解説しました!
スプリントプランニングはアジャイル開発の中で、スプリントゴールを達成するための計画段階であり、必要不可欠なイベントです。
正しくスプリントプランニングを行い、アジャイル開発を成功させるためのヒントになれば幸いです!
Enlytについて
株式会社Enlytはベトナムに開発拠点SupremeTechを持ち、Enlytではこれまで50以上の開発プロジェクトを行ってきました。( 株式会社Enlytの実績は開発実績ページから)ベトナムと日本のグローバルなチームで、数多くのプロジェクトを成功に導いてきました。
アジャイル開発をご検討の際は、株式会社Enlytまでご気軽にお問合せください!お客様の納得のいくまで、共に開発させていただき、アイデアを最高のかたちにサービス化いたします。
下記ボタンより気軽にお問合せください!