エンジニアの学び方に”実行し,結果を検証し,モデルが修正されるサイクル“という図がある。 iPadがある今ならもっと上手く描けるかもしれないので描いてみた。

image

  • まず「Aが欲しいな」と思う
    • 例えば「ある機能Xを持ったソフトウェアを作りたい」とか「目玉焼きが食べたい」とか
  • 「Aはどうやったら手に入るだろう」と考える(how)
  • 「BとCを組み合わせたらAが手に入るのではないか」と考える
    • image
    • 「フライパンをコンロの火に乗せて卵を入れたら目玉焼きになるのでは」とか
    • モデルMがこれを生み出す
  • 実際にやってみる
  • Aが得られると期待したのにDが得られた
    • 驚く
    • image
    • 「BとCを組み合わせるとAではなくDになる」という観測事実が得られた
  • なぜAではなくDになるのかを考える(why)
    • 「BとCを組み合わせたらAになる」という仮説を生み出したモデルMが間違っている
    • モデルMを修正する(M’)
    • image
  • 新しいモデルM’を使って、改めて「Aはどうすれば手に入るだろう?」(how)を考える
    • 「BとGを組み合わせたらいいのでは?」などと思う
    • 実際にやってみる
    • image

Q: モデルとは何か?

元の図 image

この図がイラストレーターによって清書される前の形 2014-03-10 image