YAGNI - You Aren't Gonna Need It
When designing systems or writing code
Understanding the Rule
Don't build features or functionality until you actually need them. Future needs are often wrong predictions. Build for current requirements, not speculative future ones.
What Happens When You Break It
Building for imagined futures creates unnecessary complexity, wastes development time, builds unused features, and creates technical debt maintaining speculative functionality.
Benefits of Following This Rule
Building only current needs simplifies systems, saves time, reduces complexity, maintains agility, and ensures effort serves actual requirements.