短時間で成果を出すために考えること

ãèãããã®ç»åæ¤ç´¢çµæ

こんにちは、Taikiです。

昨今、働き方改革というキーワードをよく耳にします。今後労働人口の減少に伴い、多様な働き方を認め、一人当たりの労働生産性を高めることを目的とした施策です。

こういった時代背景を踏まえ、今後働く人が求められるスキルは何でしょうか。

それは、短時間で成果を出すこと、につきます。例えば、ノー残業したりテレワークするにしても、生産性が落ちれば本末転倒です。かといって過重労働は許されません。つまり最小時間で最大成果を出すスキルがより求められるようになりました。

では成果とは何でしょうか。成果とは知的生産力を指します。単純労働で生まれる成果は、外国人労働者やロボット化の進出により、相対的な価値が低くなる一方です。

では知的生産力を高めるためには、どうしたらいいでしょうか。それは問題解決能力を磨くことです。言い換えれば、正しい思考プロセスで正解を導く力をつけることです。

誰でも遠回りし時間をかければ正解に近づくことができます。しかし先述したようにそんな時間はありません。そこで活用するのが論理思考です。普遍性の高い一貫したロジックがあれば、いかなる問題でも解決時間を短縮し、解答の精度を高めることができます。今回はその考え方に迫りたいと思います。

目次はこちらになります。

論理思考を身に付けるためには、考え方のフレームワークを知ることです。フレームワークとは工場のレーンのようなものです。何かを作る時に、専用のレーンを使えば、より早く作ることができます。また新しい情報をインプットする時も、考え方のフレームワークに乗せることで、応用の利く体系化された知識に変えることができます。

MECE(ミッシー)

MECEとは全体を網羅するフレームワークです。論理思考の第一歩として、全体の構成を理解するために、この手法を用います。全体を網羅する方法は、トップダウンボトムアップです。構成が分かればトップダウンから必要な要素を書き出し、構成が不明な場合はボトムアップ式にブレインストーミングします。

例えば、フルマラソンを4時間以内に走るとします。フルマラソンを完走するための必要条件を洗い出してみてください。私はこのようにしました。

  • 完走できること
  • 健康なこと
  • ペースがあまり落ちないこと
  • 一定以上の速度をだせること

次にレベル分けしてみましょう。レベル分けのポイントは、何をするためにまず何が必要かを考えることです。4時間以内に完走するために、優先順位の高い順に並び替えます。

  1. 健康なこと
  2. 完走できること
  3. 一定以上の速度を出せること
  4. ペースがあまり落ちないこと

1ですが、フルマラソンを4時間以内に走るための最低条件は健康です。

2ですが、どんなに遅くても完走できることです。完走できる力がなければ、次に進めません。

3ですが、4時間以内に完走できる速度を出せるかです。単純に足が遅ければ4時間は切れません。

最後に4ですが、いかに足が速くとも後半にペースがガタ落ちすれば4時間切りは難しくなります。

このように、MECE(ミッシー)のポイントは、要件を満たすための要素を考え出し、レベル別に分けて優先度を明確にすることです。

ロジックツリー

ロジックツリーは原因の特定や問題解決に使われるフレームワークです。ツリー上に課題と必要な要因を描くことで、全体を俯瞰してボトルネックを特定しやすくなります。

例えば「マラソンを4時間以内に走りたい」という課題を最上位のレベルに位置付け、ロジックツリーを簡単に描いてみました。

f:id:vtaiki:20190811124506j:plain

上位レベルは、「体力」「時間」「お金」にしました。そのどれかが欠ければ目標は達成できません。

下位レベルでは、更に細かくし、速度や持久力、練習、大会、マラソン用品、参加費などにブレークダウンしました。あとは金額や距離など定量的な値を設定すれば、達成を阻む具体的な原因が分かります。

ピラミッドストラクチャー

提案や意見に説得力を持たせたいときは、ピラミッドストラクチャーというフレームワークを使います。私も過去のブログでこの手法はよく使いました。前回記事にした「有名なプログラミング言語はなぜ人気があるのか」を例にして、この手法を紹介しましょう。

