Laws of Software Engineering · Saying
Saying
YAGNI (You Aren't Gonna Need It)
Do not build features you might need someday.
How to use it. Refuse to add things "in case". Build for the situation you are actually in.
How it gets misused. Used to refuse all forward thinking. YAGNI is about features. Flexibility is a separate question. Design for change. Build only what is needed now.
Related
-
Principle Beck's Four Rules of Simple Design A simple design passes its tests, makes intent clear, has no duplicated knowledge, and uses the fewest elements possible. The rules apply in that order.
-
Saying Reversibility (Two-Way Doors) Some decisions are easy to undo. Some are not. Spend more time on the ones that are not.
-
Pattern Gall's Law Complicated systems that work always grew out of simple systems that worked.
Clusters
- The Code Design cluster - How to write code that survives change.