#293
UI設計パターン
#293やぐに
YAGNI (You Aren't Gonna Need It)
別名・表記:YAGNIYou Aren't Gonna Need It必要になるまでやるな
UIXHERO Definition
「使うかどうかわからない機能は、作るな」。
概要
XP(Extreme Programming)の共同創始者であるロン・ジェフリーズによって広められた。 「将来必要になるだろう」と予測して作った機能の多くは、実際には使われなかったり、必要になった時には仕様が変わっていたりする。 無駄な機能を作ることは、開発コストの浪費だけでなく、コードを複雑にし、バグの原因となり、将来の修正コスト(負債)を増やすことになる。
UXでの活用
- MVPの開発: 最初から完璧な製品を目指さず、コアとなる価値(Unique Value Proposition)を提供できる最小限の機能セットに絞り込む。
- ユーザビリティテスト: テスト結果に基づいて、ユーザーが「本当に必要としている機能」だけを追加する。推測で機能を追加しない。
- 画面のシンプル化: 「あると便利かも」レベルのボタンやリンクを削除し、ユーザーが迷わないUIにする。
💡 使いどころ
チームが「念のため、この機能もつけておこう」と言い出した時。仕様が膨らみそうな時のブレーキとして。
⚠️ 注意点・誤用
拡張性を完全に無視していいわけではない。設計は変更に強い(疎結合な)状態にしておくべきだが、機能の実装はJust in Time(必要になった瞬間)に行うのが最も効率的である。
具体例
- 「将来管理者が使うかも」といって最初から複雑な権限管理システムを作る(結局誰も使わない)
- 「多言語対応するかも」といって最初から英語対応を入れる(結局国内だけで終わる)
出典・参考文献:
- Ron Jeffries / Extreme Programming