アジャイルとはなんぞや
この記事はアジャイルCasual Advent Calendar 2014の9日目のエントリです。
前回はayasudaさんの「PDCA as a Game」でした。PDCA導入時のあるあるや、PDCAを楽しむためのayasudaさんなりのアプローチが書かれていました。
アジャイル Casual Calenderの9日目となる本日はご覧の通りの表題から始めたいと思います。もしかしたら皆さん既にご存知で何を今更、と思われることばかりかも知れませんが優しく見守っていただければと思います(予防線)
アジャイル=開発手法?
なぜアジャイルという言葉がこんなにもソフトウェア業界でもてはやされるようになったのでしょうか
「アジャイル」という言葉をgoogleにお尋ねすると言葉の意味などよりも先に「アジャイルソフトウェア開発」がトップにランキングされている今日、アジャイルといえばソフトウェア開発における一手法である、という認識が一般的なようです。
しかしながらもともとの「アジャイル(agile)」という言葉はただの形容詞でしかありません。意味は「すばしこい、身軽な、敏捷な」対義語としては「dully」(鈍く、ぼんやり、不活発に、退屈するように)あたりでしょうか。
上記のwikipediaの記事でもあるとおり、"アジャイル"ソフトウェア開発という言葉の初出は2001年になります。それまでは「軽量ソフトウェア開発」などの呼称で呼ばれていたようです。つまりはそれまで(文脈としてはアジャイルソフトウェア開発宣言が出されるまででしょうか)は「鈍重な」ものであることが多かったソフトウェア開発に、「機敏さ」を獲得する(あるいは取り戻す)ことが必要だとされたのでしょう。
Why Agile?
ではなぜ「アジャイル」であることがソフトウェア開発に求められたのか。4日めのshin_semiyaさんのエントリ(時は80年代、仕様は変化することがわかった)に書かれているとおり、「仕様が変化する」という事実が人類に周知されたことにより、それまでの「鈍重な」大規模計画駆動型プロジェクトではコストに見合う価値を届けることが難しいということに人類が気づきはじめたことと深く関係しています。
そんな環境の中で、ソフトウェア開発手法の分野において成功を収めていた17人がスキーリゾートに引きこもって考えた結果、「アジャイルソフトウェア開発宣言」がつくられました。
それぞれソフトウェア開発において、異なる手法を提唱していた彼らにあって、「顧客満足を最優先い、価値のあるソフトウェアを早く継続的に提供」するためには「機敏であること」が必要である、ということについて意見の一致を見たのです。
What's Agile?
では「機敏である」とはいったい何なのか?アジャイル宣言の背後にある原則にさまざまな原則が示されています。定められてから13年が経過したこんにちにおいてもこれらの原則は決して、陳腐化していません。むしろ未だに軽視されていると感じることが多くあります。
世にあるさまざまなアジャイル開発手法とよばれるプラクティス郡は、総じてこの原則を基としています。あらためてこの原則を確認した上で、普段活用しているプラクティスを振り返ることでより深く、プラクティスが根ざす原点を学ぶことができるでしょう。
終わりに
アジャイルソフトウェア開発宣言がなされてから13年。アジャイルという言葉それ自体はソフトウェアに係る人間であれば、ほとんどの人間が知るようになりました。また、ソフトウェアという存在自体も、13年前よりも更に身近に、なくてはならないものとなっています。しかしながら、アジャイルという言葉の根ざす根本はいまだ十分に理解されたとは言いがたい現状があると思います。
あらためてアジャイルソフトウェア開発宣言とアジャイル宣言の背後にある原則を通して、古きを温ね新しきを知るのはいかがでしょうか?
最後にアジャイルのもう一つの原則を記して、終とさせていただきたいと思います。
「Not do agile, be agile」