Discover Quality Requirements with the Mini-QAW Thijmen de Gooijer - - PowerPoint PPT Presentation
Discover Quality Requirements with the Mini-QAW Thijmen de Gooijer - - PowerPoint PPT Presentation
Discover Quality Requirements with the Mini-QAW Thijmen de Gooijer Will Chaparro Michael Keeling ABB IBM IBM thijmen@acm.org @WMchaparro @michaelkeeling Say you want to build a vehicle Go forward Turn Stop OK maybe with good
Say you want to build a vehicle…
Go forward Turn Stop
OK… maybe with good acceleration?
A little more style?
Functional requirements are
- nly part of the problem.
Same Properties, Different Systems
9
Availability Reliability Deploy-ability Scalability Modifiability Maintainability Security Manageability Reusability System A System B
Quality Attributes are Tricky
Same Properties, Different Stakeholders
11
Availability Reliability Deploy-ability Scalability Modifiability Maintainability Security Manageability Reusability Stakeholder A Stakeholder B
Enter: Quality Attribute Workshop
Agenda
Theory Practice Reflection
THEORY
What is a Mini-Quality Attribute Workshop?
Quality Attribute
15
Benchmarks that describe a system’s intended behavior within the environment in which it was built. Requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors.
http://en.wikipedia.org/wiki/List_of_system_quality_attributes http://www.softwarearchitectures.com/go/Discipline/DesigningArchitecture/QualityAttributes/tabid/64/Default.aspx
1. QAW Introduction 2. Business/Mission Presentation 3. Architectural Plan Presentation 4. Identification of Architectural Drivers 5. Scenario Brainstorming 6. Scenario Consolidation 7. Scenario Prioritization 8. Scenario Refinement
The Traditional QAW
16
1. QAW Introduction 2. Business/Mission Presentation 3. Architectural Plan Presentation 4. Identification of Architectural Drivers 5. Scenario Brainstorming 6. Scenario Consolidation 7. Scenario Prioritization 8. Scenario Refinement
The Traditional QAW
17
Keep it short Skip Modify Homework
1. Mini-QAW introduction 2. Introduction to quality attributes, quality attributes taxonomy
- Stakeholder empathy map
3. Scenario brainstorming
- “Walk the System Properties Web” activity
4. Raw Scenario prioritization (dot voting) 5. Scenario Refinement
- While time remains, remainder is homework
6. Review results with stakeholders
Mini-QAW Agenda
18
PRACTICE
Let’s do a Mini-QAW!
Workshop Agenda
- Review Case Study
- Stakeholder Empathy Map
- Scenario Brainstorming
- Raw Scenario Prioritization
- Scenario Refinement
Ground Rules
- No right or wrong answers
- Use your experience, imagination to fill in missing details
- Watch the clock (We’ll help too)
- When it’s time, it’s time
- Listen for our signals
- Ask us questions if you need help or clarification
- HAVE FUN!
- Tweet / Share your experiences!
- #SATURN16
PROJECT PONY EXPRESS
Pony Express Business Goals?
From A to B… One Ticket & Painless transfers Balance: Time, Cost and Environmental Impact
Pony Express Context Diagram
Pony Express Mobile App Back-end Services Public Transport Authority EV / Zipcar Service Taxi Service / Uber Traveler verify Customer Service Rep
CREATE TEAMS
- Form teams of size 4
- Send one person from your team to pick up
your packet!
Introduce yourself! (5 minutes)
- Randomly pick a persona card
for each person
- What’s your role?
- Hint: use the personality card
- Chicken, Steak, Fish, or Tofu?
STAKEHOLDER EMPATHY MAP
Stakeholder Empathy Map Overview
Objective The Stakeholder Empathy Map is a brainstorming and visualization technique to ensure underrepresented stakeholders still have a voice in the workshop. Timing 15 - 30 minutes Steps
- 1. Brainstorm unrepresented stakeholders
- 2. Find a representative for each missing stakeholder
- 3. Prioritize quality attributes from the stakeholders’
perspective
- 4. Propose one scenario from the stakeholders’
perspective
Stakeholder Empathy Map (12 minutes)
Task From the perspective of your randomly assigned role Estimate quality attribute priorities Record findings on your worksheets Hints
- Think about someone you know who does this role
- The architect should actively facilitate
- Different perspectives make you stronger
SCENARIO BRAINSTORMING
Raw Quality Attribute Scenario
- Concrete instance of a quality attribute
- Informally describes a stakeholder’s concern
System responds even when parts of the system fail Peak load is 150 requests per second We need uptime during peak business hours
Objective Identify raw quality attribute scenarios. Timing 30 minutes to 2-3 hours Steps
- 1. Start with a Scenario on the web, ask “Is this Quality
attribute relevant to your system?”
- 2. If Yes, spend 5 minutes brainstorming scenarios /
concerns on that scenario.
- 3. Write raw scenarios on stickies and put on web
- 4. After 5 minutes, move to next scenario
Scenario Brainstorming Overview
- Picture of today’s work…
Task From the perspective of your randomly assigned role:
- Walk the Quality Attributes web.
- Brainstorm raw scenarios.
- Capture ideas directly on the web.
Hints
- Put the sticky close to related attributes
- Don’t worry about creating formal scenarios
- Think about stimulus, response, environment
- What are you worried about?
- Watch out for features and functional requirements!
Scenario Brainstorming (20 Minutes)
RAW SCENARIO PRIORITIZATION
Why Prioritize?
- Spend your time wisely
- Focus on most important concerns first
- Separate wheat from chaff
Raw Scenario Prioritization Overview
Objective Identify Highest Priority Scenarios using dot voting Timing 5 minutes Steps Dot Voting: Each stakeholder gets
- n / 3 + 1 dots for scenarios where n = # scenarios
- 2 votes to choose “top quality attribute”
- picture
Raw Scenario Prioritization (5 Minutes)
Task From the perspective of your role, vote for your highest priority concerns on the web using a dot. Each stakeholder gets
- 2 votes for scenarios
Hints
- Stay in role, empathize
- No lobbying other stakeholders
SCENARIO REFINEMENT
Quality Attribute Name
Stimulus Environment Response Artifact Source Response Measure:
Raw scenario summary here…
Based on work by Rebecca Wirfs-Brock, Joseph Yoder
48
Scenario Refinement Overview
Objective Generate Quality Attribute Scenarios based on raw notes Timing 30-60 minutes Steps
- 1. Start with high priority scenario
- 2. Fill out the worksheet, identifying the components
- f a quality attribute scenario
- 3. Complete and present to stakeholders
Scenario Refinement (10 Minutes)
Task Choose your top scenarios and use the worksheet to refine each scenario into a formal quality attribute scenario Hints
- It's OK to use “Straw Man” response measures
- Note all assumptions!
- Beware of functional requirements disguised as
quality attributes
WRAP-UP
General Facilitation Tips
- Prepare, prepare, prepare
- Match tools to the stakeholders
- Remote vs. co-located
- Sticky averse?
- Choose the right taxonomy for your system
- About 5 or 6 properties is a good number
- Brainstorm just-in-time if needed
- Give each stakeholder a voice
53
Advantages of Mini-QAW
- Lightweight
- Repeatable
- Collaborative
- Minimal facilitation required
- Training
- Preparation
Mini-QAW vs. Traditional QAW
- Routine or well understood
systems/problems
- Required to minimize upfront
costs
- Limited experience with
traditional QAW
- Relatively short overall
schedule
55
- Higher risk projects
- System or problem is new to
team
- Stakeholders prefers
traditional methods
- Experienced facilitators
available
Mini-QAW Traditional QAW
Reflection Questions
Silver Toolbox
Creating taxonomies and questionnaires is really hard. Let’s work together to make our profession more awesome…
58
Thank you!
Michael Keeling IBM @michaelkeeling
http://neverletdown.net http://bit.ly/swarch-design-book
Will Chaparro IBM @WMchaparro Thijmen de Gooijer ABB thijmen@acm.org
http://bit.ly/mini-qaw
Resources to run this workshop!