Summary of Hammock Driven Development as described by Rick Hickey

· don's blog

Hammock Driven Deveoplment is a problem solving process based on keeping notes and utilizing both your background and waking mind.

TL;DR; #

Humans get good at what they practice. Technologies come and go. The need for the ability to think through and solve problems stays. Write down the problem. Keep notes. Concentrate on taking the problem and your solution apart, then let your background mind find the connections your waking mind missed.

Longer Summary #

The computer is a prime source of distraction

The talk begins with two interesting questions.

  1. When have you last thought hard about a problem for an extended period?
  2. Considering that humans get good at what they practice, what is worth more in the long run, getting good at general problem solving or a specifc technology?

The answers to the first question are probably differ quite a bit between people. The answers to the second are probably a lot more similar. I would say that general problem solving abilities are more valuable than any specific technology, assuming you know at least enough of any relevant technology to be productive.

Hammock Driven Development is based on the theory that there is a waking mind and a background mind, which I think references the work of Daniel Kahneman. The theory is:

You can't direct your background mind. It works to find hidden relations among memories and solve problems you were working on while fully awake. Use have to use waking mind time to feed work to your background mind.

Basic Steps #

  1. State the problem and write it down, including facts, context, and constraints.
    • Determine the known unknowns and write those down.
  2. Get input
    • Research the problem, existing solutions, adjacent problems and their solutions.
  3. Focus
    • Write down your proposed solution.
    • Break the solution into components and go over different combinations of these components to find issues with the solution or useful abstractions.
    • This requires great focus, any distractions can derail your background mind later.
    • If you don't have any questions or don't see any tradeoffs with your solution, then you're probably missing something.
      • Without two (or more) possible solutions you can't determine tradeoffs.
  4. Give your background mind time to process the information during rest.
    • "Hammock time is important mind's time"
    • This reminds me of what Cal Newport calls Mental Solitude, being without new input, but not sleeping.
  5. Try and evaluate your solution
  6. Repeat

Using you background mind takes time, possibly over months. Interleave different problems, but not within a single day. Sleep sober for best results.

You will need to try out your solution at some point. Use this as an opportunity to learn.

When the facts change, I change my mind. What do you do, sir?

— John Maynard Keynes

The whole idea is a combination of several ideas from Cal Newport's book Deep Work (which the talk predates by more than three years). The book mentions a technique he calls productive meditiation, but that is more focused and I would say is aimed at the waking mind.

Resource #