コンテンツにスキップ

ArchHypo (ArchHypo)

ソフトウェアアーキテクチャに関連する不確実性を管理するために、仮説工学(Hypothesis Engineering)を適用した実践的手法である。アーキテクチャ上の決定に必要な知識の不足を仮説として明示化し、反復を通じて検証と対策を進める。

初期段階での過剰な一括設計(Big Design Up Front)を回避し、適切なタイミングまで設計決定を遅らせながら、システムへの潜在的な悪影響を軽減する技術計画を体系的に策定・実行することを可能にする。

ArchHypoは、アジャイルおよび継続的アーキテクチャの原則を具現化し、以下の要素と手順によって運用される。

  • アーキテクチャ仮説の特定: 要件や候補ソリューションに関する不確実性を、検証・反駁可能な記述として定義する。
  • 不確実性と影響度の評価: 各仮説に対して、判断に必要な情報量(不確実性レベル)と、代替案への変更に伴う労力やコスト(影響度)を相対的に定性評価する。
  • 技術計画の策定: 仮説の受け入れや反証、不確実性の低減、影響度の低減、あるいは判断基準(アーキテクチュラルトリガー等)の設定を目的とした具体的なアクションを定める。
  • 開発サイクルへの統合: 技術計画のアクティビティをバックログに組み込み、各スプリントに分散させて計画・実行する。
  • 多様な手法の活用: アーキテクチャスパイク、トレーサーバレット、ソフトウェア分析、プロセスのガイドライン適用などを通じて、段階的に不確実性を解消する[1]。
  • 所属タグ: Architecture Hypothesis Engineering Uncertainty Management
  • カテゴリー: Related Fields
  1. ArchHypo: Managing Software Architecture Uncertainty Using Hypotheses Engineering — 「アーキテクチャスパイク(Architectural Spikes)と曳光弾(Tracer Bullets)は、この手法の起源となったパターンコレクションに文書化されているパターンである」(訳)(ライセンス: CC BY 4.0) ↩