Activity 7 | Mini-Quality Attribute Workshop |
The mini-Quality Attribute Workshop (mini-QAW) is a lean, facilitated workshop designed to help you talk about quality attributes with stakeholders early in a system’s life.[30] During a mini-QAW, you’ll collaborate as a group to quickly identify, develop, and clarify quality attributes with the help of a quality attribute taxonomy. By the end of the mini-QAW, you’ll have a prioritized list of quality attribute scenarios and a wealth of contextual information about the system to be designed.
Walk through the essential steps of a traditional quality attribute workshop in only a few hours.
Quickly identify raw quality attributes and prioritize them before refining into full scenarios.
Provide opportunities for stakeholders to riff on each other’s ideas.
Create a forum for open discussion among stakeholders to discuss quality attribute concerns, risks, and other general concerns about the software system.
Ninety minutes to 3 hours, depending on the size of the taxonomy and brainstorming method used
A facilitator, usually the software architect. A small group of stakeholder participants.
This workshop works best in small groups of 3--5, with a maximum size of about 10 participants. Host multiple workshops if necessary to keep the group size down. When hosting multiple workshops, review scenarios with all groups once the workshops have concluded.
Before the workshop, prepare a quality attribute taxonomy. The quality attribute taxonomy is a set of predefined quality attributes highly relevant to the type of system you are building. An example of a quality attribute taxonomy for service-oriented architectures is available from the Software Engineering Institute.[31] The taxonomy will be used to facilitate structured brainstorming.
Prepare graphical quality attribute scenario templates in the style of the examples. Use these templates to capture scenarios during the workshop.
If desired, prepare a quality attribute web, shown, on poster-sized paper for use during the workshop. If not using a pre-printed taxonomy web, draw a web at the start of the workshop.
Sticky notes and markers for participants
Present the workshop goals and agenda.
Teach participants what they need to know about quality attributes. Describe the quality attribute taxonomy you’ll use during the workshop.
Display or draw the quality attribute web so everyone can see it.
Brainstorm raw quality attribute scenarios using either structured brainstorming or a questionnaire. Instruct participants to write one idea per sticky note and place them directly on the displayed taxonomy web. Read the posted raw scenarios out loud as they are placed on the web. If this prompts participants to think of new scenarios, record and post them on the web too.
After the brainstorming phase, prioritize the quality attributes and raw scenarios using dot voting. Participants get 1/3 the number of identified raw scenarios. For example, if there are 25 sticky notes on the web, everyone gets 8 votes to spend however they please. Participants also get 2 votes for overall quality attributes. Everyone votes at the same time.
Refine the top raw scenarios as a group until time runs out using the six-part scenario template shown. Remaining work must be done as homework.
As homework, refine the top raw quality attribute scenarios. Present the top refined quality attribute scenarios in a follow-up meeting to verify the scenarios and relative priority.
Keep your taxonomy small, 5--7 quality attributes max.
Use the web visualization to drive the workshop. Put the sticky notes close to related quality attributes.
Don’t worry about creating formal scenarios during brainstorming.
Ask probing questions about the stimulus, response, environment.
Pay attention when stakeholders sound worried about something. Stakeholders’ worries are often the source of a possible scenario.
Watch out for features and functional requirements.
Do not skip the homework. This is the most important part!
If workshop participants are not co-located, select screen-sharing software all participants can use or consider using a digital whiteboard application such as Mural. See Work with Remote Teams for more remote facilitation tips.
Here is an example mini-QAW agenda:
Agenda Item | Timing | Hints |
---|---|---|
Introduce the Mini-QAW | 10 minutes | |
Teach participants about Quality Attributes | 15 minutes | Set participants up for success |
Brainstorm Raw Scenarios | 30 minutes--2+ hours | Walk the System Properties Web |
Prioritize raw scenarios | 5 minutes | Use dot voting |
Refine scenarios | Until time runs out | Finish as homework |
Review the results | 1 hour | Separate, future meeting |
The mini-QAW is a very useful workshop with a few moving parts. Next, we’ll look at some additional tips for each of the stages in the standard agenda.
If workshop participants are relatively experienced, guide them through a simple brainstorming exercise. Set a time limit of 7--10 minutes for brainstorming and have participants work alone to come up with as many raw scenarios as they can. With less experienced participants (or facilitators), consider using the quality attribute web activity with a prepared taxonomy and quality attribute taxonomy-based questionnaire. The taxonomy questionnaire is a list of questions based on a predefined quality attribute taxonomy designed to prompt stakeholders to think about potential scenarios. Questionnaires require more up-front work, but this approach is thorough and produces more consistent results than brainstorming without a questionnaire.
After brainstorming, prioritize the raw scenarios. Stakeholders will raise many concerns during a workshop, but not all concerns are worth the effort to refine further. After participants have finished voting, take a step back and look at the web. Are there areas of the web with a greater number of sticky notes than others? How does that compare with how people voted? Were the high-priority scenarios aligned with the high-priority quality attributes?
The example, is what the quality attribute web might look like after voting. Dots on sticky notes are a vote for a raw scenario whereas dots on the web are for the overall quality attribute regardless of the specific scenarios identified.
After prioritizing raw scenarios, use the time remaining in the workshop to refine scenarios as a group. Show the quality attribute scenario template during the workshop and fill it in with stakeholders. The template can be printed on paper or shown as a presentation. The facilitator is responsible for refining any remaining scenarios as homework before the next meeting.
As you refine scenarios, keep an eye out for functional requirements masquerading as quality attribute scenarios. Everyone loves to talk about features, and it’s easy for feature requests to come up during a QAW. When this happens, add the feature request to your notebook and redirect the conversation back toward specific quality attributes.
Hold a follow-up meeting to review the refined scenarios with stakeholders. Prepare a slide-based presentation of the findings or other appropriate write-up to share during the meeting.
During this follow-up meeting, check the accuracy of any straw man numbers you put into the scenarios (see Activity 9, Response Measure Straw Man. Discuss information missing from scenarios and fill what you can. Finally, use this opportunity to double-check the priority of the top quality attribute scenarios. A simple high or low is usually sufficient. Any raw scenarios not refined are considered as low priority.
The mini-QAW is based on a more comprehensive workshop. The traditional QAW takes a few days to complete and is more appropriate for high-risk systems with many stakeholders. Quality Attribute Workshops (QAWs), Third edition [BELS03] describes the traditional QAW in detail.
3.145.37.86