さて、これをどう判断するかは、もう2000年以上前に答えが出ていたそうです。
ということで本日から数回にわけて、ある過去の資産に対する判断を迫られた時に私が指針にしている方法についてご紹介したいと思います。
本日はその理論的背景
■アリストテレス、愛称「アリちゃん」
「アリストテレス」って名前は多分高校の授業で習った記憶があると思います。
ちょっと Wikipedia から引用すると
★――――――――――――――――――――――――――
アリストテレス(前384年 - 前322年3月7日)は、古代ギリシアの哲学者
である。
プラトンの弟子であり、ソクラテス、プラトンとともに、しばしば「西
洋」最大の哲学者の一人と見なされる。また、その多岐に亘る自然研究
の業績から「万学の祖」とも呼ばれる。イスラーム哲学や中世スコラ学、
更には近代哲学・論理学に多大な影響を与えた。また、マケドニア王ア
レクサンドロス3世(通称アレクサンドロス大王)の家庭教師であったこ
とでも知られる。
名前の由来はギリシア語の aristos (最高の)と telos (目的)から。
※ウィキペディア―アリストテレス
――――――――――――――――――――――――――★
現代の科学の基礎を作った人の一人ですね。
アリストテレスの哲学は、師匠のプラトンの弁証法に対して
演繹法を多く用いたことでも著名で、
三段論法の創始者でもあります。
彼の哲学的な概念のひとつとして
本質的特性と
偶発的特性の区別
があります。
■本質的特性と偶発的特性
とりあえず、この2つについてアリストテレスの定義をひいてみると、
★――――――――――――――――――――――――――
アリストテレスは、かれの師プラトンのイデア論を継承しながらも、イデアが個物から遊離して実在するとした考えを批判し、師のイデアと区別して、エイドス(形相)とヒュレー(質料)の概念を提唱した。
アリストテレスは、世界に生起する現象の原因には「質料因」と「形相因」があるとし、後者をさらに「動力因(作用因)」、「形相因」、「目的因」の3つに分けて、都合4つの原因(アイティア aitia)があるとした(四原因説)(『形而上学』A巻『自然学』第2巻第3章等)。
事物が何でできているかが「質料因」、そのものの実体であり本質であるのが「形相因」、運動や変化を引き起こす始源(アルケー・キネーセオース)は「動力因」(ト・ディア・ティ)、そして、それが目指している終局(ト・テロス)が「目的因」(ト・フー・ヘネカ)である。存在者を動態的に見たとき、潜在的には可能であるものが、素材としての可能態(デュナミス)であり、それと、すでに生成したもので思考が具体化した現実態(エネルゲイア)とを区別した。
万物が可能態から現実態への生成のうちにあり、質料をもたない純粋形相として最高の現実性を備えたものは、「神」(不動の動者)と呼ばれる。
※ウィキペディア―アリストテレス
――――――――――――――――――――――――――★
アリストテレスは、このイデアのさらに進めて、すべての現象はエイドスとヒュレーからなっているとしています。ちょっとカタカナで書くと馴染みが薄いので、この先の説明の都合もあって(Wikipediaの日本語対訳とは変えて)、「本質的特性」と「偶発的特性」という日本語を当てて
います。
たとえば、ある未婚の男性のグループがあったとして、それぞれの肌の色が黄色であったとしましょう。
このとき、「未婚の男性」というのをそのグループの「本質的特性」とよび、「黄色の肌」を「偶発的特性」といいます。
なぜなら、そこに白人の未婚男性が加わったとしてもそのグループの特性として「未婚男性」であるということは変わらないにかかわらず、「黄色人種」であるという特性は消失してしまうからです。
分かり難い?
説明がヘタで申し訳ない…
でもこれ以上ちゃんと説明できそうにないので、話は次に進みます。
■■仕事の本質的特性と偶発的特性
前回は、本質的特性と偶発的特性について概念を説明したので、今回はそれを仕事に対してどのように応用できるかというお話。
■アリストテレスはソフトウエアを考えるか?
ソフトウエアと言うのは、単純なものから複雑なものまで多種多様にあります。
この複雑さもアリストテレス的にいうと
・本質的特性
・偶発的特性
からなっています。
元来ソフトウエアを作る目的は、特定の問題をコンピュータシステムによって解決することであって、そのソフトウエアで解決すべき問題が持つ多様な要望に答えた部分が本質的特性を生んでいます。
一方で、「偶発的特性」は問題の解決には直接かかわりなく生じてしまう複雑性です。たとえば、
ある問題の再発防止策として自動検証システムを導入する
というのは我々が作るシステムの本質的特性ですが、
自動検証システムを C 言語+MS-SQLでつくる
というのは、その機能の目的である「問題の再発防止」とは全く関係がありません。したがって、これは偶発的特性であるといえるわけです。たまたま、その担当者が使えるツールが C と MS-SQL だったに過ぎないわけです。
これらの本質的特性と偶発的特性が相まって、あらゆるシステム(これはプログラムにかぎらず、人間が関わる全ての活動)がどんどん複雑化していくわけです。
これは会社のルールなどにも見られます。
ある作業ミスをすると、その作業ミスの再発防止としてチェックリストが作られます。他のミスも発見されるとチェックリストに追加されて、やがて紙数枚では収まらなくなります。そうなるとチェックリストを全部やったかという問題が提起されて、チェックリストのチェックリストが作られて、これも膨大になるとチェックリストのチェックリストのチェックリストが…。
それで何年も経つと、意味不明なチェックをしているチェックリストがたくさん生き残るわけです。
たとえば、かつては液晶には信号に反応しない点がひとつやふたつはありました。
顧客からクレームが来るので、いろんな画像パターンを表示させる検査が追加になりました。ところが今の液晶製造技術なら、ppm(100万分の1)レベルまで品質は上がっています。それでも検査は残っています。
万が一未満の問題ですよ。
■本質的特性と偶発的特性の複雑性
本来、これらの特性が複合して発生する複雑性は極力排除することが望ましいのですが、間違えて本質的特性を偶発的特性がブロックしてしまったり、本質的特性を排除してしまったりする失敗が少なくありません。
ソフトウエアにかぎらず、その目的達成をより確実に確保するためには、複雑性を排除することが基本思想に必要ですが、本質的複雑性を排除してしまうとそのソフトウエアは役に立ちません。
ですが、「偶発的複雑性」は本来の目的には寄与しないものなので、これを排除することはソフトウエアの品質を高める効果があるわけです。
私が時々やってイライラする経験があるのですが、
1.ある大量のデータを処理しようとして簡単なソフトを作る
2.実際にそのデータを処理させる
3.処理が始まったところで、すごく時間がかかりそうなことに気がつく
4.これをデータをクレンジングしておいてからやればきっと早くなるとかんがえる
5.でも処理を始めてしまったので続けようか一旦止めるか迷う
6.最終的にはやめることにして、強制停止させる
7.データのクレンジングのために新たなソフトを書く
8.クレンジングを始める
9.始めてみるともっと効率のいいアルゴリズムを思いつく
または途中経過のデータを見て、クレンジング処理である特定のデータがフィルタされていないことに気がつく
10.項番 5 に戻るか、そのうちに何をやっていたか忘れて、「綺麗かつ流麗な」ソフトを作ることに熱中する
とやって、最終的には出来上がるのですが、かけた時間と作ったプログラムは当初のものより何倍も大きくなる…、と。
で、さらにまた、それが作りすてのプログラムだったりすると更に腹が立つ………
項番 1 は本質的特性ですが、それ以降やっているのは偶発的複雑性を増加させているだけですね。
ようやく終わった時には、こうつぶやくことになります。
「何をやっているんだか…」
アリストテレスの時代にソフトウエアがあったわけではありませんが、万物(人間?)の持つ特性はソフトウエアも避けられないということですかね?
■■偶発的特性を回避する
さて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行の文節では、複数の意味を持たせてはいけない
みたいなルールが有ります。
※ココらへんは文章術の本を参考にしてもらえるとわかりやすいです。
これもオッカムがいうように、複雑性を極力排除する仕掛けを考えずに、勢いに任せて流すとしっぱいするよ、ということかもしれませんね。
■同じテーマの記事
記憶ほどあてにならないものはありません。多くの場合は、時間が経てば曖昧になるし、最悪(というか普通)消えてなくなります。本当に消えてしまうわけではなく思い出せなくなるだけの場合もおおいですが。百万ドルの教訓過去記事で10万ドルのアイディアというのをご紹介しました。..
上司に怒られた、なんてのはわりと慣れっこなので、私はあまりあとには引かないほうかもしれませんが、何かの失敗をやらかしたこと自体とか、軽蔑の目で見られたみたいなは、私は結構あとに引きます。フラッシュバックこういう気になること、とくに自分の責任のチョンボなどは、夜になってもなかなか頭から離れてくれません。あんな事言うんじゃなかった…もうちょっとあそこで注意していれば…あ~!!しまった………なんてことをグチグチ考えちゃいます。こうなると、食事をしていようが、フロに入..
昨日の続きで、プレゼンのコツについて。昨日の要約最近、ウチの会社では昇進試験にプレゼンテーション試験というのが取り入れられました。以前の記事昇進試験グループディスカッションでもちょっと書きましたが、やっぱり昇進してリーダーなり管理職にになれる人というのは、自分の主張を持っていることも大切ですが、その主張を人に聞き入れてもらえるというのも大事ですね。前回の記事では、試験で評価されるポイントを書いたので、今回は実際..
最近、ウチの会社では昇進試験にプレゼンテーション試験というのが取り入れられました。以前の記事昇進試験グループディスカッションでもちょっと書きましたが、やっぱり昇進してリーダーなり管理職にになれる人というのは、自分の主張を持っていることも大切ですが、その主張を人に聞き入れてもらえるというのも大事ですね。前回の記事では、試験で評価されるポイントを書いたので、今回は実際に自分の主張を通しやすくするためのヒントを少し。アリスト..
だれかと議論になって、結局相手の言い分が通ってしまって非常に悔しい思いをしたことがあるかたは多いのではないかと思います。殆どの場合は、あとで思い返してみると、「あの時にこういうふうに切り返せばよかった…」などと、もう取り返しのつかないことを思い出して、ちょっとブルーになってみたりして。ただ、なかなか議論が伯仲している時など、結構熱くなっているので、なかなか冷静に相手の言うことを分析できないんですよね。今日は、「反論」という事について、心理学の法則をビジ..
今日は、すごいプレゼンテーションの技術の本。プレゼンの小手先のテクニックを書いたビジネス書はたくさんありますが、これはプレゼンの本質に迫る素晴らしい本です。一つ一つの身振り手振りや、目立つようなアニメーションの技術はさておき、プレゼンにおいて、どのように人を感動させ、どのようにプレゼンターの望む行動を起こさせるか、それが過去の素晴らしいプレゼンテーションを例に解説がしてあります。2007年のMacworldで、90分のうちに80..