プログラミングの世界にはYAGNI という原則が存在するらしい。
厳密にはアジャイル開発のフレームワークであエクストリームプログラミングというフレームワークの中でこのYANGIの原則は存在している。
詳しいことは調べてください。
エクストリームプログラミングとスクラム
エクストリームプログラミング(XP)とスクラム (Extreme Programming (XP) vs Scrum) : warren_lynchのblo...
(オリジナル英語記事: Extreme Programming (XP) vs Scrum)Extreme Programming(XP)は、開発チームにとってより高品質のソフトウェアとより高い生活の質を生み出すことを...
目次
YAGNIとはどういうものなのか
YAGNI とは、”You aren’t going to need it“の略で、直訳すると、、、
あなたはそれを必要としないだろう
という意味になるらしい。
実際の開発の現場では、「後で使う可能性がありそうと予測して開発したものはほとんど使われない」そのため、「使うかもしれないという予測でその開発に時間をかけるものではない」という様なニュアンスでYAGNIという言葉が使用される。
YAGNIの原則
僕なりの言葉でYAGNIの原則をまとめてみる。
- 「後で使われるかもしれない」という様な予測で開発したものは10%ほどしか実際には使われない。
- 余計な機能を開発するとリソースを無駄に使用することになる。
- 必要以上の機能を追加すると設計が複雑になる。
- 人生の時間は貴重だ。だから、将来使うかどうかわからない機能開発に時間を割くよりももっと現実の問題に集中すべきだ。
- 結局予測で開発した機能は全く使われないかもしれない。そうなると、あなたがそこに費やした時間や他の人がそれを見た時間は全て無駄になる。
- バグを減らす方法は、あまりコードを書かないこと。素早く実装する方法も、あまりコードを書かないことだ。
こんな感じです。このYAGNIの原則は、アプリケーション開発の現場だけでなく、日々のあらゆる場面で活かせる考え方になるのではないかと思います。
特にこの考え方が響いた
人生の時間は貴重だ。だから、将来使うかどうかわからない機能開発に時間を割くよりももっと現実の問題に集中すべきだ。
自分的にはこの考え方が心に響きました。
この記事が何か少しでも参考になりましたら幸いです。