ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

なぜウォーターフォールからアジャイルになったか(要求分析が一発で決まらないか)?

■問題:なぜアジャイル?なぜ要求分析が一発で決まらない?

昔、開発は、要求仕様を決めれば、設計、実装、テストの各工程を順々に
後戻り無く行える、つまりウォーターフォールで開発可能と考えられてきた。

しかし、現在、この考えを実現しているケースはすくなく、何らかの繰り返し要素があり、
(非ウォーターフォール)むしろ、一定サイクルで要求分析→設計→実装→テストを
繰り返し、逐次顧客の要望(反応)を入れながら開発するという、アジャイル開発の
方向に向かっているといって、過言ではないだろう。

では、なぜ、そうなったのだろうか?
言い換えると、なぜ、要求分析が一発で決まらないか?




■アプローチ:クネビン・フレームワークで考える

クネビン・フレームワークは、

非開発者のためのアジャイル開発入門
http://www.slideshare.net/kiroh/ss-14929935

の13シート目に、図が出ている。この図をみて、

クネビン・フレームワーク
http://www.myleverage.info/post/211556086/%E3%82%AF%E3%83%8D%E3%83%93%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF

の説明を見ると分かる。

直面する状況を「単純」「込み入った」「複雑」「カオス」「無秩序」にわける。
このうち、はじめの4つは、こんなかんじ(上記サイト「クネビン・フレームワーク」から引用)

「単純」明白な因果関係と適切解がある
「込み入った」因果関係は見つかるもはっきりせず、適切解が複数ある。
「複雑」流動的で予測不能で適切解がない。アイデアがぶつかり合い
「カオス」混乱が渦巻き因果関係がはっきりせず、解探しに意味がない。


昔は、システムは単純、ないしは込み入った状態だった。
だから、適切解は複数あるものの、だれかが決めれば、
開発する内容(=要求分析)は決定できた。
→これが昔、ウォーターフォールで開発できた理由であり、
 要求分析が一発で決まった理由。

 しかし、今は「複雑」な時代に入っている。
 この場合、アイデアというか利害関係がぶつかり、結果として
トレードオフになる。
 よって、ある時間、ある時点での開発する内容は決定できるが
その決定は、環境が流動的なので、時間が経つと、良い結果では
なくなる可能性がある。別のトレードオフが良いことも出てくる
 こうなると、前の決定を変えて、今現在最適な開発内容を行った
ほうがよくなるというか、そうするべきだ。
→これが、アジャイルになり、要求分析が一発で決まらない理由。




ってことは、世の中が複雑になるほど(価値観が多様化し、対立するほど)、
アジャイルになっていくということだ。



P.S 「クネビン・フレームワーク」について、昔、

クネビン・フレームワークがアジャイルとウォーターフォールを説明する鍵らしい
http://blog.goo.ne.jp/xmldtp/e/7e6319558c695d207eb2a8dfa026b8fe

で書いたけど、そのときのセミナーの資料が、たしか上記の

非開発者のためのアジャイル開発入門
http://www.slideshare.net/kiroh/ss-14929935