そんなの必要ないって。
こんばんは、まみです。
突然ですが、YAGNI(ヤグニー) の原則ってご存知ですか?
YAGNI は、”You ain’t gonna need it” を縮めた形で、
直訳すると、
そんなの必要ないって、とか、
今必要のあることだけをやれ、とか。
実は これは、エクストリームプログラミングにおける開発原則の1つ。
「必要になるかもしれない」ことって、実際にはほとんど使われなくって、
しかも、今 必要のない機能を実現するためのコードが紛れ込んでいると、
ややこしくなって、読むのも無駄な手間がかかって、バグが入り込みやすくなる。
それに後で本当に必要になったとしても 結局そのままじゃ使えないことが多く
手直しが必要になったりして、そのことに費やした時間のほとんどは無駄になる。
だから、
機能は実際に必要となるまでは追加しない。
その代わりに、
設計→実装→テスト→リリース→ふりかえり のサイクルを
短期間でどんどん繰り返して、徐々に完成系に近づけていく。
変更に対する柔軟性と確実な動作、見通しの良さを確保しながら。
従来の手法なら、初期の段階で起こりうる問題をすべて洗い出して、
前もって拡張性を持たせておくのが良しとされていたのですが、
それと真逆をいく考え方なのです。
もちろん、この開発手法はどんなプロジェクトでも適用できるものではなく、
現実に実践しようとすると、問題点もあったりします。
でも、この考え方は私が何かしようと思うときに、すごく役に立っているのです。
私がシステム開発の現場で学んだことって、
プログラミングとか個々のスキルというよりも、
「モノづくりのやり方・考え方」そのものだったのだと、あらためて思いました。
P.S.
私、人生も YAGNI の法則で進めてたみたいで、
これまで 運転免許を持ってなかったんですね。
で、今さら 免許を取ろうとしている(笑)
これは、学生時代の方が取りやすかったかも(^^;
by mammina
http://ameblo.jp/odekakest/
2012年6月10日




