そんなの必要ないって。

起業家のタマゴのつぶやき

こんばんは、まみです。
突然ですが、YAGNI(ヤグニー) の原則ってご存知ですか?

YAGNI は、”You ain’t gonna need it” を縮めた形で、

直訳すると、
そんなの必要ないって、とか、
今必要のあることだけをやれ、とか。

実は これは、エクストリームプログラミングにおける開発原則の1つ。

「必要になるかもしれない」ことって、実際にはほとんど使われなくって
しかも、今 必要のない機能を実現するためのコードが紛れ込んでいると、
ややこしくなって、読むのも無駄な手間がかかって、バグが入り込みやすくなる。

それに後で本当に必要になったとしても 結局そのままじゃ使えないことが多く
手直しが必要になったりして、そのことに費やした時間のほとんどは無駄になる

だから、
機能は実際に必要となるまでは追加しない

その代わりに、
設計→実装→テスト→リリース→ふりかえり のサイクルを
短期間でどんどん繰り返して、徐々に完成系に近づけていく。
変更に対する柔軟性と確実な動作、見通しの良さを確保しながら。

従来の手法なら、初期の段階で起こりうる問題をすべて洗い出して、
前もって拡張性を持たせておくのが良しとされていたのですが、
それと真逆をいく考え方なのです。

もちろん、この開発手法はどんなプロジェクトでも適用できるものではなく、
現実に実践しようとすると、問題点もあったりします。

でも、この考え方は私が何かしようと思うときに、すごく役に立っているのです。

私がシステム開発の現場で学んだことって、
プログラミングとか個々のスキルというよりも、
「モノづくりのやり方・考え方」そのものだったのだと、あらためて思いました。

P.S.
私、人生も YAGNI の法則で進めてたみたいで、
これまで 運転免許を持ってなかったんですね。

で、今さら 免許を取ろうとしている(笑)
これは、学生時代の方が取りやすかったかも(^^;

by mammina
http://ameblo.jp/odekakest/


« »

コメントは停止中です。