The Computing Series

Reflection Questions

These questions are most useful when answered in writing before a team discussion, or when used as a retrospective prompt after a decision has been made.

  1. Think of the last significant technical disagreement in your team. Was it about correctness or preference? How long did it take to identify which?
  2. Where in your architecture is there a decision that was made by authority rather than by analysis? Is the tradeoff documented? Is the dissenting view recorded?
  3. When did your team last use “disagree and commit” genuinely — where the dissenting engineer implemented the decision as if it were their own? What made it genuine?
  4. What recurring technical disagreement in your organisation has not been resolved because the tradeoff has not been named? What is the tradeoff?

Design: Take a current or recent technical disagreement in your organisation. Classify it (factual, value, or architectural). Write the ADR that resolves it: name the AT codes both parties were optimising for, state which AT is more appropriate for this system’s current context and why, name the FM exposure each option creates, and specify the condition under which the decision should be revisited.

Read in the book →