Plans Prevent Progress

Any time I see a system that looks broken, I always try to figure out how it could be better. What does the ideal system look like? Answering this question is fun, but it is ultimately unproductive. As a recreational activity, attempting to design the perfect system is great, but real change requires a different approach.

Too many times I've been burned by attempting to plot the perfect course before I set sail. Any time I begin a project this way, one of two things happens:

  1. I lose stamina because I've bitten off more than I can chew.
  2. I realize that my mental model of the problem doesn't match reality.

This lesson has been hard-fought. Making big plans is fun, and executing big plans is hard, so each time I start a new project I spend more time planning and less time acting.

Plus, beginning a journey without a map feels like poor planning. But the alternative is to create the map before leaving home. Don't do this; your map will be totally wrong! Making a plan before acting is just extrapolating—poorly—from the information you already have. Travelling with a guess at a plan feels safer than traveling without one, but it isn't.

Instead, the correct approach is a sort of real-life gradient descent. Don't plan. Instead, look around for a moment and take a reasonable first step. Then reevaluate and step again. Rinse and repeat.

This is great news, because small steps are easy. Convincing yourself to do something small is far easier than making the entire plan up-front. No story demonstrates this better than the parable of stone soup found in The Pragmatic Programmer:

The three soldiers returning home from war were hungry. When they saw the village ahead their spirits lifted. They were sure the villagers would give them a meal. But when they got there, they found the doors locked and the windows closed. After many years of war, the villagers were short of food, and hoarded what they had.

Undeterred, the soldiers boiled a pot of water and carefully placed three stones into it. The amazed villagers came out to watch.

"This is stone soup," the soldiers explained. "Is that all you put in it?" asked the villagers. "Absolutely. Although some say it tastes even better with a few carrots." A villager ran off, returning in no time with a basket of carrots from his hoard. A couple of minutes later, the villagers again asked "Is that it?" "Well," said the soldiers, "a couple of potatoes give it body." Off ran another villager.

Over the next hour, the soldiers listed more ingredients that would enhance the soup: beef, leeks, salt, and herbs. Each time a different villager would run off to raid their personal stores.

Eventually they had produced a large pot of steaming soup. The soldiers removed the stones, and they sat down with the entire village to enjoy the first square meal any of them had eaten in months.

The parable of stone soup is clearly about convincing—no, tricking—other people to join a project, but the target doesn't have to be someone else. You can trick yourself too! Taking small steps makes big actions easy. Take advantage of that fact, and start small today.