Robert Zaremba Blog

Applying Lean methodology to do hard things.

Note on my Facebook.

Recently I’ve stumbled upon a great article: “How to do hard things” by David R. MacIver. I found that the technique he proposes follows the Lean Principles. Lean is all about baby steps and early feedback:

  • Find a pivot which is at yours fingertips and which brings the value.
  • Do your best to achieve that pivot. Build!
  • Measure what is working what is not.
  • Learn from the work - try to get the best sense of what is good enough (now, in the future etc...). Learn what you did well what bad. Learn if the pivot was successful. Learn how much closer you are to the customer satisfaction (try to be quantitative).

David proposes a single loop system, which basically applies the Lean Methodology to a hard work: pivot on a next hard component you have to solve - choose the easiest one among the hard components. Try to build it. Check how it works. Get the learning.

One important note is that Lean is not meant to create the fastest working cycle. Contrary! It’s meant to find the one you can build upon and have solid products!

How to do hard things by David R. MacIver.

The Single-Loop System

When you know what success looks like but cannot currently achieve it, the system works as follows:

  1. Find something that is like the hard thing but is easy.
  2. Modify the easy thing so that it is like the hard thing in exactly one way that you find hard.
  3. Do the modified thing until it is no longer hard.
  4. If you get stuck, do one of the following:
    1. Go back to step 3 and pick a different way in which the problem is hard.
    2. Recursively apply the general system for learning to do hard things to the thing you’re stuck on.
    3. Go ask an expert or a rubber duck for advice.
    4. If you’re still stuck after trying the first three, it’s possible that you may have hit some sort of natural difficulty limit and may not be able to make progress.
  5. If the original hard thing is now easy, you’re done. If not, go back to step 2.

The reason this works much better than just practicing the hard thing is because it gives you a much more direct feedback loop. There is exactly one aspect of the problem at any time that you are trying to get better at, and you can focus on that aspect to the exclusion of all else. When you are practicing something that is difficult in multiple ways, you will be bad at it in all of those ways. More, you will be worse at it in all of those ways than you would be if you’d tried them on their own. Additionally, when you fail you have to do a complicated root cause analysis to figure out why.

Instead, by isolating one aspect of the problem that is difficult, you will fairly rapidly improve, or hit the limits of your ability.

The Double-Loop System

If you don’t know what success looks like, you need to do double loop learning, where you mix improving your understanding of the problem with your ability to execute the solution.

  1. Apply the single loop system to the problem of improving your understanding of the problem space (e.g. consume lots of examples and learn to distinguish good from bad) in order to acquire a sense of good taste.
  2. Apply the single loop system to the problem of doing well according to your own sense of good taste.
  3. Get feedback on the result from others. Do they think you did it well? If yes, great! You’re good at the thing. If no, either improve your sense of taste or theirs. If you choose yours, go back to step 1 with the new example. If you choose theirs, apply the single loop system to the hard problem of convincing others that your thing is good.

Is this all a horrible oversimplification? Well, yes, of course it is. It is however a very useful horrible oversimplification that is very good for getting you unstuck when problems seem intractable.

How To Identify Points of Difficulty?

Sometimes it will be obvious what you need to improve, sometimes it won’t. When it doesn’t, here are some things that can help you figure it out:

  • Try to do the thing as best you can. Don’t worry about failing, failing is expected, but try to pay attention to how you’re doing it. Write down a list of things you thought you did badly, and things you did adequately but struggled with. Also if at some point you got stuck, note where you got stuck.
  • Look for beginners exercises for the area you want to work on and try a variety of those. Observe which ones are hard.
  • Talk to an expert on the subject (ideally one who is used to teaching) and ask them to help you identify some areas you need to work on.
  • Rather than starting from the easy thing, work in the other direction. Try taking the hard thing and removing one hard aspect of it at a time until you get it to a point where removing any hard aspect would make it easy.

#lean #agile #selfmanagement #solving #proactivity #personaldevelopment #management