Thinking one move ahead

If your goal is to win at chess and you can undo moves on one game but not the other, you should choose the one where you can undo 100% of the time.

Thinking one move ahead
Chi enjoying the cat bed on the desk while I work
“I only see one move ahead but always the correct one.”
— Capablanca (falsely but widely attributed)

I’ve been thinking about iterative planning, architecture, strategy, agile, self-efficacy, big project failures, estimates, and a number of other related topics to the following human challenge:

“How can we effectively solve large problems that require many complex steps?”

Be it building a big piece of software, winning a chess game, finding the right place to live or life partner, or a bridge, there seems to be always two approaches to future-proofing and succeeding:

Future predictability: I’ll outline the future in detail, it’ll happen as I predicted, and I’ll succeed.

Future flexibility: No matter what comes my way, I’ll adjust based on what happens, and I’ll succeed.

Is it crucial to plan for the future, or are we being silly and victims of the saying “people make plans and God laughs at them?”

Should we adjust as we go, or is this just an excuse, we’ll be accused of “winging it” and just end up stuck in a corner?

I’ll start with Steve Wozniak, the other Steve behind Apple.

Writing code in the 1970s

“I wrote my programs in machine language on paper … I would write the ones and zeros down in Base-16 … and I would type that into my own computer. … I never used a computer [to write BASIC], I hand-wrote it.”
— Steve Wozniak

Even back in the 1970s, writing a whole language implementation on a notebook before manually transcribing it to a computer in machine code was an incredible feat. It’s like composing a song directly on sheet music for an orchestra and having it sound great the first time they play it.

The reason why it is incredible is that so many things could have gone wrong. When writing code, engineers today typically depend on feedback on just one or two lines of code before they continue. How does it look? Does it work? Is it good?

Part of the challenge is that it takes a genius of the stature of Woz to write something like that from scratch and have it work on the first try.

But given the choice, Woz would probably prefer to write his code in a computer, where he could run, test, and adjust. It’d also most likely result in a better program.

Of course, oftentimes, just like in Woz’s case, getting feedback as we go is just not an option.

Planning is hard, so we don’t do it

In How Big Things Get Done, Ben Flyvbjerg explores many funny big projects gone wrong. One of the most amusing is the Pentagon plan, which was rushed and had to be completely scratched.

So why didn’t Somervell realize that there was a much better site available before he sought and got approval for the original design? Why didn’t any of those who approved the plan spot the flaw? Because Somervell’s plan was so absurdly rushed and superficial that no one had even looked for other sites, much less considered their relative merits carefully. They had all treated the first suitable site identified as the only suitable site and hurried to get construction going as quickly as possible. Such limited vision is rooted deep in our psychology, as we will see later. That doesn’t make it any the wiser for big projects.

Flyvbjerg, Bent; Gardner, Dan. How Big Things Get Done(p. 25). (Function). Kindle Edition.

I what he calls “commitment fallacy,” we avoid evaluating things before we start, and instead, start right away with whatever we have in place.

Starting quickly is a great approach if changing your path is cheap, but a losing approach if changing your path is expensive.

I’m learning to play chess now, and I frequently undo moves that I haven’t carefully evaluated. If my goal is to win, but I can undo infinite moves, I don’t need to think much.

But of course if I can’t undo chess moves, the stakes for making the right move are much, much higher.

When deciding between planning versus acting, I think that’s a good way to think about it:

“If this were chess, is this a move I could undo, or am I stuck with it for the rest of the match?”

Of course life only imitates chess slightly: in practice, we can undo many moves.

Two-way doors

Jeff Bezzos has a famous note about one-way and two-way doors in one of his Amazon letter to shareholders:

Some decisions are consequential and irreversible or nearly irreversible – one-way doors – and these decisions must be made methodically, carefully, slowly, with great deliberation and consultation. If you walk through and don’t like what you see on the other side, you can’t get back to where you were before. We can call these Type 1 decisions. But most decisions aren’t like that – they are changeable, reversible – they’re two-way doors. If you’ve made a suboptimal Type 2 decision, you don’t have to live with the consequences for that long. You can reopen the door and go back through. Type 2 decisions can and should be made quickly by high judgment individuals or small groups.

