Article

受託開発の開発プロセスを知ろう:ウォーターフォール vs アジャイル

高田晃太郎
受託開発の開発プロセスを知ろう:ウォーターフォール vs アジャイル

ITプロジェクトの成功率は約3割前後と示す調査は少なくありません¹。Standish GroupのCHAOSレポートをはじめ、複数の業界調査でも成功・遅延・失敗の比率は大きくは改善していないとされ¹、加えて規模が大きいほどコストや納期の超過リスクが高まることが観察されています⁷。PMIの報告でも、プロジェクト失敗に起因する無駄が投資の1割超に達する年があるとされます²。現場の事例を横断的に見ると、受託開発で問題が顕在化する局面は二つに集中します。ひとつは要件の不確実性を過小評価し、ウォーターフォール(工程を段階的に進める手法)の予測性を活かしきれなかったケース。もうひとつは、アジャイル(短い反復で価値を届ける手法)を掲げながらも契約やガバナンスが従来型のままで、意思決定と受入のボトルネックを温存したケースです。

プロセス選択は優劣の議論ではありません。重要なのは、スコープ・予算・工期の制約、法規や監査の要件、ベンダーの責任分界、そして顧客側の意思決定速度という現実の制約にどれだけ適合できるかです。本稿では、受託開発という前提に絞り、ウォーターフォールとアジャイルの強みと限界、契約・見積・KPIまでを実務の言葉で整理し、最後にハイブリッド設計の考え方を提示します。

受託開発の現実とプロセス選択の前提

契約と責任分界がプロセスの自由度を決める

受託では、請負契約か準委任(いわゆるタイムアンドマテリアル)かで、プロセス設計の選択肢が大きく変わります。請負では成果物責任と検収基準が契約で固定化され、スコープの変更は見積や納期の再調整を伴います⁴。ここではウォーターフォール型の工程管理、要求からテストまでのトレーサビリティ(要件がどの設計・テストで満たされたかを追跡できる状態)、変更要求を審議するCCB(Change Control Board:変更管理委員会)といった枠組みが親和性を発揮します。準委任では時間とスキルの提供に対価が支払われ、スコープはバックログとして継続的に見直されます³。アジャイルの反復・適応サイクル、プロダクトバックログの優先順位づけ、スプリントごとのインクリメンタルな受入が機能しやすくなります。どちらの契約であっても、いわゆるトリプルコンストレイント(スコープ・コスト・スケジュールの三角形)は保存されます。どの辺を変動させるかを契約条項と運用で明確にしない限り、現場のプロセスだけを変えても矛盾が露呈します。

ガバナンスと可視化の要件を先に定義する

受託のプロジェクトで重視されるのは、品質保証と監査対応です。ウォーターフォールであれば段階的なレビュー記録、要件・設計・テストの双方向トレーサビリティ、EVM(Earned Value Management:出来高管理)による進捗とコストの管理⁶、品質ゲートでの合否判定が軸になります。アジャイルであれば、バーンアップや累積フロー図、デプロイ頻度や変更リードタイムといった運用系KPI(近年はDORA系メトリクスとして定着)と、受入基準を埋め込んだテスト自動化が信頼の土台になります。いずれにせよ可視化は契約と監査要件から逆算し、証跡の生成と保全までをプロセスに組み込む必要があります。ここを曖昧にしたままプロセスを選ぶと、後工程の監査で差し戻しが発生し、結局はコスト超過に跳ね返ります。

ウォーターフォールの強みと限界を再定義する

予測性と適合性は大規模・規制案件で効く

要件の大枠が安定し、外部連携や非機能制約が厳格で、法規制対応や認証を要する領域では、ウォーターフォールの予測性が優位になります⁵。WBS(作業分解構成)で長い依存関係を管理し、段階毎にレビューと承認を通過することで、利害関係者が負うリスクを明確化できます。大規模刷新やデータセンター更改のような案件では、上流での設計凍結とインテグレーション計画が全体最適に寄与しやすいのです。見積の信頼区間は要件定義の成熟に比例して狭まり、後戻りのコストは指数的に増加します⁷。だからこそ、上流工程の徹底と変更管理の厳格化がコスト防衛の主戦場になります。

