1章「ベストプラクティス」がないとどうなる?
ソフトウェアアーキテクトをはじめとする技術者は、なぜカンファレンスで講演したり、本を書いたりするのだろうか。その理由は、俗に言う「ベストプラクティス」を発見したからだ。乱用されているせいで、この言葉を口にすると反発を招くことも増えてきてしまっている。しかし、いずれにしても技術者が本を書くのは、一般的な問題に対する斬新な解決策を見つけ、それをより多くの人に伝えたいと思ったときだ。
では、もしも良い解決策がない膨大な問題が積み重なった場合には、どうなるだろうか。ソフトウェアアーキテクチャには、良い解決策がない問題が広く存在している。むしろ、解決策は厄介な一連のトレードオフを持っており、もともとの膨大な問題とほぼ同じくらい厄介なものであることが多い。
ソフトウェア開発者は、現在の問題に対する解決策をオンラインで検索するという優れたスキルを身につけている。たとえば、あるツールを自分の環境向けに設定する方法を知りたければ、ソフトウェア開発者はGoogleを巧みに使い、その答えを見つけられる。
しかし、アーキテクトはそうではない。
アーキテクトが抱える問題は組織の環境や状況と完全に融合しており、ユニークであることが多い。その場合、他の誰かがまったく同じシナリオに遭遇し、それをブログやStack Overflowなどに投稿する可能性は期待できない。
アーキテクトたちは、フレームワークやAPIといった技術的なトピックと比べて、アーキテクチャに関する書籍が少ないことを不思議に思っているかもしれない。しかし、アーキテクトが共通の問題を経験することはほとんどない。アーキテクトにとって、すべての問題は「雪の結晶」†1だ。多くの場合、アーキテクトたちが経験しているのは、組織を超えて、世界に一つだけの問題だ。そんな問題を扱う書籍やカンファレンスセッションが存在しないのは当然だろう。 ...
Get ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.