8章進化的アーキテクチャの実践

最後に、進化的アーキテクチャを中心とした考えを実践するために必要なステップを見ていく。これには、組織やチームへの影響を含む、技術的及びビジネス上の関心事が含まれる。また、どこから始めるべきかや、どうやってビジネス側にこうした考えを受け入れてもらうか、といったことについても示す。

8.1 組織的要因

ソフトウェアアーキテクチャの影響は驚くほど広範囲であり、チームへの影響や予算編成といった、通常はソフトウェアには関連しない様々な要因へと及ぶ。

技術的能力ではなくドメインを中心に編成されたチームは、進化的なアーキテクチャに関してはいくつかの利点を持つ。そして、そうしたチームは、いくつかの共通の特徴を示す。

8.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.