When considering options, don't compare options of differing levels of fidelity.

· Bits and Bobs 12/9/24
  • When considering options, don't compare options of differing levels of fidelity.
    • The effort to take a high-level ambiguous solution to increasing levels of fidelity takes significant time and effort… and also likely uncovers more unknown unknowns.
      • These unknown unknowns might turn out to make the entire solution non-viable.
    • Fidelity increases by an order of magnitude in each of these phases:
      • A high-level sketch of a solution
      • A design doc of a plausible solution
      • A prototype of a plausible solution
      • A solution working in the real world today
      • A solution that has worked in the real world for a decade
    • Each order of magnitude of fidelity requires an order of magnitude of work to accomplish.
      • Each timestep of work to flesh out has a non-trivial chance of discovering a game-over condition for that solution.
      • Some abstract ideas sound great, but as you flesh them out they disappear, like a mirage.
    • Ideas only get less pure as you develop them to higher fidelity.
    • If you compare one option that is at high-level sketch, it will look pure, clean, and promising, especially compared to a messy, bug-ridden prototype.
      • But the work to create the extra fidelity in the former will almost certainly make it messy, too.
      • And worse, the other approach might turn out to be non-viable as you develop it.
    • Pick the pre-existing thing that is the highest level of fidelity that is a good enough match to your specific problem domain.