ソフトウェアを開発するためのフレームワークのことで、全体的な作業の進め方、そのための考え方などを定義します。
現時点で、主流となる開発方法は、以下の2つです。
1.ウォーターフォール
管理者を主体としたピラミッド型の「プロジェクト」を構成し、
順番の決まった一連の工程を進めていきます。工程には、要件定義、設計、実装、テストがあります。
前工程の成果物に変更がないことを前提とし、前工程に戻ることは許されません。
あらかじめ成果物を決め、実際に動くソフトウェアが完成するまで、常に、成果物の完成形を予測しながら作業を進めるため、「予測型」とも呼ばれます。
2.アジャイル
エンジニア主体としたフラットなチームとして「スクラム」を構成し、
2週間程度の短い期間での作業の集まりであるスプリントやイテレーションでの開発とフィードバックを繰り返すことで、決められた期間内で「できた」ものを成果物とします。
変更を歓迎し、改善を繰り返すことで、品質を確保していきます。
成果物を決めることなく、与えられた期間で、動作の確認と変更を繰り返しながら、できたことを成果物とするため、「適応型」とも呼ばれます。
■ まとめ
「ウォータフォールは、凡人向け。アジャイルは、プロ向け」
日本では、無難にウォータフォールが選択されているのが現状です。アジャイルをするには、組織の意思決定を逆さにするような取り組みが必要となるでしょう。