次のような願いはありませんか?
● ものごとを深く理解したい
● 分かりやすくものごとを伝えたい
● 新たな発想を得たい
一見するとこれらの願いはバラバラに見えます。このような願いをまとめて解決できる方法があればいいのにと思いませんか?
実はあるんです。それは「シンプルに考える」ことです。それでは、「シンプルに考える」とはどういうことでしょうか?
その答えは、今世紀活躍しているプログラマーたちの考え方にありました。そして、彼らの考え方を応用することでそれらの願いが叶うのです。
プログラマーはパソコンの画面に向かってひたすらキーボードを使ってコード(命令文)を打っているというイメージを持っているかもしれません。しかし、それだけではありません。
建築家が家を建てる前に設計図を描くように、プログラマーもプログラムを開発する前に設計図を作ります。家がドア、柱、窓など色々な部品からできているように、プログラムも色々な部品から構成されています。
プログラマーはめんどうくさがりです。そのため、無駄な作業を嫌います。行き当たりばったりでプログラムを作ると最終的につじつまが合わなくなり、結局無駄な作業が発生してしまいます。そこで、事前にさまざまな部品をどう作り、どう配置するかを考え、無駄なく作業できるようにするのです。
そのときに使うのがモデルです。モデルと聞くと、ファッションモデルやビジネスモデルなどが想像されるかもしれません。しかし、プログラマーたちが使うモデルはそれらとは異なります。「さまざまなルールに則った、プログラマー同士が分かり合うための共通言語」です。
プログラマーが使うモデルは複雑で、多くの人にとって扱うのが難しいものとなっています。しかし、プログラマーの考え方を知ることができれば、それだけでも多くのメリットを得ることができます。
そこで、プログラマーが使うモデルのエッセンスを抽出して、一般的に使えるようにした最強のシンプルな思考術がモデルベース思考です。
本書では、そのモデルベース思考の基本となるモデルに関する基礎知識、モデルの作り方、モデルの活用方法をご紹介していきます。そして、最終的にはみなさんの仕事や生活に応用してもらうことを目指します。(「はじめに」より)