6章進化可能なアーキテクチャの構築
ここまで、我々は進化的アーキテクチャの3つの基本的な要素「適応度関数」「漸進的な変更」「適切な結合」にそれぞれ個別に取り組んできた。そろそろ、それらを結び付けて語ってもよい頃合いだ。
これまで紹介してきた考え方の多くは新しいものではない。むしろ新しいレンズを通して見たものだ。例えば、テストするという考え方は長い間存在してきたものだが、適応度関数としてアーキテクチャの検証に重きを置くということはこれまでなかったものだ。デプロイメントパイプラインの考え方は継続的デリバリーによって定義されたものであるが、進化的アーキテクチャはその能力の真の有用性を示すものだ。
多くの組織は、ソフトウェア開発のエンジニアリング効率を向上させる方法として、継続的デリバリーの実践を追及している。しかし、我々は次のステップへと踏み出し、その能力を使ってより洗練されたものを作り出す。それは現実世界とともに進化していくアーキテクチャだ。
では、既存のプロジェクトと新規のプロジェクトの両方で、開発者はどのようにこれらの手法を活用できるだろうか。
6.1 仕組み
アーキテクトは、以下に示す3つの手順に沿うことで、これらの手法を進化的アーキテクチャの構築に役立てられるようになる。
6.1.1 ① 進化の影響を受ける次元を特定する
まず、どの次元をアーキテクチャの進化とともに保護したいのかを特定する必要がある。これには、技術アーキテクチャと、データ設計やセキュリティ、スケーラビリティといったアーキテクトが一般に重要だと考える各種の「~性」が常に含まれる。特定に際しては、ビジネス、運用、セキュリティなどの影響を受けるグループを含む、組織内でそれに関心を示すチームが関与している必要がある。そのためには、機能横断型チームを後押しする ...
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.