組織の設計や、制度の策定を考えている中で、もっとも悩むのが名前付けで、良い名前がバチっと決まったときは、その制度の運用を始めてもうまくいくことが多い。


プログラミングでも名前付けはとても大事。変数名、クラス名、テーブル名、様々な場面で名前を付ける。適当につけてしまうと、後で読み返すときに苦労する。

名前を付ける行為は、そこにあるはずの概念を言葉で掴み取ることだ。名前を付けられないとしたら、まだ本質を理解できていない。これはソフトウェア設計における重要な指針になる。


うまく名前付けできたら、あたかも昔から決まっていたかのような感覚になる。なぜ、もっと早くに気付けなかったのかと思うが、よくよく考えるから名前を捕まえられる。

Rubyをつくったまつもとさんも「適切な名前をつけることができた機能については、その設計の8割が完成したと考えても言い過ぎでないことが多い」と仰っていた。


この感覚が、プログラミングというコード(ソフトウェア)のデザインと、経営という組織・制度(ソフトウェア)のデザインの名前付けにおける共通点と言える。

コーポレートガバナンスコードという言葉があるように、組織や制度を支える規則のこともコードと言うから、やはり私にとっては経営もコーディングなのかもな。