BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース アジャイル開発での価値に基づいたアーキテクチャの決定

アジャイル開発での価値に基づいたアーキテクチャの決定

原文(投稿日:2011/07/06)へのリンク

eBayのチーフアーキテクトであるJeromy Carriere氏がSATURN 2011カンファレンスでアーキテクチャインプラクティス賞を受賞した。Vistaprintへ持続可能なアーキテクチャの原則を導入した経験を発表したことが評価されたためだ。氏は、アジャイルチームによる設計上の一貫した意思決定を維持しつつ、アーキテクチャの変化の経済的な責任とオーナシップによって自主性を基礎付ける方法について話した。

また、氏は開発者がアーキテクチャを大きな派手な設計活動と同一視してしまうという心理的な障害を克服することの難しさについて、そして、チームのメンバに原則を徹底させる役割としてのアーキテクトについて語った。氏は組織の中で信頼を得るためにチームメンバと頻繁に会話し、プロジェクトの課題を理解して、必要ならいつでも支援した。最終的には、アーキテクチャの見方は定量的に意思決定するための道具になり、アーキテクトの役割もすべてのエンジニアが理解した。

アーキテクチャを変えることに対して経済的な価値(プロジェクトに対する影響の見地から)を割り当てることで、チームのメンバは合理的で透明な意思決定プロセスに従って、アーキテクチャ変更のための決定をすることができた。また、プロジェクトのニーズとともに、組織のニーズを考慮するために、氏は下記の最低限の原則に従って意思決定をした。

  • 経済的な価値を最大化する選択肢を明示的に選ぶ
  • ソフトウエアの結合が最小限になるような意思決定をする
  • 予測可能性と拡張性を確保するために標準化を利用する

LAAAM (Lightweight Architecture Alternative Assessment Method)はSoftware Engineering Instituteの緻密なATAM(Architecture Tradeoff Analysis Method)に着想を得た意思決定方法で、異なる水準の関連する性質を構造化し重み付けをするのに重宝する。氏は次のように説明する。

ローカル(例えばプロジェクト)な関心時とグローバル(例えば企業)な関心事の両方を考える必要がある意思決定では、企業レベルで定義できる性質とその配下の性質でツリーを作ろうとします。これらの性質には部分的に優先順(例えば、性能は安全性より重要で、信頼性は安全性より重要。性能と安全性の相対的な重要さは既定されていない)がついています。プロジェクトではこの部分的な順番と互換性のある順位を全体に付けます。そして特定の文脈の中で関連するシナリオも定義します。

LAAAMは適切性(不適切、見込みあり、十分、完璧)に基づいてアーキテクチャの選択肢の価値を明確にする。こうすることでプロジェクトと企業のために関連するシナリオ(ツリーの順位に基づいている)に対処する。やみくもに“最良”の選択肢を取り出すのが目的ではない。これらの慎重に扱うべきシナリオが効果的に扱われているかどうかを検証するのが目的だ。それぞれの選択肢の中の順位の違いがほとんどない場合は、もう一度シナリオを練り直して、LAAAMを適用し直すのが良い。

氏はInfoQにLAAAMが今後取り組むべきことについての自身の考えを教えてくれた。氏の考えではLAAAMは、まず、コストのモデル(直近のリリースに必要な機会費用と生産性を削ぐ技術的負債、運用費用)を組み込み、ツールのサポートを提供するべきだ。

この記事に星をつける

おすすめ度
スタイル

BT