Discover Quality Requirements with the Mini-QAW Thijmen de Gooijer - - PowerPoint PPT Presentation

discover quality requirements with the mini qaw
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Discover Quality Requirements with the Mini-QAW

Michael Keeling IBM @michaelkeeling Will Chaparro IBM @WMchaparro Thijmen de Gooijer ABB thijmen@acm.org

slide-2
SLIDE 2

Say you want to build a vehicle…

Go forward Turn Stop

slide-3
SLIDE 3
slide-4
SLIDE 4

OK… maybe with good acceleration?

slide-5
SLIDE 5
slide-6
SLIDE 6

A little more style?

slide-7
SLIDE 7
slide-8
SLIDE 8

Functional requirements are

  • nly part of the problem.
slide-9
SLIDE 9

Same Properties, Different Systems

9

Availability Reliability Deploy-ability Scalability Modifiability Maintainability Security Manageability Reusability System A System B

slide-10
SLIDE 10

Quality Attributes are Tricky

slide-11
SLIDE 11

Same Properties, Different Stakeholders

11

Availability Reliability Deploy-ability Scalability Modifiability Maintainability Security Manageability Reusability Stakeholder A Stakeholder B

slide-12
SLIDE 12

Enter: Quality Attribute Workshop

slide-13
SLIDE 13

Agenda

Theory Practice Reflection

slide-14
SLIDE 14

THEORY

What is a Mini-Quality Attribute Workshop?

slide-15
SLIDE 15

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

slide-16
SLIDE 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

16

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

PRACTICE

Let’s do a Mini-QAW!

slide-20
SLIDE 20

Workshop Agenda

  • Review Case Study
  • Stakeholder Empathy Map
  • Scenario Brainstorming
  • Raw Scenario Prioritization
  • Scenario Refinement
slide-21
SLIDE 21

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
slide-22
SLIDE 22

PROJECT PONY EXPRESS

slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25

Pony Express Business Goals?

From A to B… One Ticket & Painless transfers Balance: Time, Cost and Environmental Impact

slide-26
SLIDE 26
slide-27
SLIDE 27

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

slide-28
SLIDE 28

CREATE TEAMS

slide-29
SLIDE 29
  • Form teams of size 4
  • Send one person from your team to pick up

your packet!

slide-30
SLIDE 30

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?
slide-31
SLIDE 31

STAKEHOLDER EMPATHY MAP

slide-32
SLIDE 32
slide-33
SLIDE 33

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

slide-34
SLIDE 34
slide-35
SLIDE 35

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
slide-36
SLIDE 36

SCENARIO BRAINSTORMING

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39
  • Picture of today’s work…
slide-40
SLIDE 40

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)

slide-41
SLIDE 41

RAW SCENARIO PRIORITIZATION

slide-42
SLIDE 42

Why Prioritize?

  • Spend your time wisely
  • Focus on most important concerns first
  • Separate wheat from chaff
slide-43
SLIDE 43

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”
slide-44
SLIDE 44
  • picture
slide-45
SLIDE 45

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
slide-46
SLIDE 46

SCENARIO REFINEMENT

slide-47
SLIDE 47

Quality Attribute Name

Stimulus Environment Response Artifact Source Response Measure:

Raw scenario summary here…

Based on work by Rebecca Wirfs-Brock, Joseph Yoder

48

slide-48
SLIDE 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
slide-49
SLIDE 49
slide-50
SLIDE 50

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

slide-51
SLIDE 51

WRAP-UP

slide-52
SLIDE 52

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

slide-53
SLIDE 53

Advantages of Mini-QAW

  • Lightweight
  • Repeatable
  • Collaborative
  • Minimal facilitation required
  • Training
  • Preparation
slide-54
SLIDE 54

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

slide-55
SLIDE 55

Reflection Questions

slide-56
SLIDE 56

Silver Toolbox

slide-57
SLIDE 57

Creating taxonomies and questionnaires is really hard. Let’s work together to make our profession more awesome…

58

slide-58
SLIDE 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!