皆様、こんにちは。
DX開発事業部 クロスイノベーションセクション スマホグループの楊林です。
前回の投稿では、プロジェクトのライフサイクルやガバナンスについてご紹介しました。
近年、「アジャイル開発」はすでに一般的な言葉になりましたが、果たしてアジャイルはウォーターフォールよりも常に優れているのでしょうか?また、ウォーターフォールとアジャイルはどのように選択すればよいのでしょうか?
今回の投稿では、プロジェクトの開発アプローチについて解読します。
適応型アプローチ
近年よく耳にする「アジャイル開発」は、実は適応型アプローチの一種です。
ただし、適応型アプローチとアジャイルとはイコールではありません。
適応型アプローチは、変化の激しい要求や不確実性の高い環境に柔軟に対応するための開発手法です。
要求変更への対応や納品の頻度などに応じて、漸進型、反復型、アジャイル型の3つに分類できます。
漸進型
漸進型アプローチは、製品やシステムを段階的に完成させていく方法です。
部分的な成果物を早期に提供し、顧客のフィードバックを得ながら少しずつ機能を追加していきます。
特徴としては、頻繁で小規模な納入を繰り返し、完成前から一部を利用可能にする点です。開発速度を重視し、顧客のフィードバックに合わせて、要求事項を動的かつ柔軟に調整します。
建築で例えるなら、漸進型はまず1階だけを住めるように完成させて、住みながら2階・3階を順次建て増していくようなイメージです。

反復型
反復型アプローチは、設計・開発・テストのサイクルを繰り返し、徐々に完成度を高める手法です。
プロジェクト・ライフサイクルの初期段階で大まかなスコープを決定しますが、チーム内で理解が深まるにつれて時間やコストを定期的に見直していきます。
プロトタイプを作成して確認・改善を繰り返し、最終的な成果物を一度だけ納入するのが特徴です。
動的な要求事項への柔軟性を保ちながら、ソリューションの適切さを重視します。
建築で例えるなら、まず建物全体の骨組みを作り、依頼主と常に確認しながら、壁を作成し、扉・窓などを追加していくようなイメージです。

アジャイル型
アジャイル型アプローチ、別名変更駆動型、は迅速な納入と柔軟な変更対応を重視する手法です。
短い期間を繰り返しながら、チームの協働と顧客フィードバックを軸に開発を進めます。
アジャイル型では、コストと納期を先に確定し、それに合わせてスコープを後から調整する点が特徴です。
自己組織化したチームが顧客のフィードバックを最優先にし、要件変更にも柔軟に対応でき、コスト変動も比較的抑えられます。
不確実性の高いプロジェクトに適しています。
アジャイル型の特徴は最初から何を作るかを決めるのではなく、コストと納期が先に決まって、それに合わせてスコープを決定します。要望の変更に対して比較的容易に対応できますし、高額なコストの変化も発生しません。
最終プロダクトが十分に把握されておらず、顧客からの要求事項の変動が頻繁で、複雑性の高い環境のプロジェクトに適しています。
アジャイル型アプローチについては、また今後別の記事で詳しく紹介します。

予測型アプローチ
予測型アプローチは、ウォーターフォール型や計画駆動型とも呼ばれる、初期段階で詳細な計画を立て、段階を追って順に進めていく手法です。
スコープを最初に確定し、それに基づいてコストや納期を見積もるのが特徴です。
予測型アプローチはコスト管理を重視し、最終的な成果物を一度だけ納入します。
変更には追加コストが発生しやすいため、要件が明確で変更が少ない、予測可能性が高いプロジェクトに適しています。
予測型アプローチについても、また今後別の記事で詳しく紹介します。

アプローチの特徴比較
適応型の漸進型、反復型、アジャイル型と予測型を表で並べて比較すると、以下の特徴があります。
| 開発アプローチ | 要求事項特徴 | 成果物納入回数 | 作業分割 | 重視ポイント | |
|---|---|---|---|---|---|
| 予測型 ※ウォーターフォール |
固定 | 一回 | 一度きり | コスト管理 | |
| 適応型 | 反復型 | 変動 | 一回 | 適切になるまで反復 | ソリューション適切さ |
| 漸進型 | 変動 | 複数回 | 増加分ごとに実行 | 開発速度 | |
| アジャイル型 | 変動 | 複数回 | 適切になるまで反復 | 顧客フィードバック | |
ハイブリッド型アプローチ
適応型と予測型以外に、ハイブリッド型というアプローチもあります。
ハイブリッド型は適応型と予測型を組み合わせ、プロジェクトの性質やフェーズに応じて柔軟に選択します。
アジャイルと予測型をフェーズの特徴によって順に実行するタイプ(図のタイプ1)もありますし、同じフェーズ内で一部作業をアジャイル型で進み、一部作業を予測型で進むタイプ(図のタイプ2)もあります。
更に予測型内に一部の要素をアジャイル型で実施し、その逆を実施するタイプ(図のタイプ3)もあります。

最後に
本記事では、PMBOK に掲載されている開発アプローチのタイプと、それぞれの特徴についてご紹介しました。
開発アプローチには「これが最も優れている」という絶対的な答えはありません。
大切なのは、プロジェクトの性質・環境・チーム特性に応じて最適な手法を選ぶことです。
要件が明確で変更が少ない、そこからリソースとスケジュールを調整するなら、予測型が適しています。
要件が複雑で変化が多く、代わりにアサインメンバーと納期が決まっているなら、適応型が最適です。

プロジェクトマネジャーを目指す方、またはPMP資格取得を検討している方にとって、本記事が少しでも参考になれば幸いです。