【33】時間がすべてを変える
時の流れを見ていて特に面白いと思うのは、何が残って何が残らなかったかを知ることです。優秀な人々が長期的な問題を考え、すべての要素のバランスを取って、情熱的に支持してきたパターン、フレームワーク、パラダイム変更、アルゴリズムの多くが、時間の経過とともにただあくびしか誘わないものになり果てています。なぜでしょうか。歴史は私たちに何を語りかけているのでしょうか。
適切な課題の選択
これは、ソフトウェア・アーキテクトにとっては難しい問題です。課題や問題は与えられるものであり、私たちにはそれを選ぶようなぜいたくは許されません。本当にそうでしょうか。話はそれほど単純ではありません。何よりもまず、どのような仕事を依頼されるかについて、自分では何もできないと思うところが間違いです。通常ならできることがあるのですが、そうすると技術の世界の安心できる領域からはじき出されるような感じがするのです。しかし、正しい課題を選ばなければ、危険な目に遭います。要求された課題を解決するために誠実勤勉に働いたあげく、その課題自体がどうでもいい問題になってしまうのです。本当に必要とされる仕事をしていなかったので、その仕事は無駄になったのです。正しい課題に対する優れた解は、他の何よりも後まで生き残りますし、そのことは時間とともに証明されます。
シンプル原則
私たちは、自分に言い聞かせています。バカなんだからシンプルにしとけよ。言ってはいますが、実践はしていないのです。実践しないのは、そうする必要がないからです。私たちは賢く、少々の複雑さなら処理できます。設計に機敏性を加えるものだとか、私たちの美的センスに合うエレガントさがあるとか、将来を予測できているなどと言って、複雑になったことを正当化することもできます。そして時間が過ぎていきます。プロジェクトから離れて 1 年以上たった頃、不意に戻ってくることになると、なぜ自分がそういうことをしたのか驚くことになります。もし、もう 1 度同じことをしなければならないとしたら、きっと他の方法を使っているでしょう。時間にはこのような作用があります。時間は私たちを「バカ」に見せます。早いうちにこれを認識し、自分を乗り越え、時間だけが磨くことのできるレンズを覗いて、シンプルとはどういうことなのかを本当に学ぶようにすべきです。
古いものに満足せよ
アーキテクトは、「唯一の正しい方法」を探すのが好きです。何がなんでも手に入れたい予測可能性やいつもあと少しで手が届かない明確な答えを与えてくれるメソドロジー、新しい思考法といったものです。問題は、今、導きの光に見えるものが、1 年後にはそれほどの力を持たなくなり、10 年後にはさらに弱々しくなってしまうことです。後ろを振り返ると、現在の要件に合わない新方法につい期待してしまいます。しかし、古い方法に満足することを覚え、新しい方法を使って「修正」したくなる気持ちを抑えてください。そのソリューションは、問題に合ったものでしたか? それは問題を解決してくれましたか? それをあなたの尺度で測るのです。そうすれば、あなたはずっと幸せになれます。