Skip to main content

De Bono's Algorithms of Thought for Lateral Thinking and Creativity Part 1

Edward De Bono is the Master of Lateral Thinking and Creativity. This is part 1 of a series of posts planned to introduce different algorithms of thought (AoT) or thinking tools as Mr. De Bono refers to them. Today I will summarize six of the most basic algorithms covered in his book Teach Your Child How to Think.

Don't be misled by the term "most basic". These AoTs may look deceptively simple, however it is very hard to consistently impalement them. They are fundamental building blocks of robust thinking.

This article will introduce each of the six algorithms. It will include simple examples to demonstrate their use and will also include interactive templates you can copy to your database in case you are using Roam for note-taking. The templates are based on SmartBlocks available in Roam42. Download the Roam.JSON with the SmartBlocks.

The traditional emphasis in thinking has always been on logic. This is what we've been drilled to do for much of elementary and high school, and sadly often at university and at work as well. The pieces of the puzzle are given. You use logic to work out the answer.

Perception is how we see the world around us. Sometimes logic can take our perceptions further. Sometimes better perception reduces the need for logic. Logic is how we make the best use of our perceptions.

Creativity and wisdom are based on perception. Perception is the ability to take in many things and look at things in different, sometimes unexpected and new ways. Perception has two dimensions: breadth and diversity, where diversity is about the ability to look at the exact same thing but in a different way. The key questions to ask are "How broad a view am I taking?" and "In what other ways is it possible to look at things?"

There are two main directions for thinking: forward and parallel. In forward thinking the key question we ask is "What follows?", "What can we deduce?", "Where do we go from here?" In parallel thinking the key question is "What else is there?". This means understanding alternatives, other points of views, different perceptions, and further things that should also be considered.

The following algorithms all target to improve our perception and support parallel thinking.

CAF: Consider All Factors

CAF is pronounced 'caff'. It is an extremely simple yet very powerful attention-directing algorithm. It is designed to increase the breadth of our perception. You first state the situation, then start to list all the factors that should be considered when dealing with the situation.


  • Situation: You have decided to build a new home and you are looking for a builder. When reviewing different offers what factors would you consider?
  • Factors to consider:
    • References
    • Price
    • Availability
    • Personal sympathy
    • Start and finish dates
    • Guarantees
    • Years of experience
    • Accuracy of proposal

Roam #42SmartBlock

Download the Roam.JSON with all the SmartBlocks.

APC: Alternatives, Possibilities, Choices

APC is pronounced with each letter separate: 'A', 'P', 'C'. It is another attention-directing algorithm. It facilitates parallel thinking as opposed to forward thinking. There are many different aspects APC can be applied to:

  • Perception: When the same thing can be looked at in different ways.
  • Action: Different courses of action can be taken in a situation.
  • Solutions: Alternative solutions to a problem.
  • Approaches: Different ways of tackling the problem in order to find a solution.
  • Explanations: Alternative hypotheses / explanations of how something happened.
  • Design: Alternative designs that all fulfil the the purpose of the design.

