「スーパープログラマーに学ぶ最強シンプル思考術」第1章〜第3章:感想


目次

 

第1章 モデルって何だろう?

プログラマーは、プログラムを書く前に設計図を作る。その時に使うのがモデル

プログラマーが使うモデルのエッセンスを抽出して、一般化したのが、本書で学ぶことになる「モデルベース思考」。

物事から余分な部分を取り除き、究極までシンプルにすると残るのは、型。

「序論・本論・結論」も「起承転結」も人体模型も路線図もビジネスモデルも全て型。

個人的には路線図も型だというのは見慣れている分、新鮮な見方に感じて面白かった。

確かに路線図は地形をそのまま表しているわけでも、距離を表しているわけでもなく、ただ、どの路線がどの順番でどの駅に到着するのかだけに着目していて、着目した視点から必要な要素のみを抜き出しているので、見事に型だなという感じがする。

 

ただ、これら全てがモデル・型だと言われてしまうと混乱する。

なぜなら、モデリングする対象物の数だけ表現方法があるように感じてしまうからだ。

第2章 モデルの作り方

1章の疑問を念頭に置いて、その疑問に答えてくれるのが2章である。

章タイトルの通り、モデルベース思考における基本的なモデルの作り方を教えてくれる。

それはシンプルな方法で、四角と線のみで表せる

先ほど述べた、路線図などのモデルも余計な部分を削ぎ落とせば四角と線のみで表すことができる。

そして、本質のみをシンプルな形で残すということは(モデルを作るということは)、その対象物の何を本質とするかによって、成果物が変わってくるということだ。

この本では、それを端的に「分析する目的によって視点が変わってくる」と表現している。

 

何を目的に分析するかが決まったら、重要な要素をとにかく書き出すこと。

この時点ではリレーションは考えなくて良い。

とにかく書くこと。これは、ドメインモデリングの手法と重なるなと個人的に感じた。

 

また、ここで大事なのは要素は名詞で書くということだ。一目でその四角に書かれた要素が何を表しているのか分かる様に書くことが大事だ。

 

重要な要素を書き尽くしたら、各要素のリレーションを考える。

左から右、上から下に人は視線を動かすので、(Zの法則)その様に各要素のリレーションを表現すると、意図した通りに読んでもらえる。

 

第3章 モデルを使うメリット

基本的なモデルベース思考におけるモデルの書き方に慣れたところで、このモデルを使うことでどんなメリットがあるのかを考えてみる。

モデルは要素とその関係を視覚的に表すので、全体像をさっと俯瞰して眺めたい時に有効だ。

またモデルは、静的な関係のみならず、動的な関係(時間経過など)も表すことができる。

本章で出てきたオブジェクトは、ロバストネス図のコントローラーに似ているが、これも何かのイベントが行われたことを表現するオブジェクトなので、時間経過を表すのに打ってつけなのだろうと感じた。

 

また、尽きないモデリングのメリットだが、要素と要素の間に起こる論理の飛躍を防ぐことができるのも、そのうちの一つである。

論理の飛躍というのは、論理の「漏れ・重なり」などから発生するのだと思うが、

モデリングを使うことにより、

「漏れなく、重なりなく:MESE[Mutually Exclusive, Collectively Exhaustive]」

要素の関係を整理することができる。

 

また、モデルを使うことにより、新しいひらめきを得ることもできる。

型に嵌めずに自由にアイデアを出すような形式を「自由連想法」と言い、

ある事例でうまくいった型をもとにアイデアを出す形式を「強制連想法」という。

強制連想法は、うまくいったビジネスモデルの前提条件を洗い出し、そこに新たな要素を追加し、ブルー・オーシャンをみつけたり、他の事例でうまくいったビジネスモデルを類推して別のプロダクトに置き換えてみたりと、非常に汎用性が高い。