12558 shaares
312 private links
312 private links
YAGNI is not an excuse to never design as some critics have characterized it. If you need it, build it. YAGNI is a meditation on timing. Building structure too soon is as risky as building structure too late.
First bill: optionality
- When you build structure before the feature arrives, you're committing on a guess.
- The feature you prepared for usually isn’t the feature that shows up.
Second bill: NPV
- Money has time value. Structure you build now for a feature due in three months is cost pulled forward and revenue pushed back.
- The bill comes due even when your guess is right.
- The cost of typing the code is not even considered. What about maintenance?