すべてが常に、予定通りに進んでいく。なんて完璧な世界でしょう!
開発チームに所属されている方やプロジェクトマネージャーの方は既によくお分かりの通り、開発プロジェクトではストーリーポイントや製品ローンチまでのスプリント数を把握することがとても重要になります。そして、そのプロジェクト管理の核ともいえるのが「アジャイルリリースプランニング」です。
結局のところ、どんなに優秀なスクラムマスターや有能なチームメンバーであっても、ソフトウェア開発は長期的な見通しが立てにくいため、予期せぬ作業や深夜残業はもちろん、柔軟性に欠ける納期を守らなければならないというストレスが生じます。
この記事では、アジャイルリリースプランニングを大解剖し、計画会議から独自のアジャイルリリースのテンプレートを作成する方法まで、自社でプランニングを実施するためのヒントをご紹介します。
staging-mondaycomblog.kinsta.cloud で開発プランニングをしてみる
アジャイルリリースプランニングとは?
アジャイルリリースプランニングとは、製品のインクリメンタル(段階的な)リリースを計画する製品管理手法の一つです。従来のメジャーリリースを中心としたソフトウェアプランニングとは異なります。
アジャイルリリースプランニングでは、リリースを段階的に計画し、それをいくつかの異なるスプリント(ソフトウェア開発の各作業を行う一定の期間のこと)またはイテレーション(一連の工程を短期間で繰り返す開発サイクルのこと)に分解します。チーム構成やプロジェクトの規模によっては、複数のスプリントを同時に進行させることもあります。
スプリントは新製品のインクリメントで終了しますが、このときに必ず製品リリースが行われるとは限りません。これを本の執筆にたとえると、各スプリントは新しい原稿が完成すれば終了します。しかし、クライアント(編集者、出版社など)に確認してもらうための原稿が完成したからといって、その段階で一般公開してしまうことはありませんよね。
通常はバージョン1.1、1.12、1.14、1.2…と作り、それぞれに前のバージョンの新機能や改良点を盛り込んでいくでしょう。でも、この中でリリースするのは大きなもの(1.1や1.2など)だけです。
リリースプランを使用することで、どの製品インクリメント(バージョン)をいつ市場にリリースするのかを計画することができます。また、リリースプランはアジャイル SDLC(ソフトウェア開発ライフサイクル)には欠かせない要素です。なぜなら、次のスプリントを超えた構造と計画があるという安心感を上層部に与えることができ、個々のアジャイルチームが軌道に乗るのを助けてくれるからです。
アジャイルリリースプランニングの目的は?
アジャイル手法におけるリリースプランニングの目的は、製品の開発を常に正しい方向へ進め、論理的なリリースを頻繁に行えるようにすることです。
リリースプランの役割は目先のリリースの概要を示すことで、数年先までの計画を立てようとするものではありませんが、製品ロードマップ(大まかな範囲とスケジュール)とは異なり、より詳細な内容が組み込まれています。しかし、アジャイルリリースプランは、各リリースにおける作業の概要を説明するものではありません。その代わり、イテレーションやスプリントをリリースにまとめます。
アジャイルプロセスに慣れていない人は、製品の各バージョンが機能のランダムな集まりになることを心配しがちですが、実はリリースプランがあることで毎回一貫したバージョンの製品を作成することができます。そのため、リリースプランはユーザーエクスペリエンスに大きな影響を与える変更を短時間で組み合わせるには最適なツールです。実際、アジャイルを導入することで、新製品の市場投入までの時間を最大70%短縮することができます。
staging-mondaycomblog.kinsta.cloud で開発プランニングをしてみるスクラムでリリースプランニングをはじめるタイミングは?
リリースプランニングは、製品のビジョンとロードマップの概要が決まった後に行います。スクラムの焦点は短いスプリントであるため、実際にはリリースプランを全く立てずに作業するチームもあります。
この場合は、代わりに製品のインクリメントをリリースするだけです。そのためスピードに重点を置き、ステークホルダーのニーズにいつでも対応できるようにしています。
スクラムでリリースプランニングを担当する人は?
スクラムにおけるリリースプランニングのプロセスは、プロダクトマネージャーや C レベルのエグゼクティブだけが行うものではありません。プロダクトオーナーとスクラムチームも参加する必要があります。また、会社の体制によっては、チームが単独で企画を担当することも可能です。
スクラムチームは、ソフトウェアの現状や様々なステークホルダーとより密接に関係していることが多いため、意思決定をリードすることが多いといえます。リリースサイクルは常にプロジェクトに最も近い人たちによって推進されるべきだからです。そうでなければ、ロードマップを作る代わりに、その道を塞ぐ障害物が生まれてしまうリスクがあります。
今すぐはじめるアジャイルリリースプランニングの実践方法
以下のステップは、あなたがすでにアジャイルの原則に精通し、社内でアジャイルワークフローを導入していることを想定しています。もしそうなら、アジャイルリリースプランニングを始めるのはとても簡単です。
1) 製品ビジョンとロードマップを評価し、欲しい結果を設定する
製品全体のビジョンと製品ロードマップは、このプロセス全体の指針となるべきものです。短中期的に、またステークホルダーや顧客の要求に応じて、どれが最も重要かという観点から特定の成果に焦点を当てましょう。
2) 成果に基づいてプロダクトバックログを拡張し、優先順位をつける
スクラムを使用している場合は、アジャイルチームと一緒にプロダクトバックログのリファインメント(関係者の認識合わせと調整)ミーティングを行います。望む結果を具体的なユーザーストーリーに分解し、バックログに追加します。
バックログに優先順位をつけ、望ましい成果に基づいて、MVP(minimum viable product = 顧客に価値を提供できる最小限のプロダクト)から始めます。機能駆動開発(FDD)など、プロダクトバックログを使わないアジャイルフレームワークの場合は、それに相当する項目を見直します。FDD の場合、見直すべき項目は機能リストになります。
3) 論理的なプロダクトバックログ項目を組み合わせた、明確なリリース目標を設定する
さまざまなユーザーストーリーを組み合わせて、ユーザーエクスペリエンスに意味のある変化をもたらすリリース目標を作成します。たとえば、「ユーザーがモバイルアプリでさまざまな分析レポートにアクセスできること」などです。複数のレポートを作成する場合、バラバラにリリースするのではなく、まとめてリリースするのが合理的です。
4) リリースを複数のスプリントまたはイテレーションに分割する
リリースの目標とターゲットとなるユーザーストーリーが決まったら、いよいよ実際のスプリントの計画を立てます。
スクラムの主な価値観を忘れないようにしましょう。
- スプリントは短くし、達成可能な数のユーザーストーリーにコミットする。
- 一度に1つのスプリントに集中する。
- どうしても必要なら、リリースプランを破る勇気を持つ。
- 項目の選択とスコープの見積もりは、全員の視点を尊重した上で行う。
このステップで忘れてはならないのは、アジャイル開発の原則であるタイムリーなリリースの必要性とのバランスを取ることです。過大評価したり、一度に巨大なリリースに取り組もうとしたりしないよう心がけましょう。そのため、リリースプランやスプリントのプランを調整することを恐れないでください。アジャイルとはそうあるべきものだからです。
アジャイルイテレーションプランニングをはじめる
アジャイルリリースプランニングを行うことで、目的がはっきり定まらないまま開発を進めるのを回避できます。既存のお客様に迷惑をかけることなく、ステークホルダーが求めるものを的確に提供することができるのです。
staging-mondaycomblog.kinsta.cloud には、アジャイルリリースプランニングを具体的なイテレーションに簡単に分解できる、アジャイルプランニングテンプレートも用意されています。ぜひ活用してみてください。
今すぐはじめる