アーキテクチャの評価は何でする?ITアーキテクト的発想のススメ(4)(2/2 ページ)

» 2008年08月12日 00時00分 公開
[東山 靖弘@IT]
前のページへ 1|2       

アーキテクチャの実装を推定する

 それでは、アーキテクトは評価をどういった手順で行えばよいだろうか。

 当然のことながら初めに、評価する対象を明確にする必要がある。あえてここでこのように書いたのは、評価する対象の定義やその評価軸がステークホルダーごとに異なり、あいまいなことが多いからだ。

 例えば、現行システムの開発・運用で苦労してきた情報システム担当者にとっては、現行システムで問題であった部分に対して強いこだわりをもっていることが多い。その場合に、新システムに対してその問題が解決されているかを最重要課題と認識する。

 しかし、現行システムと新システムでまったく異なるアーキテクチャを採用している場合、単純に比較することは難しい。現行システムの問題点を新しいアーキテクチャにマッピング(翻訳)し直さなければならない。マッピングにおいては、両者のアーキテクチャを十分に理解し、対応関係を見いだすことになる。それでも完全な対応関係が成立することはまれだろう。このような場合に大切なことは、ステークホルダー間で評価対象を合意しておくことだ。

 次に、評価対象とその評価軸を決めた後に、アーキテクチャ上、その評価において支配的となる部分を特定する。例えばコストの評価であれば、実装にかかる費用のうち、全体の大きなパーセンテージを占める主要な要素を抽出することになる。また、性能という品質評価であれば、全体の処理性能に大きな影響を与えるボトルネック個所の候補を特定する、といった具合だ。

 最後に、支配的な部分やボトルネックの影響を定量的に推定することになる。これが最も難しい。類似のアーキテクチャを実装した経験がものをいう場合や、ベンチマークや価格の最新情報が必要になることもある。実装されていない段階で、実装後の最終状態を予測し、定量的に推定しなければならない。フェルミ推定とよばれる手法が参考になるだろう。

  • [ポイント1]評価する対象をはっきりさせる
  • [ポイント2]支配的な部分やボトルネックを特定する
  • [ポイント3]実装結果を予測し定量的に推定する

意味を考えることが大切

 アーキテクチャの分析に必要な手法は、定量的分析手法、定性的分析手法などがある。アーキテクチャの評価手法は、アーキテクチャトレードオフ分析(ATAM)が有名である。また、個別の定量化手法としては、従来からファンクションポイント法などのソフトウェア規模の見積もり手法がある。分析する際には、目的に応じて、適切な手法を採用すればよい。そのためには、それぞれの手法がどういった指標を分析するものであるか、やり方はどういったものか、手法の前提条件や一般的な誤差はどの程度のものか、といったことをあらかじめ知っておく必要があるだろう。

 しかし、これらの手法によって得られるのはあくまでアーキテクチャが有する性質の定量的・定性的評価にすぎない。評価を行っただけでは、それぞれのステークホルダーにとってどういった意味や価値があるのかは分からない。一番大切なことは、ステークホルダーにとってアーキテクチャが意味あるものとすること、その価値を最大化することにある。アーキテクトには、システムがおかれている環境(文脈)において、そのアーキテクチャが最適となるようにしなければならない。システムの目的、目標と整合性がとれているかどうかが、そのアーキテクチャの価値を決定するのである。この点において、ステークホルダーの価値観が重要なファクターとなっている。この価値観については次回、考えていく。

美しさとは

 アーキテクトはしばしば審美眼的な見方でアーキテクチャを評価することがある。そのようなとき、「シンプル」「美しい」といった表現がよく使われる。

 経験豊富なアーキテクトは、シンプルなアーキテクチャが実装において有効であることを知っているからだ。対称性の確保や冗長性の排除がシンプルなアーキテクチャにつながる。シンプルであることは開発者に対しての分かりやすさにつながり、実装の複雑さを抑制できる。また、そういったシンプルな設計は、システムのライフサイクルを通して一貫性を保ちやすい。

 一方で、処理性能や信頼性を確保するためには一部に冗長性を持たせることが必要となる。非機能品質の実現とシンプルさをどう両立させるかは、アーキテクトの力量が問われる部分なのだ。

 美しさはアーキテクチャの最適化の結果として生み出されるものであり、初めに「美しさ」ありきは危険だと筆者は考えている。

 アーキテクチャ設計・分析において「ムリ・ムダ・ムラ」を排除していくことが、結果として「シンプル」で「美しい」アーキテクチャにつながるのだ。

筆者プロフィール

東山 靖弘(ひがしやま やすひろ)

株式会社NTTデータ 基盤システム事業本部

通信事業者向け基幹システムの企画・開発を経て、現在は上流工程におけるアーキテクチャ設計支援とともに、開発方法論の整備やナレッジマネジメントに取り組んでいる。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