Monday, January 8, 2007

ソフトウェアアーキテクチャ 番外編 - QAW [arch]

今回の番外編は,Quality Attribute Workshop (QAW) というものの紹介.

Reference:
Quality Attribute Workshops (QAWs), Third Edition
by M. Barbacci, R. Ellison, A. Lattanze, J. Stafford, C. Weinstock, W. Wood
Technical Report CMU/SEI-2003-TR-016: Software Engineering Institute, 2003



ここまでで品質特性がいかに重要かを再三述べてきたが,実際に品質特性を正しく定義することは非常に難しい.

QAW とは,関係するステークホルダーを全て集めて,丸一日かけてプロジェクトの品質特性を,品質特性シナリオまで含めて定義してしまおうというイベントで,

1. QAW Presentation and Introductions
2. Business/Mission Presentation
3. Architecture Plan Presentation
4. Identification Architectural Drivers
5. Scenario Brainstorming
6. Scenario Consolidation
7. Scenario Prioritization
8. Scenario Refinement

というステップで構成されている.

実際の開発現場では,様々なステークホルダーがそれぞれの思惑の中で勝手な主張をして,仕様が二転三転するケースが少なからずあるが,QAW は話が発散せずに建設的な議論を行う工夫が散りばめられている.

特にアーキテクチャ決定要因の議論に入る前に休憩を設けて参加者同士が話をするように意図的にしていたり,優先順位設定を投票制にしている点などはなかなか興味深い.


どのような方法を取るにせよ,開発の初期段階でシステムの品質特性を認識し,そのシナリオ定義と優先順位設定を行い,全てのステークホルダーがそれを確認した上で合意することは,設計を進める上で非常に有益なことだ.

本ドキュメントはとても読みやすい英語で書かれている.参考にできる要素も多いと思うので,興味がある方はぜひ一度目を通してみると良いだろう.


0 comments: