ハイブリッド型開発とはウォーターフォールモデルとアジャイル開発の2つを組み合わせた開発手法です。簡単に言えばそれぞれの開発手法の弱点を補い、良い部分を掛け合わせた開発モデルとなります。別名「ハイブリッドアジャイル」「ハイブリッドアプローチ」とも呼ばれております。この記事ではハイブリッド開発を理解するために初心者での分かる概要、メリット、2つの考え方などの基礎知識を簡単に解説していきます。
ハイブリッド型開発とはウォーターフォールモデルとアジャイル開発の2つを組み合わせた開発手法です。ウォーターフォールモデルの弱点とされる「開発中の要件変更」「実行(テスト)に基づく臨機応変な改善」などを克服するために提唱されました。またアジャイル開発にも弱点は存在し「仕様が固まりにくい」「納期遅延の発生リスクが高い」など問題しされております。これらを解決すべくハイブリッド型開発にはウォーターフォールモデル先行型とアジャイル開発先行型の2つの考え方が存在し、プロジェクトの性質によって合うものが選択されてます。
ハイブリッド型開発を採用する代表的なケースとしては上流工程及び下流工程をウォーターフォールモデルとし中流工程をアジャイル開発とする場合が多いようです。別名「ハイブリッドアジャイル」「ハイブリッドアプローチ」とも呼ばれております。
ウォーターフォールモデルは1970年に提唱された開発手法であり、各開発プロセスの役割を明確にし上流工程から下流工程にかけて水が滝のように流れることをイメージして名付けられたと言われております。ウォーターフォールモデルの特徴として「全体的な計画を立てやすい」「進捗・工数管理がしやすい」などが挙げられます。
アジャイル開発とは1990年頃に提唱された開発手法であり、ウォーターフォールモデルと反して短い単位での開発要件を切り取って作業を進めることでリスクを最小限に抑えるという特徴があります。アジャイルというその名には「素早い」や「機敏な」という意味があります。お客様の声を作業過程で取り込みながら行えるその開発手法はリスクも少なく短期間で進められるという利点もあり近年採用する開発チームが増えております。アジャイル開発の特徴として「修正が発生しても戻る工数負担が少ない」「初期計画時の負担が少ない
」などが挙げられます。
ハイブリッド型開発のメリットを見ていきましょう。
ハイブリッド型開発には各要所でのフィードバックと変更対応が可能というメリットがあります。ウォーターフォールモデルの弱点とされる「開発中の要件変更」「実行(テスト)に基づく臨機応変な改善」などを克服するため、各要所でのフィードバックをシステム開発工程の一連の流れに予め組み込むことで変更対応を計画的に実施することができます。これによって当初の想定に無いスケジュール変更、追加予算や人員調達などの不要なコストを回避することができます。
ハイブリッド型開発は修正が発生しても戻る工数負担が少ないというメリットがあります。アジャイル開発のメリットであるリストを最小に抑えることを目的としてプロジェクトを小さい単位で計画し設計、実装、テストを行うことで実現できます。主に中流工程である「詳細設計」「製造(プログラミング)」「単体テスト」がアジャイル開発の対象するのが有効的です。
ウォーターフォールモデル | ハイブリッド型開発 |
要件定義 (要件を明確にし、開発見積りを決定) |
要件定義 |
基本設計 | |
基本設計 (画面や帳票などのユーザーインターフェースを設計) |
詳細設計(A) |
製造(プログラミング)(A) | |
詳細設計 (プログラムの設計など、開発者側からの視点でシステムを設計) |
単体テスト(A) |
フィードバック(A) | |
製造 (設計書に基づき、プログラムの作成を実行する) |
詳細設計(B) |
製造(プログラミング)(B) | |
単体テスト (モジュールごとにテストを実施) |
単体テスト(B) |
フィードバック(B) | |
結合テスト (各モジュールを結合してテストを実施) |
結合テスト |
総合テスト (すべてを含めた(要件定義通りか?)テストの実施) |
総合テスト |
リリース | リリース |
ハイブリッド型開発は開発工程の順序をオーダーメイド可能というメリットがあります。システム開発のプロジェクトを成功に導くために、そのプロジェクトにあった開発工程の順序にすべくウォーターフォールモデルとアジャイル開発のそれぞれのメリットを掛け合わせててオーダーメイドで計画を立てます。ITの革新的な成長スピードや変化の激しいユーザーニーズそれぞれを意識したプロジェクト設計が非常に大切です。
ハイブリッド型開発の2つの考え方を見ていきましょう。
ウォーターフォールモデル寄りの考え方を先行したハイブリッド型開発では開発工程の大枠はウォーターフォールモデルで構成されます。この大枠というのは主に上流工程である「要件定義」「基本設計」そして下流工程である「結合テスト」「総合テスト」を指しております。これらの上流、下流部分はユーザーからも実態、進捗が確認しやすいのですが中流工程である「詳細設計」「製造(プログラミング)」部分はユーザーから実態、進捗が見えにくいためアジャイル開発式に行うことでウォーターフォールモデルの弱点を補います。これがウォーターフォールモデル寄りハイブリッド型開発の代表的な例です。
アジャイル開発寄りの考え方を先行したハイブリッド型開発ではプロジェクト初期段階では小さい単位で開発計画を行います。特に予定が不透明で技術的課題が残されている状況などではアジャイル開発先行型で舵を切る方が望ましいでしょう。協議を重ねて仕様が固まったタイミングでウォーターフォールモデルに切り替えることで軌道に乗せます。これがアジャイル開発寄りハイブリッド型開発の代表的な例です。
ハイブリッド型開発を理解するために初心者でも分かる概要、メリット、2つの考え方について簡単に解説させて頂きました。ハイブリッド型開発を一言で表すと「ウォーターフォールモデルとアジャイル開発の2つを組み合わせた開発手法」です。主なメリットとして「フィードバックと変更対応が可能」「修正が発生しても戻る工数負担が少ない」「オーダーメイド可能」などが挙げられます。ハイブリッド型開発についてこの記事で記載されている最低限の内容は理解しておくようにしましょう。