私は、アーキテクチャ中心の設計方法論(ACDM)を直接経験しました。あなたの説明に基づいて、これはあなたが探しているものに近いと思います。それ自体はアジャイル手法ではありませんが、スクラムなどのアジャイル手法にうまく対応し、アジャイルの価値観と原則の多くを取り入れています(ただし、初心者チームはトリッキーまたはイライラするかもしれません)。さらに、ACDMは真の設計手法であり、要件を理解し、それらの要件を満たす設計を作成するための具体的なガイダンスを提供します。XPなど、コードを作成する際のガイダンスとして開発方法論を使用する必要があります。
ACDMは8つのステージで構成されています。一般的なプロセスの目標は、作成者が不確実な期間と呼んでいる期間から、構築するシステムのアーキテクチャ設計に関する確実な期間にチームを迅速かつ効果的に移行できるようにすることです。
- ステージ1:アーキテクチャの推進要因を発見する->作成者は、チームが4つの推進要因(技術的制約、ビジネス上の制約、高レベルの機能要件、および品質属性)に焦点を当てることを推奨します。特定の誘発技術は議論されておらず、そこには多種多様な技術があります。
- ステージ2:プロジェクトスコープを確立する->基本的に、概念的な設計を確立し、それが発見されたドライバーと一致することを確認します。
- ステージ3:アーキテクチャの作成/改良->これは、質問で言及した原則、SOLID、パターンの使用などの多くを適用する場所です。
- ステージ4:アーキテクチャレビュー->正式または準正式なプロセスでのレビュー担当者のチームによる設計のシナリオベースのレビュー。アーキテクチャの推進要因に基づいて、これはアーキテクチャ設計のためのTDDの変形と考えることができます。
- ステージ5:Production Go / No-Go- >設計がGoの場合は、ステップ7にスキップします。go / no-goは、システム全体ですべてまたはまったくないというわけではありません。つまり、要素のサブセットが本番環境で「実行」される可能性がありますが、他の要素はさらに改良する必要があります。
- ステージ6:実験 ->これは実際にはプロセスの中核です。何かがわからない場合やわからない場合は、手を汚してコードを記述し、設計で何をする必要があるかを理解する必要があります。手順3に繰り返します
- ステージ7:生産計画
- ステージ8:本番->コードの構築が始まり、部分的または全体的に発生する可能性があります
この本は、あなたが知る必要のあるほぼすべてのことを概説しています。また、本でリリースされたプロセスに至るまでのプロセスとその後のプロセスの両方に至るまで、著者によって公開されたいくつかの論文とプレゼンテーションがあります。
ソフトウェア集約型システムの設計: AnthonyLattanzeによる実践者ガイド。