
042
1.6
アーキテクトに必要な資質
アーキテクトが備えるべき能力や考え方
変化に柔軟に対応して顧客に価値を提供し続け、企業に競争優位をも
たらすソフトウェアを生み出すために、多種多様なテクノロジーを評
価、選定してアーキテクチャを構築するアーキテクトという仕事はとて
も大変で、だからこそ非常にやりがいのある仕事だと思います。
アーキテクトの仕事の進め方や具体的な作業手順は第3章と第4章で
説明しますが、ここではアーキテクトが備えるべき能力や考え方につい
て、筆者の考えをまとめます。
設計力、コーディング力
アーキテクチャの設計はクラス設計やコンポーネント設計と比べてよ
り概念レベル、方針レベルの検討が必要となり、考慮すべき観点も異な
るのは事実です。しかし、全く別物というわけではありません。アーキ
テクチャレベルでも通用する設計原則は多くあります。筆者は、下位レ
ベルの設計やコーディングをしっかりできる技術者でなければ、良い
アーキテクチャ設計は難しいと考えています。
また、技術トレンドは常に移り変わり、以前は良いパターンとされて
いたものがある日を境にアンチパターンとなってしまうようなケースが
あります。ですので、設計力とコーディング力は常に磨き続ける必要が
あるでしょう。
抽象化能力
良い設計は抽象と具象がうまく分離されています。問題領域において
重要な本質部分と、置き換え可能な詳細部分に分けて考えることで、ソ