Skip to main content

> Term

design trade-off

A deliberate compromise made in system design, where an advantage in one area causes a disadvantage in another.

Detailed Explanation

A deliberate compromise in engineering where choosing an advantage (like extreme speed) inevitably creates a disadvantage (like eventual consistency or high infrastructure cost).

There are no perfect solutions in software architecture, only a series of trade-offs that must be accepted and managed by the business.

Why It Matters

Failing to acknowledge trade-offs leads to unrealistic expectations and fragile architectures trying to be perfectly fast, cheap, and reliable simultaneously.

Common Failure Mode

A team tries to build a system that is instantly responsive, 100% strongly consistent, and virtually free to run, resulting in a system that achieves none of the three.

Practical Example

Accepting that a search index might be up to 5 minutes out of date (consistency trade-off) in order to provide sub-50ms search results to the end user (latency advantage).

Production Manifestation

Acknowledged tech debt, defined SLAs, architectural decision records (ADRs), and intentional caching strategies.

Frequently Asked Questions

What is design trade-off in short?

A deliberate compromise made in system design, where an advantage in one area causes a disadvantage in another.

What is the most common failure mode?

A team tries to build a system that is instantly responsive, 100% strongly consistent, and virtually free to run, resulting in a system that achieves none of the three.

AI Summary

A deliberate compromise made in system design, where an advantage in one area causes a disadvantage in another. Failing to acknowledge trade-offs leads to unrealistic expectations and fragile architectures trying to be perfectly fast, cheap, and reliable simultaneously.