February 19, 20221 minute to read — Tags: mental models, leadership

A useful mental model I recently learned is enumerating the ‘left ditch’ and ‘right ditch’ solutions.

Imagine we’re steering a vehicle along a winding road and each turn is a new challenge. We want to avoid under-correcting to end up in the left ditch, and over-correcting to end up in the right ditch.

For example, say a software component has recently become unreliable, with frequent bugs and performance issues. A ‘left ditch’ under-correction may be to repeatedly add one-off “band-aid” bug fixes to each issue. A ‘right ditch’ over-correction may be a complete rewrite the component. A ‘just right’ solution may be introducing a new design pattern to the component that improves correctness, scalability, maintainability, etc, and gradually migrate the entire component to that new pattern.

At Glossier, we called this finding the ‘stage appropriate’ solution, and it’s a generalization of the spectrum of involvement. I’ve found it helpful to explicitly discuss what a ‘left ditch’ and ‘right ditch’ solutions would be, to open up the middle path for a ‘just right’ solution.

Aaron Suggs
Hi, I'm Aaron Suggs. 😀👋

Welcome to my personal blog. I'm a software engineer at Lattice, previously Glossier and Kickstarter. I live with my family in Carrboro, NC. Find me on Twitter, GitHub, and LinkedIn.