プラスから探してみよう
システムの設計では、好手悪手色々な方式が世の中にはあります。それはデザインパターンやアンチパターンと呼ばれる形で、それらのノウハウが他の人にも伝えられています。しかし好手と思われる方式だけを採用しても、良いシステムを作ることができないというのも知っての通りです。
範囲をプログラム開発や何かしらの業務遂行に狭めたとしても、ある場面で有効だった方法が別の場面で有効となるとは、必ず言い切れるものでもありません。それと同じく、悪手と思われているものも場面によっては有効となることもよくあります。ここが難しいのは、その方法自体が良し悪しを決定づけているのではなく、方法を用いようとしているケースに適しているかどうか、その点が重要なのだと思われます。
極端な例でいえば、データベースのテーブル構造は正規化することが当然なのですが、正規化していない構造を採用していたとして、利用者が不満に思わない状態を作り上げられているのであれば、正規化していない事も悪手、とまではなりません。もちろん、一人の技術者として見た場合は、できる限り正規化を行った状態にしたいと考えるのですが、それを実施してはっきりとしたメリットが生まれないようであれば、いくらやって当然と言われていることであっても、それほどの価値は生み出されません。これは正規化という方法が、ある一定以上の性能を求められる場合には必要ですが、そこまでの性能を求められない場合にはあまり適していない方法、とも言えるのではないでしょうか。
それらを考えると、一つ一つに対してどうこう評価するよりも、まず全体を通しての評価が重要なのではないでしょうか。例えば、〇〇していないシステムはダメだ、△△していないプログラムはダメだ、といった否定形で語られることはよくあります。ですがシステムを総合的に見た場合では、同じような意見はどこかピントのずれた意見のように感じることがあります。個別要素を否定しても、全体的に見ると良いシステム、と評価されることは往々にしてあるのです。
高いリスクとなるセキュリティ的な面では、今のご時世もあり個別の要素要素で否定されることが通じる点はあります。ですがそういった特殊な領域を除けば、システムの評価というのは全体的な評価を、なにより良いと思われる点について先に評価を行うのが良いのではないでしょうか。
個別要素の否定から評価されるのは、個人的にあまり好きではありません。これも極端な話になりますが、個別要素であれば否定しようと思うといくらでも材料は見つけられるからです。それは別にシステム要素に限った話ではありません。
これは何事にも通じるかと思いますが、否定から入る事は次に良い結果へとつなげることが非常に難しくなります。無意識からなのでしょうが、返事のはじめに「いや、・・・」と否定形な言葉を付けてしまっている人もいますが、あまり気分の良いものではありません。そこを、肯定的な言葉から始めることで会話もスムーズになるというのも、多くの人が承知のことだと思います。同じように、システムやプログラムにおいても良いと思われる点から評価していくのが、良い形で次につなげられるのではないでしょうか。
今回のシステムはここが良かった、この機能のここが良かった、そういった良い点をまず評価したうえで、次に改善していきたい点を考えていくことが、そこに関わった人たちへ新たにモチベーションを与える事にもなると思います。反対にここがダメだった、この機能がダメだったと悪い点から評価していくのでは、そのシステム自体にもう関わりたいとは思われないでしょう。
結果としては、良い点悪い点どちらも評価されるのがベターです。ですが、良い点ありきなのと悪い点ありきとでは、あまりにも感じる印象は異なります。このシステムはここが良いけどここがダメ、というのと、ここがダメだけどここは良い、というのでは先に聞こえるものについての印象が大きくなってしまうのだと感じます。
私達も自分以外の物事に対して、何かしらの評価をすることはよくあります。そのような場面では、できるだけ良いと思われる点を探してみるのが良いのではないでしょうか。悪い点を探して評価するよりも、良い点を見つけだすことが、もしかすると何より次につなげるためには重要なのかも知れません。