一方で、ウォーターフォールの限界は不確実性の吸収力にあります。要件の揺らぎに引っ張られてガントチャートが形骸化し、品質上の課題がシステムテスト以降で噴出すると、対処コストは跳ね上がります。予測性は守られるべきですが、要件が固定されているという前提が崩れると、予測の根拠自体が薄くなります。このギャップを埋める鍵は、早期の実証と段階的な合意形成にあります。

失敗を減らすための具体策

要件凍結の定義を明文化し、凍結の前提としてプロトタイプやPoCでユーザー検証を済ませると、後戻りのリスクが大きく下がります。外部システムとのインテグレーションは単体完了後に待つのではなく、契約上のマイルストーンとして早期の結合ハーネスを用意し、相互検証のウィンドウを複数回設定します。レビューは重厚な書式を積み増すのではなく、指摘の再現性と合意事項のトレーサビリティを重視して、記録を軽量化しながらも監査耐性は落とさないバランスを取ります。契約面では、変更要求に対する応答SLAと見積の手順、バッファの扱いをCCB規約として先に合意しておくと、現場の摩擦が減ります。可視化はEVMだけに依存せず⁶、品質面の先行指標として欠陥密度の推移やレビュー検出率もモニタリングし、早い段階で傾向を掴むのが有効です。テスト自動化は統合前から段階的に導入し、回帰テストの実行頻度を上げて検出遅延を抑えます。

アジャイルの強みと限界を誤解なく捉える

価値仮説の検証速度と分散型リスク

アジャイルの真価は、価値仮説の検証を短いサイクルで繰り返し、投資の判断を分割できる点にあります。バックログの優先順位づけを通じて、最小実用の価値から順に顧客へ届け、プロダクトの方向性を現実のフィードバックで調整します。スプリントのたびに潜在的に出荷可能なインクリメントを完成させるため、Definition of Done(完了の定義)にテスト自動化とセキュリティ検査を組み込み、受入基準はユーザーストーリーの形で具体化します。予測の難しさはベロシティのばらつきに起因しますが、過去データの分布を用いたモンテカルロ予測を取り入れると、リリースの到達可能範囲を確率で示せるようになります⁸。準委任契約と相性が良いのは、スコープの可変性を前提に意思決定を回せるためです。請負でアジャイルを採用する場合は、スコープ固定・品質固定のもとで納期やコストの弾力性をどこまで許容するか、あるいは成果ベースのマイルストーンを設けるかを、契約で設計する必要があります。

例えば、受入基準を曖昧にしないための最小例は次のとおりです。

ユーザーストーリー:
  顧客として、検索結果を価格で並び替えたい。なぜなら最安値を素早く見つけたいからだ。

受入基準(例: Gherkin形式):
  条件: 検索結果が10件以上ある
  もし: 並び替えメニューで「価格の安い順」を選ぶ
  ならば: 表示される結果は価格が昇順になっている
  かつ: 送料込みの最終価格で比較される

この程度の具体性でも、テスト自動化と受入判断の両方に直結します。

受託ならではの落とし穴と回避策

受託のアジャイルで最も多い失敗は、意思決定者が現場に不在のまま現場だけが「スプリント」を回してしまう状況です。プロダクトオーナーの裁量と可用性が不足すると、バックログは動かず、受入判断は週次から月次へと後退し、結局は大きな塊での検収に巻き戻ります。これを避けるには、顧客側の意思決定を代行できるPO代理の責務範囲を契約に明記し、受入基準をストーリーに埋め込み、スプリント単位での部分検収や成果レビューを制度として確立します。品質はプロセスで作り込む必要があり、CI/CD(継続的インテグレーション/デリバリー)の整備とリグレッション用の自動テスト比率を目標化し、Definition of Ready(着手の定義)で着手条件を厳密にします。ドキュメントも必要です。後日監査に耐えるため、ユーザーストーリー、テスト結果、レビュー記録、変更理由をチケットに紐づけ、トレーサビリティを保つ運用を最初から仕込むべきです。これらを実施できれば、アジャイルは受託の文脈でも予測と適応の両立に貢献します。

