このたび、筆者が執筆した書籍『ITエンジニアのロジカル・シンキング・テクニック[新装版]』(日経BP社)が出版されることになった。出版に当たってお世話になった方々に献本したところ、「私は直感型なので論理的に考えること(=ロジカルシンキング)は苦手なんです」という趣旨のコメントを何人かの方からいただいた。謙遜もあると思うが、これは多くの日本人に共通した考え方ではないだろうか。日本人の多くは「論理」に対してあこがれと反発の気持ちがないまぜになった感覚を持っているように思う。これは論理についての誤解に起因している。

 論理についてよくある誤解は二つ。一つは論理思考あるいはロジカルシンキングが「考え方」だという誤解だ。論理的といわれる人の話は理路整然としているので、「とてもこんなふうに整理して考えられない」と思ったことがあるかもしれない。だが、それは勘違い。その人もそんなふうに整理して考えたとは限らない。大抵は思いついた結論に後から理屈を付けている。

 論理的とは根拠から結論を導く構造を持っているということである。組み立てる手順は根拠から結論でも、逆に結論から根拠でも構わない。前者より後者の方がずっと簡単だ。では、結論はどうやって見いだせばいいのだろうか。これは、直感やひらめきでよい。

 後から理屈を付けるのは、他人と自分自身を説得するためである。「俺のひらめきを信じろ」と言っても誰も相手にしてくれない。言っている本人も自信が持てないだろう。説得できるようにするために論理を組み立てるのである。ここでロジカルシンキングを使う。つまりロジカルシンキングとは、論理的な考え方ではなく、論理的な説明の仕方を指す。

 論理のもう一つの誤解は、絶対的に正しい論理があるというものだ。論理によって保証できるのは、主張の「形式」の正しさだけであり、「意味」の正しさまでは保証できない。この二つの違いは、プログラムのコンパイルエラーと実行時エラーの違いだと考えれば分かりやすい。

 例えば「a=b/c」と「b/c=a」。数学では両者に違いはないが、プログラムでは違いがある。後の式はコンパイルエラーとなり実行すらできない。「=」は左側の変数に右側の値を代入する操作を意味するからだ。前の式はコンパイルエラーにならないが、実行時にcの値が0だとエラーとなる。

 ここでコンパイルエラーが「形式」、実行時エラーが「意味」の間違いを表す。形式が正しいかどうかは式の字面だけで判断できるが、意味が正しいかどうかは式の外側(式の実行以前の処理内容)で決まることに注意してほしい。論理が対象とするのは形式の正しさだけである。

 「この事業は業績が下がっているので、撤退すべきだ」と「この事業は業績が下がっているので、てこ入れをすべきだ」という主張はどちらも論理的だが、同じ根拠から別の結論を導いている。どちらに納得してもらえるかは相手次第である。言い換えると論理の外側で決まる。この状態を「根拠不足」という人もいるが、根拠を挙げ尽くすことはできない。この例なら撤退基準があればよいように思えるが、なぜその基準でよいのか、なぜそれを適用してよいのか、と根拠の根拠を追求していくと、どこかで客観的な根拠はなくなり、主観的な判断に行き着く。

 論理的でなければ説得力はないが、論理的であれば相手が納得してくれるわけではない。納得してもらうには、相手の持つ判断基準を把握することが大切である。そのために必要なのは、相手の立場を理解する想像力や洞察力である。論理思考の本質は相手を理解し、説得力のある説明をするためのコミュニケーションスキルなのだ。ともすれば人間よりコンピュータとの対話が得意といわれがちな、IT技術者にこそ論理思考を身に付けてほしい。

林 浩一(はやし こういち)
ピースミール・テクノロジー株式会社 代表取締役社長。ウルシステムズ ディレクターを兼務。富士ゼロックス、外資系データベースベンダーを経て現職。オブジェクト指向、XMLデータベース、SOA(Service Oriented Architecture)などに知見を持つITアーキテクトとして、企業への革新的IT導入に取り組む。現在、企業や公共機関のシステム発注側支援コンサルティングに注力