I didn’t remember, but Jeff actually went on to share how he believes organizations tend to make heavy planning decisions even in situations where we could adjust as we go, which is part of my argument:

As organizations get larger, there seems to be a tendency to use the heavy-weight Type 1 decision-making process on most decisions, including many Type 2 decisions. The end result of this is slowness, unthoughtful risk aversion, failure to experiment sufficiently, and consequently diminished invention.

What I like about this framing is that there are clearly 2 types of games: in some, you adjust as you go, and in some, you pre-play all your moves.

You can’t always choose what game to play, but when you can, you should play games that you can adjust as you go.

Or, to put it bluntly, if your goal is to win at chess and you can undo moves on one game but not the other, you should choose the one where you can undo 100% of the time.

That adjustment as you go is at the core of the Lean Startup mindset, but it can be applied to anything.

The Build, Measure, Learn mindset

The truth is that none of these activities by itself is of paramount importance. Instead, we need to focus our energies on minimizing the total time through this feedback loop.

Ries, Eric. The Lean Startup. Kindle Edition.

In a way, whether we’re making a one-way door decision or a two-way door decision, we’ll eventually get feedback about what we did. Feedback is how we learn, and learning is only valuable if we can do something with it.

Let’s say you play chess, and you pre-play all your moves. Learning something different doesn’t matter because you’re not acting on that learning to play differently anyway.

The ability to act quickly in light of new information is often the critical difference between one-way and two-way doors, and whether you must plan upfront or adjust as you go.

In a certain way, there’s no single best approach: planning or adjusting. There’s only one approach that is best given my current timing to learn and ability to act based on that.

All else being equal, if you can learn and act quickly (and cheaply), that’s almost always (dare I say always?) preferable to pre-planning your steps.

Because we are bad planners, and bad at predicting the future.

Learning is better than planning

The world is complicated, and many things are big, hard, expensive, and inflexible.

But given the option to plan around these constraints, or being better at learning and acting quickly by making things small, easy, cheap, and flexible, you almost always want to focus on the latter.

This comes up in software development, but also many other areas where the cost of acting and learning can be reduced: strength training, BJJ training, learning to play the guitar, writing, investing, parenting, .. the list goes on.

The ability to learn and act quickly is more valuable than all but the perfect plan, .. and there are no perfect plans.

Which gets me to the final thing I wanted to talk about: self-efficacy.

Learn to learn.. and act quickly

Self-efficacy is the name given to our belief in our ability to adjust to challenges that come our way.

I strongly believe a lack of self-efficacy is at the root of anxiety for many of us. There are three causes that act in conjunction to make us feel anxious:

  1. Our inability to predict the future
  2. Our lack of confidence that we can address future unknown challenges
  3. Our attachment to values that these challenges may disrupt

On #1, although our ability to predict the future can improve somewhat through wisdom acquired through books and other sources, overall life is such a complex system that it’s virtually impossible to simulate.

On #3, although we may embrace a Stoic philosophy or similar mindset of reducing our attachments, it’s extremely hard to remove our values, particularly critical ones like family and health, but even trivial ones like money.

But #2, we can really control. If we’re competent, we can deal with way more situations than if we’re incompetent. And people’s competence in different problem areas can vary greatly.

While you can’t precisely predict the future, and you can’t easily detach from your values, you can become more competent and more confident in your ability to overcome challenges.

And that can give you the necessary tools to not only succeed, but also reduce and sometimes even altogether avoid anxiety.

How to think one move ahead

Thinking one move ahead in a game of chess is a silly way to play unless you can learn from your mistakes and easily undo moves.

In real life, you can either learn how to play perfect chess..

..Or you can find games where you can learn quickly and try again.

The way to undo moves is to build competence. The better you are, the more capable you’ll be to act quickly based on new information, and the less necessary it will be to pre-make a number of decisions and count on your ability to predict the future.

Being able to plan well and predict the future is still valuable: If change is expensive, revising decisions is impossible, feedback is long, or learning is nonexistent, you’ll want to spend as much time planning as you can.

But whenever you do have a choice, it’s better to shape yourself and your environment so that progress comes from small bets, fast lessons, and recoverable mistakes.

Play games where you can learn and undo, and you’ll never have to worry about what the future holds.