Quality Attribute Workshops (QAWs) provide a method for identifying a system's architecture-critical quality attributes, such as availability, performance, security, interoperability, and modifiability, that are derived from mission or business goals. The QAW does not assume the existence of a software architecture. It was developed to complement the SEI Architecture Tradeoff Analysis Method (ATAM) in response to customer requests for a method to identify important quality attributes and clarify system requirements before there is a software architecture to which the ATAM could be applied.
- How can you determine which quality attribute requirements are important before a system is built?
- How can you find out stakeholders' needs and expectations in an organized and effective way?
- How do you improve and increase communication among stakeholders?
In the QAW, an external team facilitates meetings among stakeholders during which scenarios representing the quality attribute requirements are generated, prioritized, and refined (i.e., adding additional details such as the participants and assets involved, the sequence of activities, and questions about quality attributes requirements). The process of refining the scenarios allows stakeholders to communicate among themselves, thereby exposing assumptions that may not have surfaced during requirements elicitation. The refinement also provides insights as to how these attributes interact, forming a basis for making tradeoffs between these attributes.
There may be more than one scenario-generation workshop, depending on the number and type of organizations and stakeholders involved in the development, maintenance, or use of the system. The QAW process ends with the list of prioritized, refined scenarios. The refined scenarios can be used in different ways, for example as seed scenarios for ATAM or as test cases in an acquisition effort.
The QAW involves these steps:
- QAW Presentation and Introductions:
QAW facilitators describe the motivation for the QAW and explain each step of the method.
- Business/Programmatic Presentation
: A representative of the stakeholder community presents the business and/or programmatic drivers for the system.
- Architectural Plan Presentation:
A technical stakeholder presents the system architectural plans as they stand with respect to early documents, such as high-level system descriptions, context drawings, or other artifacts that describe some of the system's technical details.
- Identification of Architectural Drivers
: Architectural drivers often include high-level requirements, business/mission concerns, goals and objectives, and various quality attributes. During this step, the facilitators and stakeholders reach a consensus about which drivers are key to the system.
- Scenario Brainstorming:
Stakeholders generate real-world scenarios for the system. Scenarios comprise a related stimulus, an environmental condition, and a response. Facilitators ensure that at least one scenario addresses each of the architectural drivers identified in Step 4.
- Scenario Consolidation
: Scenarios that are similar in content are consolidated.
- Scenario Prioritization:
Stakeholders prioritize the scenarios through a voting process.
- Scenario Refinement:
The top four or five scenarios are further clarified and the following are described:
- the business/programmatic goals that are affected by those scenarios
- the relevant quality attributes associated with those scenarios
In addition, stakeholders get a chance to ask questions and raise any concerns they have about those scenarios.
Organizations can use the QAW results to
- update the organization’s architectural vision
- refine system and software requirements
- guide the development of prototypes
- exercise simulations
- understand and clarify the system’s architectural drivers
- influence the order in which the architecture is developed
- describe the system’s operation
In addition, after the architecture is created, the scenarios can be used as seed scenarios during an ATAM evaluation.
The QAW helps you determine the right qualities for your system before it is developed—something that is crucial for system success and for your stakeholders' satisfaction. Clarifying those requirements and then achieving them in the first version of your system saves money and avoids future rework. The QAW provides a structured and efficient setting for communicating with your stakeholders and supports analysis and testing throughout the life of the system.
The QAW provides a forum for a wide variety of stakeholders to gather in one room at one time early in the development process. It is often the first time such a meeting takes place and generally leads to the identification of conflicting assumptions about system requirements.
Who Would Benefit
Organizations that are in the early stage of system development and need to clarify the system’s quality attribute requirements and stakeholders’ expectations for the system.
SEI staff is available to conduct a QAW for your organization. Contact us using the link in the For more information box at the bottom of this page.
Software Architecture Training and Publications
Software Architecture Training at the SEI
Software Architecture Publications
SEI blog posts about Quality Attribute Workshops
Reasoning About Software Quality Attributes
Impact of Army Architecture Evaluations, Robert L. Nord, John K. Bergey, Stephen Blanchette, Jr., & Mark H. Klein
Integrating the Quality Attribute Workshop (QAW) and the Attribute-Driven Design (ADD) Method
, Robert L. Nord, William G. Wood, & Paul C. Clements
Quality Attribute Workshops, Third Edition,
M. Barbacci, R. Ellison, A. Lattanze, J. Stafford, C. Weinstock, & W. Wood
Use of Quality Attribute Workshops (QAWs) in Source Selection for a DoD System Acquisition: A Case Study,
John K. Bergey & William G. Wood