正規化とは、リレーショナルデータベースでテーブル設計を行う際に実施されるテクニックのことで、テーブルに不必要なNULLを減らすように努力することとも言える。テーブルにNULLが生まれるということは、情報の生成タイミングにズレがあるということであり、生成タイミングの異なる情報は別のテーブルに切り出すことで情報の整合性を保つ。
情報の生成タイミングにズレがあるということは、「その時々で必要な情報には差がある」ということになる。NULLを不必要に許容すると情報量が増え、データ操作に矛盾が発生する。
これを、コミュニケーションに置き換えて検討してみよう。よくある、「伝えた、伝わってない問題」の予防から考えてみる。
対応策としては、「最初からぜんぶ言わずに、理解度について合意を取る」ことが肝心だと思う。
新しく仕事場に入った人にオンボーディングを施す場合なら、早く馴れてほしいと思って情報をとても多く提供してしまうときがある。環境構築の方法を教えたいだけなのに、プログラムの構成にまで話が及んでしまうなど、だ。「ちなみに~」と言い始めたら危険信号である。
知識を教える相手に一気に沢山情報を与えることの弊害は、与えた側は与えたことを良く記憶しているのに対し、与えられた側は理解が追い付かないので記憶から抜け落ちることである。ここに情報の非対称性が発生する。
よって、情報を与えるときにはアジェンダを作って相手と共有し、「今回はどこまで情報を与え、その結果どんな状態になっていることを期待しているか」について相手と合意を取れば良いのではと思っている。