リチャード・モンソンヘーフェル未来を予言できる人はいません。これを普遍的な真実として受け入れるなら、どれくらい先のことを未来というのかが問題になります。10年後?2年後?20分後?未来を予言できないのなら、今より後のすべてのことを予言できません。次の瞬間がやってくるまで、あなたが知っていることはたった今とそれ以前のことだけです。私たちが自動車事故を起こすのはそのためです。木曜日に事故を起こすことがわかっていれば、その日は家にいるでしょう。私たちソフトウェア・アーキテクトは、いつも「未来も安泰」とでも言うべきシステムを設計しようとしています。未来になっても安泰なアーキテクチャーは、単純に作れません。あなたが今下したアーキテクチャー上の判断は、何であれ、いずれ時代遅れになるのです。今あなたが使っているすばらしいプログラミング言語は、いずれ未来のCOBOLになるのです。今日の分散フレームワークは、明日のDCOMになります。今日の解は、明日の問題になるのです。今日選んだものは、未来にはほぼ確実に誤りになるというこの事実を受け入れるなら、あなたのアーキテクチャーを未来になっても安泰なものにしなければという負担から解放されます。今日の選択が将来には確実に誤った選択になるのであれば、未来に通用するものは何だろうかと悩む必要はありません。現在のニーズにもっとも合ったソリューションを選べばよいのです。今日のアーキテクトが抱えている問題の1つに分析麻痺がありますが、未来にもっともよいテクノロジーは何かを当てようとあれこれと考えることがこの問題の大きな原因となっています。今の時点でよいテクノロジーを選ぶのでも、十分難しいのです。未来においてもよいものを選ぼうとしても無駄です。ビジネスが今必要としているものを見ましょう。技術市場が今提供してくれるものを見ましょう。今のニーズにもっとも合うソリューションを選びましょう。それ以外のものは、未来の選択として誤っているだけでなく、今の選択としても誤っているのです。ソフトウェアアーキテクトが知るべき97のこと当サイトはオライリー・ジャパンによる公式なサイトではありません。個々のエッセイは「CC-by-3.0-US」によってライセンスされています。2プロジェクト・マネジャーが知るべき97のこと。