よくやったと誉めてあげたい

f:id:nakaken0629:20120324014318p:plain

「アーキテクト」という責務がある。重要な役割の一つとして、プロジェクトが開始した時にアーキテクチュアルベースラインを作るという作業がある。この作業でよくあるのが、プロジェクト用のフレームワークの作成だ。スクラッチで作成しても良いし、既存のフレームワークをカスタマイズする事もよくある。狙いとしては、この後の実装者が、このアーキテクチャに沿ってシステムを作れるように することだ。

しかし、後の実装者は必ずしもアーキテクトの思い通りにはプログラムを作ってくれない。元来アーキテクトは構造的な美に対する間隔を大なり小なり持ち合わせている。アーキテクトが美しく積み上げたアーキテクチャを、プログラマはいとも簡単に醜悪にする。時が経つにつれて歪んでいくアーキテクチャをみて、ほとんどのアーキテクトは絶望と脱力に襲われる事だろう。

だがアーキテクトといえども、おこりうる全ての事を知る事はほぼ不可能である。プログラム時は「まさかそんなことを実装するのか」ということが、平気でぼんぼん発生する。そんなときに形はどうあれ動くものができたという事。それは「アーキテクチャが身をていしてプログラマを救ったのではないか」 と考える事ができないだろうか? まあ、そう思うプログラマはほとんどおらず、うまく行ったのは自分のせい、失敗したのはアーキテクチャに問題があると判断してしまうことだろう。

システム開発ではスピードが大事。昔のように揺るがせないアーキテクチャの作成は難しい時代になってきた。だから、ある程度見切りを付けたら即本番投入。アーキテクチャは意図していないとんでもない状況になる。でも、手や首がもがれてもなお、プログラマーを安全な場所で守っている。そう思えば、汚くなってしまったフレームワークに「ありがとう」っていう気持ちになってもいいのではないか。