調べたところ、プログラミング言語の中で一番人気だったのはJavaでした。Javaがなぜ人気なのか、その理由について仮説を立ててみました。「速度」「移植性」「多機能」です。

f:id:vtaiki:20190811190600j:plain

言語といえば、最優先課題は「速度」です。遅いと話になりません。

その次は、「移植性」です。手間をかけずに色々なOSで動作するか、です。デスクトップOSだとWindowsスマホならAndroidがトップシェアですが、Javaならそれら主要なOSを抑えているはずだと仮定します。

最後は「多機能」です。一番人気なので大規模な開発でも使われやすい、言い換えれば、大人数で開発するために統制が取りやすいよう多機能な開発環境を使っているはずです。

以上から、「速度」「移植性」「多機能」をJavaが人気な理由にしました。次にその理由達を裏付ける根拠を示すのですが、大事なポイントはJavaの優位性を考えることです。ただ優れているではなく、どう優れているかを説明しなくてはいけません

では、その根拠を示します。プログラミングでは、「速さ」の最も大きな要因はコンパイルの仕方です。Javaコンパイル言語に属しています。コンパイル言語とは、記述は困難ですが、ソースコードを事前にコンパイルして、先に機械語に変換するため、スクリプト言語よりも 高速で動作します。

次に「移植性」ですが、Javaは中間コードという、Javaならではのコンパイル技術を使い、1つのソースでどのOSにも対応できるという優れた移植性を持っています。この技術はC#でも応用されるほど高い実用性があります。

最後は、「多機能」ですが、JavaEclipseという優れたIDEで開発可能です。その実績やノウハウは広く周知され、独自のプラグインも簡単に開発できます。また様々なベンダーもそのコミュニティに参加し、改善に力を入れています。

このように、ピラミッドストラクチャを使うと提案や考察をロジカルに立証することができますが、先述したロジックツリーとこのピラミッドストラクチャーを組み合わせると、より説得力のあるロジックを生むことができるでしょう。

基本式をつくる

最後は、課題に対して基本式を作れるか、です。これは仮説思考の中でも高度なレベルが要求されます。例えば、A市でマラソン大会を運営していますが、年々参加人数は減少しています。マラソンの参加人数が減少している原因を調べてください、ともし言われたら、どう調べますか。

このような場面では、基本式をつくる発想が役に立ちます。この手法はフェルミ推定でもよく使われます。

自分のマラソン大会の参加人数(人)=スポーツ全体の人口(人)x マラソンを選ぶ割合(%)x  A市の大会を選ぶ割合(%)x 貴方の大会を選ぶ割合 (%)

数式化する利点は、構成要素を階層別に分けることができる点です。階層別に原因が分かると、仮説が立てやすくなり、調査する的を絞り込むことができます。

例えば、スポーツ全体の人口が減少して大会参加者が減少したとします。その仮説を裏付けるためには、スポーツ人口の推移を調べます。スポーツ庁が出している世論調査が役に立ちます。そうやって上流から調べ上げていくと、真の原因たるものが見えてきます。

ちなみに、積み木型の階層図で表すとこんな感じです。

f:id:vtaiki:20190811203220j:plain

まとめ

労働人口の減少に伴い、今後はAIやRPAが多用される時代になるでしょう。その時代において、付加価値の高いスキルの1つが問題解決能力です。AIに喰われない職業にコンサルタントが選ばれる理由もここにあります。そして、問題解決能力を磨くためにはロジカルシンキングです。

但し、フレームワークを丸暗記するよりは、常になぜ?という疑問をもつことが大事です。その答えを導き出す思考プロセスとして、フレームワークを自然に使えるようになると及第点に辿り着く時間も短くなります。また分からない事をすぐにググるのではなく、仮説を立てて答え合わせしてみると面白いかもしれません。その的中率が高くなれば自ずと問題解決能力は向上していると思いますので。