アジャイル開発【agile software development】アジャイルソフトウェア開発
概要
従来から主流であるウォーターフォール型などの開発プロセスでは、要件定義、設計、実装、テストなどの各工程を順番に一度だけ行なうことを前提にしているが、アジャイル開発では一度ですべてを作ろうとせずに、当初は最低限の機能だけを持ったソフトウェアの完成を目指し、各工程を迅速に進める。「アジャイル」(agile)には、俊敏な、しなやかな、素早い、などの意味がある。
とりあえず動作するソフトウェアを元に、開発チーム内あるいは顧客とチームが密接に議論を交わし、変更する箇所や追加する機能を決め、もう一度各工程を反復する。このサイクルを短い周期(多くの手法では数週間以下)で何度も繰り返すことにより徐々にソフトウェアの完成度を高めていく。
適用範囲
アジャイル開発はどのような開発プロジェクトにも適しているわけではなく、一ヵ所に集まった10人程度までの少人数の開発チームが、インターネット関連など変化の速い分野や、最初からはっきりとした要件を定義するのが難しい案件のソフトウェアを開発する際に最も適しているとされる。
一方、開発途上で要件がほとんど変化しないことが最初から分かっている場合や、大人数や大規模なプロジェクト、不具合が人命や財産に大きく関わるような社会的に重要なシステムなどの開発には適さないとされる。
代表的な開発手法
どのような条件を満たせばアジャイルであると言えるのかという厳密な定義や要件が決まっているわけではないが、2001年に著名な軽量開発手法の提唱者が集まって共同で策定した「アジャイルソフトウェア開発宣言」の主旨に適う手法が該当するとされる。
代表的な手法として、「エクストリームプログラミング」(XP:eXtreme Programming)や「Scrum」(スクラム)、「Crystal」(クリスタル)、「フィーチャ駆動型開発」(FDD:Feature Driven Development)、「適応的ソフトウェア開発」(ASD:Adaptive Software Development)、「リーンソフトウェア開発」(LSD:Lean Software Development)などがよく知られている。
「アジャイル開発」の関連用語
他の用語辞典による「アジャイル開発」の解説 (外部サイト)
- ウィキペディア「アジャイル開発」
- 情報処理学会 ISディジタル辞典「アジャイルソフトウェア開発」
- 大塚商会 IT用語辞典「アジャイル開発」
- 日経 xTECH Active キーワード「アジャイル開発」
- 日経 xTECH IT基本用語辞典「アジャイル開発手法」
- 野村総合研究所 用語解説「アジャイル」
- ITmedia エンタープライズ 情報システム用語事典「アジャイル開発」
- 日鉄日立システムエンジニアリング SAP用語集「アジャイル開発」
- NTT西日本 ICT用語集「アジャイル開発」
- カゴヤのサーバー研究室「アジャイル開発」
