ソフトウェアアーキテクチャを評価することは、エンタープライズアーキテクチャ (EA) において重要なことだ。最近、SEI (Software Engineering Institute) のFelix Bachmann氏は、ソフトウェアアーキテクチャを効果的に評価して、エンタープライズアプリケーションにおけるリスクを特定する方法について語っている。彼はアーキテクチャ評価の原則について、SATURN (SEI Architecture Technology User Network) カンファレンスでセミナーを開いた。また、SEIのATAM (Architecture Tradeoff Analysis Method: アーキテクチャトレードオフ分析方法) フレームワークが、こうした原則をどのように利用してアーキテクチャ評価に役立てているかについても解説した。
アーキテクチャ評価の原則は「測定」「アーキテクチャの理解」「ノウハウ」という3つのカテゴリに分けることができる、とFelix氏は言う。ソフトウェアアーキテクチャ評価における「測定」には、ステークホルダから組織としてのニーズを引き出し、それを品質特性要求という厳密に測定可能な形式に翻訳する必要がある。彼によると、このカテゴリには4つの原則がある。
- 品質特性がアーキテクチャを決定する。
- ビジネス目標が品質特性要求を決定する
- ビジネス目標はステークホルダコミュニティにとって何が重要であるかを表している。
- 品質特性要求は正しい測定基準を使って明示する必要がある。
アーキテクトが用いたアプローチを理解し、その機能分割を理解し、どこに問題があるかを理解することも重要だ。「アーキテクチャの理解」には3つの原則がある。
- アーキテクチャを理解するためには、品質特性について理解しなければならない。
- 最も重要な品質特性要求が、システムのどの部分に分析を集中すべきかを決定する。
- アーキテクチャにおける機能分割は品質特性に貢献する。
ソフトウェアアーキテクチャ評価の「ノウハウ」には次のものが含まれる。
- 「無罪だと証明されるまでは有罪」というのは、与えられたものをむやみに何でも信頼するのではなく、納得できる証拠が必要だという意味だ。うまく証拠が提供できないのであれば、それはリスクになる。
- 適切な分析には、仮定は許されない。事実だけに価値がある。
- 評価された組織は、その評価結果を認めなければならない。
これらの原則をすべて順守するようなアーキテクチャ評価手法を使うと、ほぼ間違いなく成功する。これらの原則を使わないようなアーキテクチャ評価手法を使うと、おそらく最悪の結果になる。Felix氏はそう指摘する。彼はまた、状況に合わせて原則を適用すべきだと提案している。なぜなら、ある原則を順守することが、他の原則を順守することよりも重要なこともあるためだ。評価手法として原則をうまく利用するほど、成功するチャンスも高くなる。
ATAMフレームワークはアーキテクチャ評価にこれらの原則を利用している。ATAMの主要な部分は9つのステップから構成されており、これらは4つのグループに分けられる。
- プレゼンテーション。プレゼンテーションを通して情報交換する必要がある。
- 調査と分析。アーキテクチャアプローチに対する重要な品質特性要求を手に入れる必要がある。
- テスト。結果が関係するステークホルダ全員のニーズに合っているかをチェックする必要がある。
- 報告。ATAMの結果を提示する必要がある。
ATAM評価プロセスにおけるステップを以下に示す。
- ATAMを提示する。
- ビジネスドライバを提示する。
- アーキテクチャを提示する。
- アーキテクチャアプローチを特定する。
- 品質特性ユーティリティツリーを生成する。
- アーキテクチャアプローチを分析する。
- ブレインストーミングをしてシナリオに優先度付けをする。
- アーキテクチャアプローチを分析する。
- 結果を提示する。
Felix氏は、ソフトウェアアーキテクトはアーキテクチャ評価結果を注意深く観察し、継続的に評価プロセスを改善しなければならない、という言葉で話を締めくくった。