- 良いモデルを作るために、私が設計から学んだ思考法
- 前提を明確にする
- 違和感を大切にする
- 適切な名前を付ける
- 責任の所在を明確にする
- 意味のあるものをグループ化する
- 因果関係に無理がないかを考える
- ありえない状態を作らない
- 思考法は目的ではなかった
- 次に考えたいこと
良いモデルを作るために、私が設計から学んだ思考法
前回の記事では、私は、
人は現実そのものではなく、自分の頭の中にあるモデルを基に判断している。
という考え方にたどり着きました。
もしそうであるなら、次に考えたいことは一つです。
どうすれば良いモデルを作れるのだろう。
私はその答えを、ソフトウェア設計から学んできました。
ただし、ここで紹介する考え方は、ソフトウェア設計だけのものではありません。
今振り返ると、転職活動でも、要件定義でも、UI設計でも、同じ考え方を使っていました。
前提を明確にする
設計では、前提を曖昧にしたまま話を進めることはできません。
前提が違えば、同じ言葉でも意味が変わってしまうからです。
転職活動でも同じでした。
私は、
「良い会社とは何か」
という前提を改めて考えた結果、
「プロ意識の高いチーム」
という結論にたどり着きました。
前提を整理したことで、会社選びの判断で迷うことが減りました。
違和感を大切にする
私がここ数年で最も大切にするようになったことの一つが、違和感です。
設計でも、「何かおかしい」という感覚は、
モデルが現実をうまく表現できていないサインであることが多くあります。
今回のシリーズでも、
「就職活動がモデリングというのは違和感がある。」
というところから、
新しい考え方にたどり着きました。
違和感は、間違いではありません。
考え直すきっかけです。
適切な名前を付ける
名前は、単なるラベルではありません。
現実をどう捉えるかを表しています。
私は、現場で起きていた様々な問題を整理した結果、
「プロ意識」
という名前にたどり着きました。
もし、違う名前を付けていたら、
違うモデルになっていたでしょう。
責任の所在を明確にする
設計では、責任が曖昧になると、変更しづらいソフトウェアになります。
私は、これは人間の思考も同じだと思っています。
- 何が原因なのか。
- 誰が責任を持つのか。
- どこまでが一つの役割なのか。
責任を整理すると、
現実も整理されます。
意味のあるものをグループ化する
人は、情報が増えれば増えるほど混乱していきます。
だから、関連するものをまとめ、意味のある単位を作ります。
私は、現場で経験した様々な問題を、
「プロ意識」
という一つの概念にまとめました。
これも、モデルを作るということだったのです。
因果関係に無理がないかを考える
設計では、「なぜそうなるのか」を何度も考えます。
せっかく一般的なモデリングから抜け出し、独自のモデリングをしても、因果関係に無理があっては、良いモデルはできません。
今回の転職活動でも、私は、エージェントの担当者から
「マネジメント経験が何年あるか」
を聞かれました。実際に年数で判断される企業様も多いとは思います。
しかし、「年数=実力」ではありません。私は、
「ほかの現場でも再現性のあるマネジメント力なのか」
が重要だと考えました。
原因と結果を整理することで、
より本質に近付けるようになります。
ありえない状態を作らない
これはソフトウェア設計でよく言われる考え方ですが、私は人間の思考にも当てはまると思っています。
例えば、互いに矛盾する考え方を同時に採用してしまうと、判断も一貫しなくなります。
モデルそのものが矛盾しないようにすることも、大切なことだと思います。
就職活動では、会社選びの優先順位として、
- 第一優先:裁量が大きいこと
- 第二優先:詳細設計より下流の実装の仕事が中心であること
のように定義したとします。
これだけ見ると、要件定義や基本設計に携わることができず、裁量が大きいようには感じません。
これは時間が経ってから自分が見たときや、転職エージェントの担当者が見たときに、どうとらえたらよいか迷うのではないでしょうか。
思考法は目的ではなかった
私は以前、これらを「設計テクニック」だと思っていました。
しかし、今は少し違う考えになっています。
これらは、良いモデルを作るための思考法だったのです。
だから、設計だけではなく、転職活動でも、UI設計でも、要件定義でも、同じように役立っていました。
次に考えたいこと
ここまで考えてきて、私は一つの疑問を持つようになりました。
これらの思考法は、なぜ設計だけではなく、人生の様々な場面でも通用するのでしょうか。
もしかすると、ソフトウェア設計とは、ソフトウェアを作るための技術ではなく、
人間が良い判断をするための思考を、最も厳密に実践している分野なのかもしれません。
次の記事では、この考えについて、もう少し掘り下げてみたいと思います。