liveBook · Manning

Pro-con-fix list

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

A decision-support list that records the advantages, disadvantages, and possible remedies associated with an option or set of options.

A Pro-Cons-and-Fixes list visualizes the consequences of an alternative by recording its advantages, disadvantages, and possible remedies. It extends a pro-con list by turning drawbacks into actionable questions rather than allowing discussion to dwell only on negatives. section 11.1.1 section 11.7

Build the list in this order:

  • Write the advantages first: identify everything gained by choosing the alternative. section 11.1.1
  • Record each disadvantage as a specific consequence of the design. section 11.1.1 section 11.7
  • Add one or more possible fixes beside every disadvantage, keeping the discussion oriented toward workable responses. section 11.1.1 section 11.7
  • Compare alternatives through their consequences and avoid vague entries that cannot stand on their own. section 11.7

Biking to work

Begin with the benefit that biking provides healthy exercise. Then list drawbacks such as taking longer, arriving sweaty, or getting wet in the rain. Pair the rain drawback with possible fixes, such as carrying an extra pair of clothes. section 11.1.1

Architecture decision

Use the list when several architecture options support a campaign such as “Anytime, Anywhere.” Capture benefits, drawbacks, and remedies so the group can discuss consequences visibly rather than relying on conversation alone. section 11.1.1

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

How deep it goes
Provides a four-step recording sequence and concrete examples, while stopping short of prescribing how alternatives are ultimately selected.
Examples
Uses biking-to-work drawbacks and an architecture supporting the “Anytime, Anywhere” campaign as concrete illustrations.
What it assumes
Assumes an alternative or set of options exists, while teaching the consequence-finding and visualization process from its basic structure.
What you can do after
Apply it via a Pros-Cons-and-Fixes list to compare options and turn disadvantages into actionable remedies.
How it connects
Connects collaborative modeling with tradeoffs, consequences, feedback loops, and Architectural Decision Records.

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.