- ソフトウェアアーキテクチャは技術の成果の頂点。
- 構築した人がシステムに与えた「形状」。
- アーキテクチャの形状の目的は、そこに含まれるソフトウェアシステムの開発・デプロイ・運用・保守を容易にすること。
それらを容易にするための戦略は、できるだけ長い期間、できるだけ多くの選択肢を残すことである。
- システムのアーキテクチャは、システムの動作に影響を与えるものではない。
- アーキテクチャの主な目的は、システムのライフサイクルをサポートすること。
- 最終的な目的は、システムのライフタイムコストを最小限に抑え、プログラマの生産性を最大にすること。
開発初期はアーキテクチャの構造が何らかの障害物になると考えている。多くのシステムにたアーキテクチャが存在しないのはそのためだ。チームの規模が小さく、障害物となるような強固な構造を望んでいないので、最初からアーキテクチャが存在しないのである。
-
チーム単位のアーキテクチャは、システムのデプロイ・運用・保守に最適なアーキテクチャではない。
-
開発スケジュールが差し迫っていると、どうしてもそのようなアーキテクチャになってしまう。
-
ソフトウェアアーキテクチャの目的は、システムを単一のアクションで簡単にデプロイできるようにすること。
-
アーキテクチャが運用方法を明らかにする。
-
アーキテクトの目的は、方針とは無関係に詳細を決めながら、方針をシステムの最も重要な要素と認識するシステムの形状を作ること。
