「ウオーターフォール」型開発から「アジャイル」型開発への移行を考える企業はある。だが、開発手法をいきなり切り替えるのは難しい。ウオーターフォール型開発の課題を解決する方法はあるのか。
「ウオーターフォール」型開発は、川の流れのように上流から下流の工程に順番に開発を進める開発手法だ。長年にわたり、さまざまな組織で採用されてきた手法だが、柔軟性(変化に迅速に対処する能力)の低さが課題となっていた。
柔軟性を高める開発手法として、小規模な変更を短期間のうちに繰り返す「アジャイル」型開発に注目する企業はある。しかし、慣れ親しんだ手法からの脱却と、新しい手法への移行は容易ではないし、必ずしも正しいとは限らない。
企業が、ウオーターフォール型開発の課題を解決するために実践できる方法とは。ウオーターフォール型開発の基本と併せて解説する。
ウオーターフォール型開発は、そのシンプルで順序立った管理スタイルが評価され、企業の間で広く使われ続けてきた。そのため、ウオーターフォール型開発からアジャイル型開発への移行は容易ではない。特に大企業の上層部は安定を好む傾向があるため、既存の手法の見直しには消極的だ。
一方で、ウオーターフォール型開発の体制を生かしつつ、改善に向けたアプローチを取り入れることはできる。以下に具体的なステップを3つ紹介する。
ウオーターフォール型開発では最初にスケジュールを確定させる。しかし、開発途中で重大な問題が見つかった場合、ソースコードを書き直したり新しく作成したりする必要がある。最初に厳格なスケジュールを敷いてしまうと、対処する時間がなくなってしまう。
ソフトウェアアーキテクチャとエンジニアリングの先駆者であるフレデリック・ブルックス氏は、「セカンドシステム症候群」についても言及している。これは、最初に開発したシステムが成功した場合、次に開発するシステムが、過度な機能追加といった要因から複雑化しやすい傾向のことだ。
ブルックス氏は著書「The Mythical Man-Month」(邦題:人月の神話)の中で、プロジェクト開始時は以下2つを実践し、まずシステムの挙動を試してから、本格的なソースコード作成に移るよう推奨している。
スパイクとは、シンプルな試作品を作成し、技術的なリスクを評価する手法だ。新しいソフトウェアを構築したり機能を追加したりする際、初期段階で簡単な概念実証(PoC)を実施することで、プロジェクトの精度向上につなげることができる。
以下にスパイクの具体例を挙げる。
特にプロジェクトが大規模の場合、細かいフェーズに分けることで、ウオーターフォール型開発の成功率を向上させることができる。各フェーズは、設計、実装、テスト、デプロイ(配備)のプロセスから成り立つ。大きなプロジェクトを一度に進める場合と比べて、問題点の早期発見と修正が可能となるため、プロジェクトの安定性を高めることができる。
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
FacebookやXなど主要SNSで進む「外部リンク制限」の実態 唯一の例外は?
ソーシャルメディアはかつてWebサイトへの重要な流入経路であった。しかし、最近は各プラ...
生成AIとAR/VRで失った個性を取り戻す――2025年のSNS大予測(Instagram編)
万能だが特徴のはっきりしない「何でも屋」と化したInstagram。2025年の進化の方向性を予...
「AIネイティブ世代」の誕生 10代のAI活用度合いは?
博報堂DYホールディングスのHuman-Centered AI Instituteは、AIに対する現状の生活者意識...