liveBook · Manning

Tradeoff

As explained in Collaborative Software Design: How to facilitate domain modeling decisions

A balance between competing advantages, disadvantages, costs, or consequences among alternative choices.

A tradeoff makes the consequences of competing design alternatives visible: choosing one option preserves some benefits while giving up others. Comparing alternatives prevents preference or majority support from hiding what the decision excludes. section 11.1.1

Make tradeoffs useful by:

  • Creating several models for the same problem before converging. section 4.5.3
  • Comparing what each alternative provides and the downsides it introduces. section 11.1.1
  • Turning disadvantages into concrete, actionable fixes rather than unresolved questions. section 11.1.1
  • Considering the complete list of consequences, including effects that may be neutral for one team but costly for another. section 11.1.1

A practical comparison

Suppose two architecture designs remain plausible. Write what Alternative A provides and costs, then do the same for Alternative B. The benefits unavailable after choosing one option are part of its tradeoff. Record the comparison in a Pros-Cons-and-Fixes list, research whether each fix is possible, and capture the decision and consequences for later reference. section 11.1.1 section 11.7

Figure 4.18 A simple tradeoff exercise filling in why one model has a better tradeoff than the other

Use the tradeoff exercise to state why one model offers a better balance than another. section 4.5.3

How Collaborative Software Design: How to facilitate domain modeling decisions covers it

How deep it goes
Explains comparison, consequence capture, actionable fixes, and facilitation responses, while deferring detailed decision-making techniques.
Examples
Uses small-group model variants, architecture alternatives, Pros-Cons-and-Fixes lists, and the Anytime, Anywhere architecture example.
What it assumes
Assumes competing design alternatives and group discussion, while teaching how to compare consequences and make fixes actionable.
What you can do after
Evaluate alternatives, identify their consequences, define actionable fixes, and document the resulting decision.
How it connects
Connects tradeoffs with collaborative modeling, Pros-Cons-and-Fixes lists, architectural decision records, consequences, and feedback loops.

Also explained in

Compare how 5 books explain tradeoff →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Collaborative Software Design: How to facilitate domain modeling decisions. The section links point to the parts of the book it draws on.