DX Column

2021年10月27日

#アジャイル – 知ったかテックワード!君もIT博士

カテゴリー:

タグ:, , ,

アジャイル(Agile Software Development)とは、人間・迅速さ・顧客・適応性に価値をおいたソフトウェア開発の考え方/マインドセットのこと。

以前からあったウォーターフォール型開発では、利用者によって役立つソフトウェアの実現がなかなか難しかったことから、それとは異なる開発スタイルが提案されていた。2001年、こうした軽量なソフトウェア開発手法を提案していた人たちが集まって、共通する価値観をまとめて「アジャイルソフトウェア開発宣言」という文書にまとめたんだ。

この宣言では、次の4つの価値観を示して、アジャイルソフトウェア開発と名付けたんだ。

  1. プロセスやツールより、個人との対話を
  2. 包括的なドキュメントより、動くソフトウェアを
  3. 契約交渉より、顧客との対話を
  4. 計画に従うことより、変化への対応を

従来のウォーターフォール型開発は、プロセスや役割分担を重視していた。どこまで機能を作るのか契約交渉に時間を割き、計画に従うことに重きを置くといった具合に、要件が変化しても対応が簡単じゃなかった。こうした重量型開発への反動としてアジャイルが登場したんだ。

ただし、アジャイル開発はプロセスやツール・ドキュメント・計画などを否定している訳じゃない。「ドキュメントを作らなくていい」「計画を立案しなくてもいい」と誤解することもあるけど、「プロセスやツールより、個人との対話を」という場合の「~より」という言葉が重要になる。つまり、プロセスやツールにも価値を認めながらも、まず「個人との対話」に価値を置こう。その上でプロセスやツールを考えようということなんだ。

アジャイル開発には決まった形やプロセスはないけど、次のような開発手法がアジャイルの考え方に合致している。

  • スクラム
  • エクストリーム・プログラミング(XP)
  • ユーザー機能駆動開発(FDD)
  • リーンソフトウエア開発

これらも、厳密な開発プロセスだと勘違いすると、アジャイル開発のマインドセットから外れることになる。実際にソフトウェアを利用する顧客との対話を忘れると、ついついミニウォーターフォールなんてことになるから注意しよう。

関連ページ

おまけのコント

ウサギ:アジャイルって、ダンス・ボーカルユニットの名前みたい。

カエル:エグザイルみたいな?

ウサギ:そうそう。

カエル:アジャイルは俊敏・素早いって意味だから、キレッキレにダンスしそう。

ウサギ:ボクもやろうと思って、ダンスユニット。

カエル:踊れるの?

ウサギ:当たり前だろう。ウサギは俊敏だよぉ。

カエル:まあ、ピョンピョンはねるしネ。

ウサギ:「ソソラ ソラ ソラ うさぎのダンス」って歌もある。

カエル:たしかに。

ウサギ:カエルも参加してね?

カエル:えっ、オレも・・・踊れないよ。

ウサギ:カエルの歌で、メインボーカル。

カエル:まじカンベン。合唱隊にしてくれよ。