ハイブリッドで意思決定を設計する

変えないものと変えるものを先に分ける

ウォーターフォールとアジャイルを対立軸で捉えるのではなく、変化に弱い領域と強い領域を切り分けて適用すればよいのです。アーキテクチャの制約、データモデリング、セキュリティ・監査対応、SLAに直結する非機能は変更コストが高いため、フェーズゲートを持つ計画駆動で進めた方が安全です。一方、UIや業務フローの細部、分析やレポートの粒度、ユーザー価値検証は反復で磨きやすい領域です。上位では四半期単位のリリース計画を策定し、下位ではスプリントでの価値供給を継続する二層計画を採用すると、マクロの予測とミクロの適応が両立します。品質ゲートはこの二層の境界に置き、非機能の合否やセキュリティ要件を通過条件として明確化します。

見積・予算とKPIを整合させる

初期見積は不確実性の幅を隠さないことが信頼の第一歩です。機能ポイントやCOSMICのようなサイズ指標、類推見積の履歴、リファレンスアーキテクチャの有無を根拠に、信頼区間として幅を提示します。アジャイルではストーリーポイントを日数へ直結させず、過去スプリントのベロシティ分布から到達可能なスコープを予測し⁸、リリース計画に反映します。ウォーターフォールでは工程ごとの生産性係数と欠陥流出率を用いて、テスト期間とリワークの余力を明示します。KPIはプロセスの思想と矛盾しないものを選びます。たとえば、変更のリードタイム、デプロイ頻度、欠陥除去効率、レビュー検出率、サービス稼働SLO、そしてビジネス側の成果指標としてCVRや処理時間短縮といった業務KPIを併置します。重要なのは、KPIを契約や受入判定と連動させる設計です。単なるダッシュボードでは行動は変わりません。評価や支払いのトリガーに繋がって初めて、チームは継続的に最適化を行います。

現場に効く最小の実践

実務で明日から着手できるのは、意思決定、受入、可視化の三点セットの整備です。スプリントを採用していなくても、変更要求に対する合意形成と可視化の仕組みは導入できます。受入基準はユーザー視点のテスト観点に落とし、曖昧な要件を先回りで具体化します。可視化では、EVMまたはバーンアップをプロジェクト特性に合わせて選択し⁶、どちらにせよ品質の先行指標を併せて見ることを徹底します。小さな改善でも、契約・ガバナンス・実装の三層を一貫して設計すれば、プロセスの表札だけを掛け替えるより確実に成果が出ます。

まとめ:プロセスは目的に従う、そして設計できる

受託開発で最初に問うべきは、何をいつまでにどの品質で届けるのかという目的と制約です。ウォーターフォールは予測性とコンプライアンスで強みを発揮し⁵⁷、アジャイルは価値検証と適応力で優位に立ちます。どちらが正解かではなく、どの局面でどの性質が必要かを切り分け、契約とガバナンスまで含めてプロセスを設計する姿勢が勝敗を分けます。もし今、プロジェクトが揺らいでいるなら、意思決定の遅延、受入基準の曖昧さ、可視化の不足の三つを点検し、最小の改善から始めてください。次の一歩として、現行の契約条項とKPIを棚卸しし、スコープ・コスト・スケジュールのどの辺を可変にするかをチームで合意することを提案します。最適解は、現場の制約の中でこそ形になります。プロセスの選択が目的に従っているか、今一度問い直してみませんか。