SYSTEM-6-2 · システム · v202506

システムアーキテクチャの決定・変更・改善に関するドキュメントを管理し継続的な学習機会を設けているか。

FAQ

Q.システムアーキテクチャの変更管理と、継続的な学習機会が必要なのはなぜですか?

システムアーキテクチャは、サービス利用のユーザー規模や機能追加、新技術の登場等により時代の流れと共に変化していきます。新しくチームに加わるメンバーには最新仕様のみを伝えれば良いですが、機能の開発中にシステムアーキテクチャに変更が入る場合、過去の構成は理解しているが、現在の構成は理解できていないといったメンバー向けに、変更点がわかりやすくドキュメントに管理されていることが望ましいです。

用語

軽量ADR ( Architecture Decision Records )

多くのドキュメントは、読みやすいコードとテストに置き換えることができます。しかし、進化的アーキテクチャでは、将来のチームメンバーの利益と外部の監督のために、特定の設計上の決定を記録することが重要です。ADRは、重要なアーキテクチャー決定を、そのコンテキストおよび結果と共に取り込むための技法です。これらの詳細は、WikiやWebサイトではなくソース管理に格納することをお勧めします。そうすれば、コードと同期したままのレコードを提供できるからです。

参考文献

疎結合アーキテクチャはなぜ重要か?

簡単に言うと、疎結合アーキテクチャは「建設現場の設計図・施工管理」のようなものです。従来の建設現場では、電気配線・配管・内装工事が密接に絡み合い、一箇所の変更が他の工程すべてに影響して大規模なやり直しが必要になることがありました。しかし、近代的な建設管理では、各工程が明確に分離され標準化されたインターフェース(配線接続口、配管ジョイントなど)で接続されるため、電気系統の変更が配管工事に影響せず、各専門業者が独立して作業を進められます。ソフトウェアの疎結合アーキテクチャも同じで、各機能を独立したコンポーネントとして設計し明確なインターフェースで接続することで、一つの機能変更が他に波及せず、チームが自律的に開発を進められる仕組みを実現できるのです。

カテゴリ解説を読む