Building Evolutionary Architectures, 2nd Edition I-1

https://learning.oreilly.com/library/view/building-evolutionary-architectures/9781492097532/

Part I. Mechanics
Chapter 1. Evolving Software Architecture

優雅で効果的に老朽化するシステムを構築することは、一般的なソフトウェア開発、特にソフトウェア・アーキテクチャの永遠の課題のひとつである。
本書は、進化可能なソフトウェアを構築する方法について、アジャイルソフトウェアムーブメントに由来する効果的なエンジニアリングプラクティスの活用と、変化とガバナンスを促進するアーキテクチャの構造化という2つの基本的な側面を取り上げる。

bit rot
ソフトウェア腐敗、コード腐敗、ソフトウェア侵食、ソフトウェア腐敗、ソフトウェアエントロピーとも呼ばれ、時間の経過とともにソフトウェアの品質が徐々に低下すること、または応答性が低下することで、最終的にソフトウェアに不具合が生じること。

アーキテクトの仕事の一部は、特定の問題を解決するための構造設計である。

進化型アーキテクチャ
進化のメカニズムも、アーキテクトがソフトウェアを設計する際に下す決断も、以下の定義に由来する
「進化型ソフトウェア・アーキテクチャは、複数の次元にまたがる、誘導された 漸進的な変化をサポートする」

進化可能なソフトウェアシステムを構築するためには、アーキテクトは技術的なアーキテクチャーだけにとどまらないことを考えなければならない。

最新のソフトウェアアーキテクチャにおいて、進化可能性に影響を与える一般的な次元
・テクニカル
・データ
・セキュリティ
・オペレーション/システム

技術的またはドメイン的な状況の変化がいつ起こるか、どの変化が持続するかは予測できませんが、変化が避けられないことは分かっています。
技術的な状況が変化することを理解した上で、システムをアーキテクトすべきである。

memoO'REILLY Learning

Posted by shi-n