Sometimes we are forced to consider alternatives, because we get stuck with one approach. At other we look for alternatives to find a better one. In my experience the first solution that comes to mind is just that, the first solution. It is hard not to fall in love with it, but often further thinking yields better alternatives. To make the best use of the algorithm, you must be very clear about the purpose of looking for an alternative. e.g.: "I want an alternative way of getting from the airport to the hotel."


  • Situation: I almost religiously avoid cash. I once arrived at London Heathrow at 1 am in the morning. I was booked at an "airport hotel" which was near the airport, but not exactly walking distance. I  needed to make my way there. I had no cash only a credit card.
  • Alternatives, Possibilities, Choices:
    • Get a cab and pay with my card (I couldn't find one that would accept my card - even if I promised a generous tip)
    • Walk to the hotel (no walkway, long distance)
    • Get cash from an ATM (getting cash with a credit card is an option, but it is expensive)
    • Call the hotel to send a car (they did not operate cars at 1 am)
    • Call the hotel and agree a payout from my room account, and pay the driver in cash (the actual solution)

Roam #42SmartBlock

Download the Roam.JSON with all the SmartBlocks.


A lawyer knows that her client is guilty of a robbery. Should she defend him in court?

In all thinking there are two key questions which should become a thinking habit. What are the values involved? and Who is affected by the values?

Answering these questions requires understanding the people involved (OPV algorithm) and understanding the consequences of any action that might be taken (CnS algorithm). We also need to have a quick way of assessing the plus, minus and interesting aspects of any proposal (PMI algorithm).

OPV: Other People's Views

OPV is pronounced with each letter separate: 'O', 'P', 'V'. It is another attention-directing algorithm designed to increase the breadth of perception. The two key questions in OPV are: Who is affected by this thinking? and What are the views of those affected?

OPV is always concerned with what other people actually think at this moment – not with what they should think. Also an OPV is about the specific views of other people. You must put yourself in the shoes of those people, to think and feel as they do. OPV is not just a matter of alternative views on the subject. It is about views held by specific people.

The first step in doing an OPV is always to list the people or groups affected. The second step is to imagine the views and thinking of each of these people. In some cases the list of people could be very long. You have to be reasonable about this, don't list those who are only slightly affected.


  • Situation: Meeting for New-Year's celebrations as an extended family with COVID-19 still out there.
  • Who are affected and what are their views?
    • People or groups affected

      What views are they holding?

      My Parents

      - Would like to celebrate with the kids as always
      - Are concerned about COVID-19
      - Are ok to self-quarantine themselves 10 days in advance
      - Would prefer to visit us to save the hassle of preparations

      My Children

      - Would rather celebrate with their friends
      - Want to be out and about during the winter break, and not stay at home in self-quarantine

      My Wife

      - Will need to do much of the preparations
      - Would want her parents to visit as well
      - Is ok with the idea of self-quarantine

Roam #42SmartBlock

Download the Roam.JSON with all the SmartBlocks.

CnS: Consequence and Sequel

The tool is pronounced 'C and S'. If your thinking is going to result in action of any sort, then you have to understand the consequences of that action. Will it work? What are the benefits? What are the problems and dangers (i.e. risks)? What are the costs? How certain are you in your predictions?

CnS is an exploration into the future and evaluation of likely outcomes. There is a relationship between CnS, CAF and OPV. What happens in the future may be considered a factor (CAF) and it will affect other people (OPV).

The time scale of CnS can be immediate, short-term, medium-term and long-term. Treat the definition of time scales flexibly depending on the situation you are facing. In some cases immediate could mean literally the next minute, in others the next year.

Risks address questions such as: What might go wrong and what is the worst thing that could go wrong? What are the dangers? What is the best possible outcome and what is the most likely outcome?

Finally certainty deals with the level of certainty or uncertainty regarding outcomes. The scale runs from being absolutely sure about the outcome to having no idea what will happen.


  • Situation: Meeting for New-Year's celebrations as an extended family with COVID-19 still out there.
    • What is the ideal, worst and most likely outcome?
      • Immediately
        • Parents will be happy and will look forward to the event.
        • The kids will accept and organize their life around it.
      • Short-term
        • Organize self-quarantine including shopping ahead of time.
      • Medium-term
        • A nice evening together.
      • Long-term
        • Low likelihood: Consequences of getting infected with COVID-19
    • What are the benefits?
      • Something "normal" in a crazy year.
    • What could be some problems or risks?
      • COVID-19 infection, especially in case of my parents
    • What are the costs?
      • Negligible
    • How certain are you about your prediction as to what will happen?
      • 90%

Roam #42SmartBlock

Download the Roam.JSON with all the SmartBlocks.

PMI: Plus, Minus and Interesting

PMI is a perception-broadening attention-directing algorithm. It forces the thinker to explore a situation before coming to a judgement. It is pronounced 'P', 'M', 'I'.

PMI looks at a case and assesses the plus points, the minus points and the interesting points. It is a scanning algorithm. This means it is not a matter of thinking of points as they come up and then dropping each into a box labelled PLUS, MINUS, or INTERESTING, but first looking in the PLUS direction and noting what you see (ignoring any other points), and then repeating the same for MINUS and INTERESTING as well. You should keep the sequence of plus, minus and interesting.


  • Case: The last person to stand in line is the first to get on the ride in Amusement Parks
  • Plus:
    • No long lines as it is not a good strategy to stand in line, if the last to arrive gets in first
    • People move around more, entrances to rides are less crowed
    • When you arrive at just the right moment, you can get on a ride quickly
  • Minus:
    • Unpredictable. If you are unlucky, you may not get on a ride the whole day
    • Fights may evolve as people are trying to get to the back of the line
  • Interesting:
    • People that like to mix and mingle might find this a great opportunity to connect with more people then just standing in line in the traditional way
    • Maybe an inverse line would eventually emerge

Roam #42SmartBlock

Link to PMI on Roam42 SmartBlock GitHub

Download the Roam.JSON with all the SmartBlocks.
Like this post?
Show your support.


  1. Thank you very much for this blog post, and most importantly for the SmartBlocks. I have copied four of your SmartBlocks and have noticed some errors:
    1- In the last one (P.M.I), when I input the list of pluses and minuses, it ignores the first one when populating the list.
    2- In the one of O.P.V, The table is populated only with the last persons views and name, and discards the one before.

    Nevertheless, amazing effort in creating these SmartBlocks and sharing them in public. To me it was very inspiring 🤗 keep up the awesome work 🙏🏻👏🏻

    1. Somehow I missed your comment. I've updated the PMI block. It works well now. OPV will require a bit more work. Since the time of the article Roam42 has matured and changed and the undocumented features I was using aren't working the same way any more. I will revisit and correct OPV in the coming weeks.

    2. I have cleaned up all the AoTs. They should all work (again). 🤞 it will not break again. You can download all of them from here:

  2. Does this extension still work? It's giving me errors.

    1. What error are you getting? Which script did you try? I just tested APC and PMI and they both worked as expected.


Post a Comment

Popular posts from this blog

Showcasing Excalidraw

Conor ( @Conaw ) pointed me to Excalidraw last week, and I was blown away by the tool and especially about the opportunities it opens up for  Roam Research ! It is a full-featured, embeddable sketching component ready for web integration. This post will showcase key Excalidraw features and discusses some of the issues I still need to solve to complete its integration into Roam. I spent most of my free time during the week integrating Excalidraw into Roam. This article will introduce Excalidraw by showcasing its features.

Mind mapping with Excalidraw in Obsidian

Mind-mapping is a powerful tool. In this post I will show you how and when I mindmap with Excalidraw in Obsidian and why mindmapping is such a good tool for Personal Knowledge Management. Like this post? Show your support.

Evergreen Note on Note-taking Strategies and Their Practical Implementations

This is an evergreen note that I will be revisit regularly to develop a comprehensive list of note-taking approaches including their practical implementations in various software tools. This post will serve as an elaborate table of contents, including a brief introductory discussion on the importance of note-taking, followed by a high-level walkthrough of each method. Links to posts and videos with detailed examples and descriptions will follow over the coming weeks and months.

Deep Dive Into Roam's Data Structure - Why Roam is Much More Than a Note Taking App

Which are the longest paragraphs in your graph? Which pages did you edit or create last week? How many paragraphs of text do you have in your database in total? Which pages do you have under a given namesapece (e.g. meetings/)?