未来はいつでもわからない。だから、人は常に余裕をもったスケジュールを組むことが求められる。結果としてその余裕が無駄に終わったとしても、それを必要なことだと思えることが、大人になるための一歩だと思う。しかし、その余裕がどれくらい必要なのかは難しい問題だ。
"何が起きるかわからない"から余裕を見積もる。それは定性的には正しい。確定できない未来に対し、冗長性は必要だ。だが、どれだけ冗長する必要があるかは、その者の実力による。行き過ぎた慎重さは、思慮深さよりむしろ無知の証左に見える。
"何が起きるかわからない"というけれど
「何が起きるかわからないでしょう?」
私がここ最近うんざりさせられた言葉だ。そう言って、金もない癖に無駄にハイスペックなコンポーネントを採用したがる人を見ると、「わかってくれ」と思う。「何故わからないんだ」と思う。始めたばかりのプロジェクトじゃない。もう3年以上もやっているんだろう?わからないことは多いけれど、その中でわかること、わかったこともあるはずだ。
そりゃまぁ、突き詰めれば一寸先は闇かもしれない。明日北の将軍さまがご乱心する可能性だってないではない。何が起きるかわからないから、実験場は核シェルターにしましょう。そんな話は阿呆である。
確定できない未来を予想する
行き過ぎた慎重さは、万全を期した思慮深さではなく、無知に起因する。
もし、未来が確定的にわかっていれば、やるべきことは自ずと定まる。だが、未来はわからない。わからないから、不確定要素を考慮して、余裕を持った段取りを組む必要がある。
たとえば、ある場所に行くとして、そこが初めての場所であればかなり早めに出発するだろう。結果的に早く着くことがあっても、それはそれで仕方がない。一方、そこが通い慣れた職場であれば、遅刻ギリギリの時刻に出発してもさして問題がない。電車の遅延など、ほとんどのトラブルも想定できるだろうから、いざとなればタクシーを使おう、など対応も想定できる。同じ場所であっても、その人の持つ情報量によって、予想できる到着時刻やトラブル対応に差がつく。
つまり、わからないことが多ければ多いほど、未来の予想も困難になるので、求められる余裕もまた大きくなるわけだ。逆に、わかることが多ければ、無駄を少なくできる。
未来を怖がる前に
未来を完全に予想できる術などないから、あらゆるものに冗長性は必要だ。システム設計でもそうだ。しかし、冗長性がどこまで必要かは、その人の実力が反映される。システムで言うと、採用するコンポーネントのオーバースペックは、そのシステムを組む人間の無知を反映している側面がある。
一つのコンポーネントがオーバースペックなだけならば害はなさそうなものだが(まぁ見る人に見られれば「センスねーなー」と思われそうなのが嫌ではある)、たいていのものには少なからずトレードオフが存在するものだ。たとえばハイパワーのアンプを採用すればそれだけ消費電力が大きくなり、熱処理もたいへんになる。ノイズの影響も無視できない。実際、アンプがハイパワー過ぎて、クロストークでAD変換の下位ビットを殺していることもあった。単体のハイスペックが、全体のスペックを落とすこともあるのだ。
システムには前段があり、また後段もある。つまり、大事なことは全体のバランスだ。システムに精通していればしているほど、無駄は少なくなり、結果として性能も良くなる。
技術的な詳細を分かってほしいと言っているのではない。私だってよくわからん… 笑。ただ未来をわからないと怖がる前に、少し立ち止まり、自分自身の理解や、今わかっていることについて整理して、わからないものをわかろうとする努力があってもよいのではないか、と思うのだ。それだけで見えてくるものもあろう。「何が起きるかわからないから」と、よくよく考えもせず、リソースもないのに過剰な慎重さを振り回されると、「"何が起きるかわからない"ではなくて、"何がなんだかわからない"ではないですか」と嫌味の一つも言いたくなってしまうのである。
コメント