smaller steps are the best steps

Opening a bag of lozenges: I want to rip the bag, it doesn’t tear. Maybe with my teeth? I want to open it in one step.

Slow down, Jess, humans are tool users. Get the scissors. Cut the bag open. Return the scissors.

It’s more steps, what fun is that? but each step is easier than the hardest step in the original plan. It’s the hardest step that is limiting, not the quantity.

I think about this in code, too: three pieces of complexity 2 are, in aggregate, less complex than one piece of complexity 4. It isn’t the sum, it’s the maximum, that limits what we can understand.

In this post, Kent Beck applies this to refactoring. “There is a tradeoff between the cost of adding steps to a workflow and the expected cost of mistakes.”

Adding steps feels more expensive than it is. Slow is smooth, smooth is fast, even for household tasks.