「よい」ことをどうやってきめているのか

『「何か」が「よい」かどうか』ということはどうやって決まるのであろうか?おそらく3つのやり方に整理できると思う。
1. 外部特性で決める
 「何か」の外部特性、つまり外から見た特徴に対して、どのような外部特性がどうであれば「よい」とするというやり方。このやり方で注意すべき点は、外部特性は必ず「誰か」が判断するわけで、その「誰か」を明確にしないとだめということである。たとえば、開発者にとってなのか、経営者にとってなのか、とかそういうこと。また、同じ理由で主観的な評価になっても問題がない。いわゆるValidationってやつだ。

2. 内部構造で決める
 「何か」の内部構造、つまり中がどんなもので構成されているか、その関係はという観点で、ある「すでに正しい」とされているものとの比較によって、「よい」を判断するやり方。たとえば、CMMIを「すでに正しい」として自分たちのプロセスが「よい」かどうか判断するというのはこの範疇であろう。このやり方で注意すべき点は、このやり方を簡単にするためや機械的に処理するためになるべく構文的(Syntax)比較で済むように比較のやり方や比較のためのツールを作ってしまわないようにすることである。もちろん、そもそも構文がよいかを判断する場合(XMLDTDとか)は、何の問題もないわけだが、本来意味的 (Semantics)比較が必要なはずのものを構文的比較に落とす場合、慎重にすべきである。

3. プロセスで決める
 「何か」ができた過程の妥当性で決めるやり方。どういう時に使うんだろうか?ちょっと明確な区分けを思いつかないが、少なくとも上記2つの方法ではやりにくいようなものの場合は、この3つ目の方法で決めることになるだろう。それはおそらく「何か」が構造的でもなく、外部特性もよくわからん場合になるのであろう。典型的な例は、考えの整理が正しいかどうかを相手に納得させるために、結果の整理ではなく「思考プロセス」というプロセスにしたがって整理するということで正しさの担保を得る場合がある。

と3つに分けてみたが、だからなんだと言われても困る。