仕事でよく「枝葉末節にこだわってはいけない」という言い方で、何かの提案が否定されたりする場合があります。私が若いころよくわからなかったのは
どれが枝葉で、どれが幹なのか
が区別がつかなかったことです。
私はソフトウエアの開発をしていたので、ソフトウェアについて言うと、ある機能(A)をSQLデータベースによって実現したとします。その後、機能(B)を実装するにあたり、SQLデータベースでは実現が難しく、Postgre だと簡単にできることがわかったのですが、いまさら乗り換えるにはコストが掛かり過ぎる…、というような場合。
さて、これをどう判断するかは、もう2000年以上前に答えが出ていたそうです。
ということで本日から数回にわけて、ある過去の資産に対する判断を迫られた時に私が指針にしている方法についてご紹介したいと思います。
本日はその理論的背景
さて2回にわたって、「本質的特性」と「偶発的特性」について書いてきましたが、これを回避するための方法論について、私なりに気をつけていることをご紹介します。
■本質的特性に集中する
では偶発的特性を回避するにはどうすればいいのでしょうか?
これは多くの提案は、本質的特性に集中して仕組みを作りなさいということのようです。
最近はいろいろな研究があるようで、そこら辺に落ちている情報を拾ってくると
・スクラップ・アンド・ビルド(もう一度本質的特性に立ち返る)
・SOA(Service Oriented Architecture)開発
・TDD(Test Driven Development)
なとが提唱されているようです。
※詳しくは Web などで探してみてください。
■ウイリアム・オッカムとアインシュタイン
哲学者ウイリアム・オッカムが残した言葉があります。
「ある事柄を説明するためには、必要以上に多くの前提を仮定するべ
きではない」
もうちょっとわかりやすい言い方をすると、
「何かについていくつかの説明が可能な場合には、最も単純なものが
おそらく正しい」
です。これも Wikipedia から
★――――――――――――――――――――――――――
オッカムの剃刀(オッカムのかみそり、英: Occam's razor、Ockham's razor)とは、「ある事柄を説明するためには、必要以上に多くを仮定するべきでない」とする指針。
もともとスコラ哲学にあり、14世紀の哲学者・神学者のオッカムが多用したことで有名になった。様々なバリエーションがあるが、20世紀にはその妥当性を巡って科学界で議論が生じた。
「剃刀」という言葉は、説明に不要な存在を切り落とすことを比喩しており、そのためオッカムの剃刀は思考節約の原理[2]や思考節約の法則、思考経済の法則とも呼ばれる。またケチの原理と呼ばれることもある。
Wikipedia―オッカムの剃刀
――――――――――――――――――――――――――★
でこれを実際にやってのけたのが(同じポリシーを持っていたらしいですが)アインシュタイン。
e=mc^2
有名なやつですね。
つまり、いかに単純にするかが仕組みを作る上でもとても大切と。
私の専門、ソフトウエアでも、単純なプログラムほど長く使い続けられていますし、その価値はながいこと褪せません。私がかつて作った、ちょっとしたデバッグツールは10年を経ていまだに使われてます(自慢です。読み捨ててください)。
■1節1テーマ
文章を書くのも同じで、
1つの節では複数のテーマを扱ってはいけない。
1行の文節では、複数の意味を持たせてはいけない
みたいなルールが有ります。
※ココらへんは文章術の本を参考にしてもらえるとわかりやすいです。
これもオッカムがいうように、複雑性を極力排除する仕掛けを考えずに、勢いに任せて流すとしっぱいするよ、ということかもしれませんね。