デザインとエンジニアリングの共通言語
デザイナーがエンジニアリングの原則を知っておくことは、実装可能で持続可能なデザインを作る上で非常に役立ちます。
KISS (Keep It Simple, Stupid)
「単純にしておけ、愚か者」
概要
システムは単純であればあるほど、理解しやすく、修正しやすく、壊れにくくなります。 「高機能で複雑な解決策」よりも、「問題を回避する単純な解決策」の方が常に優れています。
デザインへの適用
- 機能の詰め込みすぎを避ける : 「あれもこれも」とボタンを増やすのではなく、本当に必要な機能だけに絞る。
- 慣習に従う : 奇抜なナビゲーションよりも、ユーザーが慣れ親しんだ標準的なUIパターンを使う。
YAGNI (You Aren't Gonna Need It)
「それ、多分いらないよ」
概要
「将来使うかもしれないから」といって、今必要ない機能を作ってはいけません。 予想に基づく機能は、大抵の場合、実際に必要になった時には要件が変わっており、無駄になります。
デザインへの適用
- MVP (Minimum Viable Product) 思考 : 初期リリースに含める機能は最小限にする。
- 拡張性の幻想を捨てる : 「将来カテゴリーが増えるかも」と空のスペースを作るより、増えた時にデザインし直す方が健全です。
DRY (Don't Repeat Yourself)
「繰り返しを避ける」
概要
同じ知識(コード、ロジック)を二箇所以上に重複して書いてはいけません。修正が必要になった時、片方を忘れてバグになるからです。
デザインへの適用
- コンポーネント化 : 同じボタンやカードのデザインは「マスターコンポーネント」として一元管理する。
- デザインシステム : 色やフォントの定義(トークン)を一箇所で管理し、変更が全体に波及するようにする。
SoC (Separation of Concerns)
「関心の分離」
概要
プログラムを、それぞれが独立した「一つの役割」に集中するように分割すること。
デザインへの適用
- 情報の階層化 : コンテンツ(中身)、プレゼンテーション(見た目)、インタラクション(動き)を意識して設計する。
- モーダルとページの使い分け : 複雑な設定フローを小さなモーダルに詰め込まず、独立した設定ページに切り出す。