こんにちは、阿久梨絵です!
「この機能、あとで使うかも」
「念のため、今のうちに入れておこう」
──その“親切心”、実はプロジェクトを重くしているかもしれません。
YAGNI原則 (You Aren’t Gonna Need It)は、そんな“未来のための余計な準備”にストップをかける、開発者のためのシンプルな指針です。
YAGNI原則の意味と背景
YAGNIは「今必要ない機能は追加するな」という考え方。
1990年代後半、エクストリーム・プログラミング(XP)の中で提唱され、アジャイル開発の基本原則として広く知られるようになりました。
「必要になったら作る。それまでは作らない」
──それがYAGNIの本質です。
なぜ“余計な機能”が問題なのか?
| 問題点 | 内容 |
|---|---|
| コードが複雑になる | 使われない機能が混ざると、全体の構造が見えづらくなる |
| バグの温床になる | テストされない機能が、予期せぬ不具合を引き起こす |
| コストが増える | 実装・検証・保守に時間とリソースがかかる |
| 本質がブレる | “本当に必要なもの”が見えなくなる |
実例:YAGNI違反とその落とし穴
ありがちな失敗
「将来多言語対応するかも」と思って、今のうちに翻訳機能を入れておく
→ 実際には日本語だけで十分だった。翻訳APIの保守が面倒に…
YAGNIを守った判断
「今は日本語だけでOK。多言語対応が必要になったら、その時に設計する」
→ 実装はシンプルに。リリースも早く、保守もラク。
YAGNI原則を守るコツ
・要件にない機能は“今は作らない”
・「使うかも」ではなく「今使うか?」で判断
・チームで“追加理由”を明文化する
・リリース優先。拡張は後回し
まとめ
YAGNI原則 は、開発のスピードと品質を守るためのフィルターです。
「いつか使うかも」は、今のあなたには不要かもしれません。
まずは“今必要なもの”に集中することが、最短で価値を届ける近道です。
阿久梨絵でした!
