[ooaa main]  [object pasta2]   [essence] (旧blogはこちら)  [flickr]  [myspace]  [View Eiichi Hayashi's profile on LinkedIn] 

アジャイルは自然

PMBOKを見てると、改善やPDCAサイクルのことを見ると、アジャイルの事を言ってるように読めてしかたがないんです。 なのになぜ、ソフトウェア開発において、改善ループのある開発がほとんど行われていないのが現状なのか。


それは一つに、ソフトの開発のインフラがそうぜざるをえなかったからと推測できます。  設計してコーディングはコーディングシートに手で記入して、それをキーパンチャーにうってもらって、紙カードとか紙テープにしてもらった、よみこませコンパイルしてリンクして実行っていうのが、あたりまえの開発環境で、CPUの占有時間の問題で1日に一回しかコンパルできなかったり。
だから、机上デバックとか綿密にやっていたし、手戻り=コスト高なのでしっかり行程をふんで終わらせて次ぎというやりかたしかできなかったわけです。


いまはというと、パソコン上で、ソースをセーブするだけでコンパルされ、実行環境までパソコンにあってそのまま動かして確認できる。それこそ、テストも自動で実行できる。  開発を取り巻く環境自体がかわっていて、ソースのリファクタリングコストが飛躍的に下がっているわけです。


実際のビジネスの現場で機能を少しづつつかってみて検証しながら、修正を加え続けることでそこに適合した、最善のものに昇華させていくことができる。 これは、ソフトウェア開発意外では至極あたりまえのことに見えます。 それがソフトウェアでできる環境が整っているにも関わらず、そうしないということは、ただたんに不自然なことのように思えます。


開発の方法は、それをとりまく、ツールの性能によって、どんどん変わっていくべきで、それこそもっと進んだら、アジャイル自体も効率がわるい古い方法になっていくでしょう。 必要なのは、方法を「守る」ことに固執しないこと、「自分の頭」で考え続けることだと信じます。


※追記
kanuさんによると ITILもかなりアジャイルしているそうだ。