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 acceleration?
A little more style?
Functional requirements are only part of the problem.
Same Properties, Different Systems Availability Reusability Reliability Manageability Deploy-ability Security Scalability Maintainability Modifiability System A System B 9
Quality Attributes are Tricky
Same Properties, Different Stakeholders Availability Reusability Reliability Manageability Deploy-ability Security Scalability Maintainability Modifiability Stakeholder A Stakeholder B 11
Enter: Quality Attribute Workshop
Agenda Theory Practice Reflection
THEORY What is a Mini-Quality Attribute Workshop?
Quality Attribute 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 15 http://www.softwarearchitectures.com/go/Discipline/DesigningArchitecture/QualityAttributes/tabid/64/Default.aspx
The Traditional QAW 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 16
The Traditional QAW Keep it short 1. QAW Introduction 2. Business/Mission Presentation 3. Architectural Plan Presentation Skip 4. Identification of Architectural Drivers 5. Scenario Brainstorming 6. Scenario Consolidation Modify 7. Scenario Prioritization 8. Scenario Refinement Homework 17
Mini-QAW Agenda 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 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 verify EV / Zipcar Service Public Transport Taxi Service / Uber Authority Pony Express Back-end Mobile Services App Customer Service Rep Traveler
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 Peak load is We need uptime 150 requests System per second during peak responds even business hours when parts of the system fail
Scenario Brainstorming Overview 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
• Picture of today’s work…
Scenario Brainstorming (20 Minutes) 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!
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 Raw scenario summary here… Environment Response Source Artifact Stimulus Response Measure: 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 of 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 Traditional QAW Mini-QAW • Higher risk projects • Routine or well understood systems/problems • System or problem is new to team • Required to minimize upfront costs • Stakeholders prefers traditional methods • Limited experience with traditional QAW • Experienced facilitators available • Relatively short overall schedule 55
Reflection Questions
Silver Toolbox
Creating taxonomies and questionnaires is really hard. Let’s work together to make our profession more awesome… 58
Thank you! http://bit.ly/mini-qaw Resources to run this workshop! Thijmen de Gooijer Michael Keeling Will Chaparro IBM ABB IBM @michaelkeeling thijmen@acm.org @WMchaparro http://neverletdown.net http://bit.ly/swarch-design-book
Recommend
More recommend