Skip to main content
The Hard Parts.dev
TD-29 Quality Delivery TD Tech Decisions
Severity if wrong · medium Freq · common

Convention over Configuration vs Flexibility

Usually a simplicity-vs-variance decision.

Severity if wrong
medium
Frequency
common
Audiences
framework and platform teams · product engineers · architects
Reversibility
moderate
Confidence
high
At a glanceTD-29
Really about
How much optionality users or teams really need versus how much complexity that optionality introduces.
Not actually about
Whether more options automatically means a more capable system.
Why it feels hard
Conventions simplify the common path; flexibility accommodates edge cases and future diversity.

The decision

Should the system prefer opinionated defaults or expose more configuration flexibility?

Usually a simplicity-vs-variance decision.

Default stance

Where to start before any evidence arrives.

Prefer strong conventions with carefully justified escape hatches.

Options on the table

Two poles of the trade-off

Neither is the right answer by default. Each option's conditions, strengths, costs, hidden costs, and failure modes when misused are laid out in parallel so you can read across facets.

Option A

Convention over Configuration

Best when

Conditions where this option is a natural fit.

  • common path is dominant
  • variation is low-value
  • simplicity matters strongly

Real-world fits

Concrete environments where this option has worked.

  • internal frameworks
  • developer tooling with strong paved roads
  • products where supportability matters more than rare edge-case freedom

Strengths

What this option does well on its own terms.

  • faster adoption
  • lower cognitive load
  • simpler support

Costs

What you accept up front to get those strengths.

  • less flexibility
  • edge cases may chafe

Hidden costs

Costs that surface later than expected — the main thing novices miss.

  • teams may work around rigid defaults in unofficial ways

Failure modes when misused

How this option breaks when applied to the wrong context.

  • Creates covert customization outside the official model.

Option B

Flexibility

Best when

Conditions where this option is a natural fit.

  • variation is real and valuable
  • consumer needs differ materially
  • opinionated default would be too constraining

Real-world fits

Concrete environments where this option has worked.

  • broad platform products
  • frameworks serving materially different consumers
  • systems where controlled variation is part of the value proposition

Strengths

What this option does well on its own terms.

  • broader fit
  • better accommodation of real variance

Costs

What you accept up front to get those strengths.

  • higher complexity
  • more docs and support burden
  • more combinatorial behavior

Hidden costs

Costs that surface later than expected — the main thing novices miss.

  • config surfaces can become a product of their own

Failure modes when misused

How this option breaks when applied to the wrong context.

  • Creates complexity through optionality few users actually need.

Cost, time, and reversibility

Who pays, how it ages, and what undoing it costs

Trade-offs are rarely zero-sum and rarely static. Someone pays, the payoff curve shifts with the horizon, and the decision has an undo cost.

Cost bearer

Option A · Convention over Configuration

Who absorbs the cost

  • Edge-case consumers

Option B · Flexibility

Who absorbs the cost

  • Framework owners
  • Support and docs maintainers
Time horizon

Option A · Convention over Configuration

Usually wins through lower complexity and stronger defaults.

Option B · Flexibility

Wins when real variance persists and is worth supporting explicitly.

Reversibility

What undoing costs

Moderate

What should force a re-look

Trigger conditions that mean the answer may have changed.

  • Real variation patterns emerge
  • Workarounds increase

How to decide

The work you still have to do

The reference can frame the trade-off; only you can weight the factors against your context.

Questions to ask

Open these in the room. Answering them is most of the decision.

  • Is this option needed often or only imaginable?
  • What support burden does each configuration option create?
  • Can we solve this with defaults plus escape hatches instead of broad flexibility?
  • Who actually benefits from each extra knob?

Key factors

The variables that actually move the answer.

  • Value of variation
  • Common path strength
  • Support burden
  • Cognitive load

Evidence needed

What to gather before committing. Not after.

  • Config usage data
  • Variation request patterns
  • Support burden analysis

Signals from the ground

What's usually pushing the call, and what should

On the left, pressures to recognize and discount. On the right, signals that genuinely point toward one option or the other.

What's usually pushing the call

Pressures to recognize and discount.

Common bad reasons

Reasoning that feels convincing in the moment but doesn't hold up.

  • Flexibility is always better
  • Conventions are paternalistic

Anti-patterns

Shapes of reasoning to recognize and set aside.

  • Adding config options for hypothetical future needs
  • Forcing rigid conventions that drive unofficial workaround ecosystems

What should push the call

Concrete signals that genuinely point to one pole.

For · Convention over Configuration

Observations that genuinely point to Option A.

  • Clear dominant path
  • Support simplicity matters

For · Flexibility

Observations that genuinely point to Option B.

  • Repeated high-value variation needs

AI impact

How AI bends this decision

Where AI accelerates the call, where it introduces new distortions, and anything else worth knowing.

AI can help with

Where AI genuinely reduces the cost of making the call.

  • AI can analyze config usage to find dead or valuable variation.

AI can make worse

Distortions AI introduces that didn't exist before.

  • AI can cheaply add configuration surfaces, inflating optionality without real demand.

Relationships

Connected decisions

Nearby decisions this is sometimes confused with, adjacent decisions that are often entangled with this one, related failure modes, red flags, and playbooks to reach for.

Easy to confuse with

Nearby decisions and how this one differs.

  • That decision is about whether a solution covers multiple cases. This one is about how much the solution's user can tune it within one case.

  • That decision is about variance across instances. This one is about configurability within one instance.

  • Adjacent concept A defaults-design decision

    Good defaults are the implementation. This decision is the philosophy that determines whether defaults are strong or just present.