💡

逆転の発想でふんわり解決!ラテラル思考「逆転思考」のやさしいはなし

に公開
この記事が役立つ人
  • 様々な思考法について学んで実践したい人
  • 駆け出しのエンジニア

こんにちは。
今回は「ラテラル思考」の中でも特に身近で使いやすい「逆転思考」について、じっくり話してみたいと思います。


逆転思考ってなんだろう?

簡単にいうと、問題や課題を解決するときに「いつもと逆の方向から考えてみる」方法のことです。

たとえば、「どうやったらもっと早くできるかな?」と考えるのではなく、あえて「どうやったらもっと遅くできるかな?」と考えてみる。

これが逆転思考の入り口です。

なぜこんな逆のことをするの?と疑問に思うかもしれませんね。

でも、普段は見えにくい視点や、気づかない盲点に気づけるチャンスが増えるんです。


なぜ逆転思考は効果的なの?

普段の思考は「慣れ」や「習慣」に縛られています。

いつも同じ順番で同じやり方をしていると、そこから抜け出すのは難しいもの。

逆転思考は、その「慣れ」をわざと壊すことで、新しいアイデアの種を蒔きます。

たとえば、いつも仕事の手順を「A→B→C」と進めているなら、これを「C→B→A」と逆にしてみる。

すると、ふだん気づかなかった手順の無駄や、もっと良いやり方が見えてくることもあるんです。


具体的にどうやるの?

1. 問題を「反対」から考えてみる

たとえば「資料を早く作るには?」なら、逆に「資料を遅く作るには?」と考えてみる。

「遅くするにはどんな行動をする?」をリストアップしてみると、逆説的に「やってはいけないこと」や「無駄なこと」が見えてきます。

これを避けるのがポイント。

2. 順番を逆にしてみる

普段の作業手順を逆からやってみる。

例えば、書類を仕上げる順番や、コードを書く順序を変えてみると、新しい発見があるかもしれません。

3. 常識や固定観念を疑う

「こうするのが当たり前」と思っていることをあえて疑ってみる。

たとえば「必ず会議は30分以内に終わらせる」と決めていたら、逆に「会議はあえて1時間にしてみる」とか。

そうすることで、新しいバランスや効率のヒントが見つかることも。


逆転思考を使うときのコツ

  • 完全に真面目にやらなくていいです。

ちょっと遊び感覚で、「もしも~だったら?」と想像してみるのが大事。

  • やってみて面白い!と思えることを優先。

硬く考えすぎると続かないので、軽い気持ちで楽しんでみてください。

  • ひとりで考えにくいときは、誰かと話しながらやってみるのもおすすめ。

違う人の逆転案が聞けると、さらに広がりが生まれます。


逆転思考の効果例

例えば、僕が昔仕事で時間がかかっていた資料作成。

いつも「どうやったら早くできるか」ばかり考えてたけど、逆に「どうやったらもっと遅くなるか?」と考えてみた。

すると、無駄に細かく確認しすぎていたり、余計な手順を踏んでいたことがわかりました。

そこを減らす工夫をしたら、結果的にずいぶん効率がアップしました。


まとめ

逆転思考は、思考の枠を壊して、新しい視点を手に入れる魔法みたいなもの。

疲れたとき、行き詰まったとき、ちょっと立ち止まって「逆から見てみよう」と思うだけで、心も頭もふんわり軽くなります。

無理せず、楽しみながら使ってみてくださいね。


【使い方イメージ】

python
def 逆転思考(問題):
    # まず、問題の目標や条件を逆にして考えてみる
    逆の問題 = 目標や条件を逆にする(問題)
    
    # 次に、普段のやり方や手順を逆から見てみる
    逆順の手順 = 手順を逆にする(問題.手順)
    
    # 逆の問題や逆順の手順でできる方法を探してみる
    逆の方法たち = 逆の視点で方法を考える(問題.方法リスト)
    
    # 逆の方法を順に試してみて、解決できたらそれを返す
    for 方法 in 逆の方法たち:
        結果 = 方法.やってみる()
        if 解決できたか(結果):
            return 結果
    
    # もしまだ解決しなければ、逆から考えた手順をもとに新しいアイデアを作る
    新しいアイデア = 新しい考えを作る(逆順の手順)
    
    return 新しいアイデア

def 目標や条件を逆にする(問題):
    # 例えば「早く終わらせる」を「遅く終わらせる」に変えてみる
    新しい問題 = 問題.コピー()
    新しい問題.目標 = 逆にする(問題.目標)
    新しい問題.条件 = 逆にする(問題.条件)
    return 新しい問題

def 手順を逆にする(手順リスト):
    # 手順の順番をひっくり返すだけ
    return 手順リスト[::-1]

def 逆の視点で方法を考える(方法リスト):
    逆方法リスト = []
    for 方法 in 方法リスト:
        逆方法 = 方法.逆のやり方を考える()
        逆方法リスト.append(逆方法)
    return 逆方法リスト

def 解決できたか(結果):
    # 結果が問題を解決できているかどうかを判断
    return 結果.成功かどうか()

def 新しい考えを作る(手順リスト):
    # 逆の手順をもとにアイデアを生み出す(ここは自由に工夫できる)
    アイデア = []
    # たとえば手順の組み合わせを変えるなど
    return アイデア
prolog
% 逆転思考のルール

逆転思考(問題, 解決策) :-
    逆問題(問題, 逆の問題),
    逆手順(問題, 逆順の手順),
    逆方法(問題, 逆の方法リスト),
    試す方法(逆の方法リスト, 解決策),
    ( 解決策 \= none -> true
    ; 新しいアイデア(逆順の手順, 解決策)
    ).

% 問題の目標や条件を逆にする
逆問題(問題, 逆の問題) :-
    目標を逆にする(問題.目標, 逆の目標),
    条件を逆にする(問題.条件, 逆の条件),
    逆の問題 = 問題,
    逆の問題.目標 = 逆の目標,
    逆の問題.条件 = 逆の条件.

% 手順を逆順にする
逆手順(問題, 逆順の手順) :-
    逆順の手順 = reverse(問題.手順).

% 逆の方法リストを作る
逆方法(問題, 逆の方法リスト) :-
    maplist(逆の方法を作る, 問題.方法リスト, 逆の方法リスト).

% 逆の方法を試す
試す方法([], none).
試す方法([方法|残り], 解決策) :-
    実行(方法, 結果),
    ( 解決判定(結果) -> 解決策 = 結果
    ; 試す方法(残り, 解決策)
    ).

% 新しいアイデアを作る(例として空のリストを返す)
新しいアイデア(_逆順の手順, []).
GitHubで編集を提案

Discussion