アジャイル開発において、ドキュメント管理は重要な役割を果たします。頻繁なコミュニケーションが求められるアジャイルでは、ドキュメントを通じて要件や進捗状況を共有アジャイル開発を行うにはリリース計画の設定が必要です。リリース計画は、プロダクトを正しく開発する際に重要な計画だとされていますこの記事ではアジャイル開発を用いる人に向けて、リリース期間の設計方法を解説します。目的や誰が担当するべきなのかなどもお伝えするので参考にしてください。
アジャイル開発とは
アジャイル開発とは、プロダクト開発における開発手法の1つです。「アジャイル」は英語で「素早い」「機敏な」という意味を持ち、開発工程を小さいサイクルで繰り返しながら開発を進めます。
アジャイル開発の基本的用語
アジャイル開発を用いて開発を進めるためにも、基本的な用語を理解しておくことが重要です。主に使用されることが多い、ユーザーストーリー・イテレーション(スプリント)・ベロシティ・リリース計画について解説します。
用語 |
意味 |
ユーザーストーリー |
顧客の要望・意図をまとめた文章 |
イテレーション(スプリント) |
アジャイル開発の1サイクルの単位 |
ベロシティ |
1回のイテレーションで完了したユーザーストーリーの合計値 |
リリース計画 |
いつまでにリリースできるかというプロジェクトを管理するための計画 |
種類
アジャイル開発にはいくつかの手法があります。主に用いられるスクラムやエクストリーム・プログラミング(XP)、ユーザー機能駆動開発(FDD)の特徴について簡単に解説します。
手法 |
特徴 |
スクラム |
効率的に開発を進めるフレームワーク・コミュニケーションが重要となる手法 |
エクストリーム・プログラミング(XP) |
開発計画よりも途中で発生する変更へ柔軟に対応することを重視した手法 |
ユーザー機能駆動開発(FDD) |
必要な機能を洗い出すことで、ユーザーにとっての機能価値を重視する手法 |
アジャイル開発の手順
どのようにアジャイル開発を進めるのか、手順を理解しておくことが大切です。一般的な手順を解説します。
リリース計画を設計
「いつまでにリリースするのか」というおおよその計画を設計します。ユーザーストーリーのなかからイテレーションに含める内容を判断して計画を立てましょう。開発途中での変更が前提の計画であるため、いつでも柔軟な対応が取れるように厳密な計画にはしないことがポイントです。
優先順位の決定
設計したリリース計画に基づき、開発のための優先順位を決定します。一度で必要な機能をすべて開発できないため、1回の開発における単位に切り分けて、何から優先的に開発を進めるかを決めましょう。開発途中で順序の入れ替えや機能の追加があることも留意する必要があります。
イテレーション
要件定義→設計→開発→テストの順に、イテレーションを繰り返して、成果物を開発します。誰がどの開発工程を担当するかを明確に振り分けて、リリース計画に基づき優先度の高い機能の開発から進めるのが一般的です。
開発終了の決定
顧客と話し合って開発の終了を決めます。必要な要件を満たしていれば、すべての開発が完了していなくても終了して問題ありません。また、すべての開発が完了しても必要な要件を満たしていなければ、開発を継続する可能性があることも考慮しておきましょう。
アジャイル開発におけるリリース計画とは
アジャイル開発におけるリリース計画について解説します。目的や計画を作成するためのタイミングなどを把握しておきましょう。
リリース計画の目的
プロダクト開発を正しく進めるために、理論的なリリースを頻繁に行うことがリリース計画の目的です。
遠い未来ではなく、近い未来を詳細に計画します。各リリースにおける作業概要の説明ではありません。プロダクトの機能向上を目指して開発途中で積極的に計画を変更させるものであるため、完璧な計画を設計しないようにしましょう。
計画作成のタイミング
プロダクトのビジョンと概要が決定したタイミングで、リリース計画の設計を始めます。スクラムという手法を用いる場合は、イテレーションが短いためリリース計画を全く立てずに開発を進めるチームもあります。この場合は開発スピードを重視し、インクリメントのリリースに留まります。
計画作成の担当者
リリース計画の作成は、プロダクトマネージャーや経営幹部職が行うことが一般的です。しかしプロダクトオーナーとスクラムチームも作成に参加しなければいけません。スムーズに開発を進めるためにも、プロジェクトに常に近い人が計画を推進する必要があります。
アジャイル開発のリリース計画を作成する方法
アジャイル開発のリリース計画を作成する方法を流れに沿って解説します。設計する際の参考にしてください。
条件を決める
リリース計画を設計する際、開発を行う対象期間と期間が過ぎたあとのゴールを決定します。設定したリリース計画を達成するために必要な作業工程や担当者のスキル、人数などの条件を定めることが大切です。ただし変更が発生することを前提として設計するため、柔軟性を持たせた作業工程にしておきましょう。
ユーザーストーリーをまとめる
リリース計画期間中に作成するプロダクトの全体像を把握するためにも、ユーザーストーリーをまとめることが大切です。この段階では、大まかな見積もりができればよいため、ユーザーストーリーを細分化したり、詳細まで決定したりしなくても問題ありません。
ユーザーストーリーを見積もる
ユーザーストーリーの見積もりは、必ず開発者が行わなければいけません。「Tシャツサイズ見積もり」と呼ばれる手法を用いることで、短期間での見積もりが可能となります。
Tシャツサイズ見積もりとは、プロジェクトやタスクの達成に必要な工数に応じてXS~XXLまでのTシャツサイズを割り当てることです。この手法により工数・複雑さ・作業時間・想定時間などを把握し、見積もりに役立てられます。
イテレーション期間を決める
イテレーション期間を定めていきましょう。一般的には1~2週間に設定しているケースが多いです。イテレーションは学習サイクルであり、大きな変化が想定されます。学習量が多いチームほど、イテレーション期間を短く設定するのがおすすめです。
ベロシティを見積もる
ベロシティの見積もりは、実際に開発を進める担当者が行う必要があります。過去のデータを参考に、1回のイテレーションで何ポイント分の仕事を完了させられそうかという見積もりを立てます。
この段階のベロシティは仮であるため、実際に何度かイテレーションを進めるなかでベロシティの実績値が出たら、その値に置き換えることが大切です。
ユーザーストーリーに優先順位をつける
ユーザーストーリーの優先順位をつけていきます。ビジネス価値と難易度を考慮しながら行いましょう。優先順位の最終決定権は、用いる手法によって異なります。スクラムの手法であれば、プロダクトオーナーが決定権を持っています。
計画に入れるユーザーストーリーを選定する
各ユーザーストーリーのポイント数を合計した数字が仕事のボリューム数です。リリース計画の期間とスプリントの長さで期間内のスプリント数を算出します。上述した手順で決めた優先順位をもとに、どのユーザーストーリーを計画に含めるかを決定しましょう。
リリースする日を決める
リリースする日を決定します。リリース計画の対象期間を延長したい場合は期間を延ばすか、作業工程を削るかどうかを決めましょう。リリース日は「9月1日」のように明確な日に設定するのではなく、「8月下旬~9月上旬」などある程度幅を持たせておくのがおすすめです。
計画をブラッシュアップする
リリース計画は何度も行う必要があるため、計画を進めるなかでよりブラッシュアップしていくのが望ましいです。毎回計画の見直しをすることで、より現実的な計画を設計しましょう。現実的な計画にすることで、プロダクトの価値を上げることにもつながります。
まとめ
アジャイル開発でより価値のあるプロダクトを作成するには、リリース計画の設計が重要です。リリース計画設定の手順や目的を理解したうえで、柔軟性のあるリリース計画を立てましょう。
株式会社Sun Asteriskは、DXコンサルティングから設計、本格的な開発までの流れを一貫してサポートできるケイパビリティの広さを強みとしています。アジャイル開発における実績も豊富なため、貴社の状況にあわせたサービスをご提供します。アジャイル開発に関するお悩みは、お気軽にご相談ください。
貴社の状況にあわせて最適なチームをご提案します。アジャイル開発のご相談やお見積りのご依頼は、お気軽にお問い合わせください。
Sun*アジャイル開発に関するソリューションやこれまでの開発実績をまとめた資料のダウンロードはこちらから。