Skip to content
All insights
EngineeringMaintenance4 min read

The compounding cost of YAGNI violations

Every "we might need this someday" feature is a small loan against future maintenance. Across years, the interest is enormous.

You add a config option "in case someone needs it." You add a generic interface "so we can swap it later." You add a flag "to support multi-tenancy when we get there." None of these are needed. All of them are now in the code.

Why it compounds

Each speculative feature has to be maintained as long as the code lives. It has to be tested, documented, considered in every refactor, navigated around by new hires. Most of them are never used. All of them cost.

How to resist

Add the feature when you actually need it. The argument "it's easier to add it now" is almost always wrong — it's just easier to think about it now. Adding it later is cheap. Removing it later is expensive.

You aren't gonna need it. Even if you are, you can add it then.

Most operations are behind where they could be.

Book a strategy call. We'll map one system worth automating in the next 30 days. No pitch, just the plan.