コラム
» 2007年03月15日 18時28分 公開

ソフトウェアアーキテクティングのメリットThe Rational Edge(1/4 ページ)

ソフトウェアアーキテクティングは、ソフトウェア開発分野において最近その存在が認められた新しい学問だ。ソフトウェアアーキテクチャシリーズ最後の4回目となる本稿では、企業やIT部門が安定したソフトウェアアーキテクチャから享受できるメリットについて解説する。

[Peter Eeles,@IT]

The Rational Edgeより:シリーズ最後の4回目となる本稿では、企業やIT部門が安定したソフトウェアアーキテクチャから享受できるメリットについてPeter Eelesが解説する。


 わたしによる本シリーズの第1回目「ソフトウェアアーキテクチャって何なの?(前編)」は、ソフトウェアアーキテクチャとは何かについて書いた(関連記事1関連記事2)。2回目「ソフトウェアアーキテクトの役割」はソフトウェアアーキテクトが果たす役割の特性について説明し、3回目「ソフトウェアアーキテクティングのプロセス」はソフトウェアアーキテクティングのプロセスの基礎にあるテーマ、つまり特性について考察した。シリーズ最後の4回目となる本稿では、企業やIT部門が安定したソフトウェアアーキテクチャから享受できるメリットについて説明する。

 大まかにいえば、ソフトウェアアーキテクティングとはコスト削減、品質向上、スケジュールどおりの引き渡し、要件どおりの引き渡しにとって重要な要因だ。本稿では、これらの目的達成に寄与する具体的なメリットに重点を置いて解説する。アーキテクトとしては、時に自分たちの存在を正当化しておく必要があることも指摘しておきたい。本稿では、アーキテクティングをソフトウェア開発プロセスの非常に重要な部分として扱うために有益な手段も幾つか示す。

アーキテクティングはシステム品質を向上させる

 システムの機能は、アーキテクチャを構成する各種要素のやりとりを通じて、そのアーキテクチャにサポートされている。しかし、アーキテクティングにおける重要な特性の1つが、システム品質の達成手段だ。パフォーマンス、セキュリティ、および維持管理性といった品質は、統一されたアーキテクチャのビジョンなくしては達成できない。これらの品質が、アーキテクチャの1つの要素に限定されるのではなく、アーキテクチャ全体に広がっているためだ。例えば、パフォーマンス要件に対応するには、アーキテクチャ内の各コンポーネントの実行に必要な時間と、内部コンポーネント間のコミュニケーションに必要な時間も検討しなくてはならない可能性がある。同様に、セキュリティ要件への対応には、コンポーネント間のコミュニケーション特性を検討し、必要に応じて具体的な「セキュリティ対応」コンポーネントを投入しなくてはならない場合もある。これらの懸念はすべてアーキテクチャに関係するものであり、例では、個々のコンポーネントや、これらの間のつながりに関係する。

 アーキテクティング関連のメリットの1つが、このような品質をプロジェクトライフサイクルの早い時期に評価できるようになることだ。アーキテクチャのプロトタイプは、このような品質への対応を保証するだけの目的で作成されることも多い。机上で見るアーキテクチャがいかに優れていても、アーキテクチャがそのような品質を達成したかどうかは実行可能なソフトウェアを使う以外に測定方法がないため、これは重要なことなのだ。

アーキテクティングは意見の一致を実現する

 アーキテクティングのプロセスは、これがシステムソリューションをめぐる議論を実現する手段となり、さまざまな関係者間の意見の一致につながる。このような議論をサポートするために、アーキテクティングのプロセスは、アーキテクチャが明確に話し合われ、理解されているよう確実を期す必要がある。効果的な伝達が行われたアーキテクチャは、判断やトレードオフに関する議論、審査の促進、そして合意が実現する。逆に、伝達がうまく行われなかったアーキテクチャでは、このような議論が出てこない。このように意見が集まらないと、その結果完成するアーキテクチャは品質の低いものとなる可能性が高い。

 これと関連して、アーキテクチャはトレーニングの一環として、アーキテクト(およびそのビジョン)と新旧両メンバーの意見の一致を促進することもできる。ここでも、このようなメリットを実現するためには、アーキテクチャが効果的に伝達される必要がある。インプリメントするものに対して明確なビジョンを持った開発チームの方が、製品を思いどおりにインプリメントできる可能性が高い。

 そのためにも、アーキテクチャは適切にドキュメント化しておくことが重要であり、それがアーキテクトの重要な責務の1つだ。同様に、アーキテクチャが提示要件を満たしているかどうかを示すには、実証用アーキテクチャの作成が非常に優れた手段となる。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