アジャイル・ウォーターフォールハイブリッド手法は、Erick Bergmann 氏と Andy Hamilton 氏の両氏が定義したもので、一般にソフトウェアを開発するチームはアジャイル手法で作業を行い、ハードウェア開発チームや製品マネージャーはウォーターフォール手法で作業を行うというものです。以下のような場合に適しています。
- チーム間のコラボレーションを活発にしたい場合。
- 組織としてアジャイル手法への移行を試みているが、複雑な作業が進行の妨げになっている場合。アジャイル方法論には不確定要素が多数含まれ、チームが慣れるまでには時間がかかります。全員が完全にアジャイル手法に移行できるようになるまでは、既知のウォーターフォール手法を使用し、アジャイル手法を段階的に取り入れていく方がよいかもしれません。
- プロジェクトの予算と納期は決まっているが、アジャイルの迅速な設計、分析と計画の恩恵を活用したい場合。
アジャイル型とウォーターフォール型の手法を組み合わせても問題なく使えるのは、アジャイルが方法論というよりは考え方であり、アプローチに近いもののため、より厳格なウォーターフォール方法論にアジャイル哲学を盛り込んでも支障がないためです。
ハイブリッドな手法を取り入れたい場合は、プロジェクトマネジメントのアプローチの方向性を想像してみるとよいでしょう。一方に計画性が高く、具体的なウォーターフォール手法があり、他方により適応性の高いアジャイル手法があるという形です。
こうして考えると、ハイブリッドモデルの導入にもさまざまな方法が考えられます。
アジャイル・ウォーターフォールハイブリッドの可能性を探る
チームによって最適なハイブリッドソリューションのあり方は異なりますが、ここではいくつかのシナリオで考えてみましょう。
- 企業レベルではアジャイル手法を使い、要件、設計、実装段階ではウォーターフォール手法を使う。
- プロジェクトレベルではアジャイル手法を使うが、組織レベルではウォーターフォール手法を使う。
- プロジェクトレベルと企業レベルの両方でウォーターフォール手法を使うが、個々のチームではアジャイル手法を使う。
- プロジェクトレベルと企業レベルの両方でウォーターフォール手法を使うが、開発の特定のフェーズではアジャイル手法を使う。
解決したい問題の性質を見極め、その上で適した手法を選ぶのがよいでしょう。また、特定のプロジェクトに限ってハイブリッド手法を使うこともできます。
- 低リスクのプロジェクトではコスト抑制のために計画性のあるウォーターフォール手法を使ってみましょう。
- 高リスクのプロジェクトではアジャイル手法ですべての問題が明確化され、解決されるまで活動を繰り返してみましょう。
- 期限が厳しいプロジェクトでは、インクリメンタルなアジャイルデリバリーを行うことで顧客満足度を高めることができます。
- 非常に複雑なプロジェクトの場合は、アジャイル手法の方がコストがかかる可能性もありますが、よりよい結果が期待できます。
また、アジャイルのうち、欲しい要素だけを抽出してウォーターフォール手法に適用することもできます。具体的には、スクラム手法をチーム管理や週単位のスプリントを使った作業整理に使ったり、継続的な無駄や冗長性の排除を重視したリーン手法をすべてに取り入れたり、コミュニケーションの円滑化のためにチームでカンバン方式を採用するなどの方法が考えられます。
アジャイル手法には非常に多くの側面があるため、チームの開発プロセス改善に役立つ方法が必ず見つかるはずです。
アジャイル・ウォーターフォールハイブリッド手法のまとめ
慣れ親しんだ手法にはついこだわってしまうものですが、常に優先すべきはプロジェクトを無事に完了させることです。成功する手法とは、チームがタスクを遂行し、実用可能な製品を予算内で作り上げられるものに他なりません。そのためには、ハイブリッドなアプローチや多少の試行錯誤も必要となるはずです。
本記事での提案を参考に、開発サイクルの各段階に最適な手法を検討してみましょう。選んだ手法は、チームや開発セクション単位だけでなく、プロジェクト単位で調整することも十分可能です。短期間で終わる簡単なプロジェクトであれば、アジャイルアプローチに慣れたチームであっても、ウォーターフォール手法の方が有効な場合もあります。