6章アーキテクチャ特性の計測と統制
アーキテクトは、ソフトウェアプロジェクトのあらゆる局面で、さまざまなアーキテクチャ特性に対処しなくてはならない。パフォーマンス、弾力性、スケーラビリティなどの運用特性は、モジュール性やデプロイ容易性などの構造の関心事を伴う。この章では、一般的なアーキテクチャ特性のいくつかを具体的に定義し、それらを統制する仕組みを構築することに焦点を当てる。
6.1 アーキテクチャ特性の計測
アーキテクチャ特性を組織で定義する際には、次のようなことがよく問題となる。
- 形が定まっていない
- 一般的に使われているアーキテクチャ特性には、意味があいまいなものが多い。たとえば、アーキテクトは、アジリティやデプロイ容易性をどのように設計すべきだろうか。この業界では、一般的な用語に対する広く異なる見解が存在している。その中には、正当な文脈の違いによって存在する見解もあれば、偶発的に存在している見解もある。
- 定義がさまざま
- 同じ組織内でも、パフォーマンスなどの重要なフィーチャーの定義については、部署によって意見が分かれることがある。開発者、アーキテクト、運用者が統一した定義を持っていないのなら、組織内で適切に会話するのは困難だ。
- 複合的すぎる
- 求められている多くのアーキテクチャ特性は、より小さなスケールの他の特性から構成されている。たとえば、アジリティはモジュール性、デプロイ容易性、テスト容易性といった特性に分解が可能だ。
アーキテクチャ特性の客観的定義を持つことは、3つの問題をすべて解決する。つまり、アーキテクチャ特性の具体的な定義について組織全体で合意することで、チームはアーキテクチャに関するユビキタス言語を手にできる。また、客観的定義を促すことで、チームは複合的な特性を紐解いて、計測可能かつ具体的な特性を見つけられる。 ...
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.