この質問には本当に2つの部分があります。1つは、アーキテクチャが変更されたときをどのように知るかです。2番目の部分は、アーキテクチャがまだ良好であることをどのように知るかです。
この最初の部分:アーキテクチャが変更されたとき、どのようにして知るのですか?
ここでの目標は、暗黙的に行われていることを取り上げ、それを明示的にすることです
- Alexeiの提案は1つの選択肢です。ボード上にアーキテクチャのレビュー用の列を作成します。次に、アーキテクチャ上の決定が必要な場合は、カードをそこに移動します
- 別のオプションは、これを処理する方法に関する明示的なポリシーを作成することです。「アーキテクチャを変更する必要がある場合、他の誰かとペアにする必要があります」はそのようなポリシーの例です。あるプロジェクトでは、特定の人とペアを組むことにより、特定の特殊モジュールのコード変更を行う必要があるというポリシーがありました。誰かがそこでコードを変更したいとき、彼らはペアを呼び、チームを組みます。残りの作業は単独で行われました。アーキテクチャでも同様のことができます。
多くのカードがレビューを必要とする場合、アーキテクトがチームの一部ではなくハンドオフが必要な場合、またはレビューが追跡するのに時間がかかるほど詳細になりそうな場合は、おそらく前者を使用しますボード。後者は、アーキテクチャに触れるカードが少ない場合のオプションであり、オンデマンドで簡単にペアを見つけることができます。
次に2番目の質問に進みます。アーキテクチャがまだ良好であることをどのようにして知ることができますか?
私は視覚化の大ファンです。ホワイトボード上に、コンポーネントとアーキテクチャを説明するポストイットのメモ付きのチャートを作成できます。
コードベースを分析し、さまざまなコンポーネントの依存関係グラフを含むイメージを生成する静的アナライザーもあります。あなたはそれを実行し、印刷物を取り出して、週に1回程度壁に貼り付けることができます。おそらく、最新の2つの印刷物が壁に貼られている可能性があるため、先週に何か変更があったかどうかを確認できます。
これらがあなたにできることは、あなたのアーキテクチャとデザインを見えるようにすることです。チームメンバーは時々それを一見し、何かが変更、リファクタリング、またはより良い方法で行われる可能性がある場合はコメントします。