how to determine appropriate software quality

28
BLEKINGE INSTITUTE OF TECHNOLOGY Quality Requirements Elicitation Based on Inquiry of Quality-Impact Relationships Quality Requirements Elicitation Based on Inquiry of Quality-Impact Relationships Farnaz Fotrousi, Samuel A. Fricker, Markus Fiedler Please cite as follows: F. Fotrousi, S. Fricker, M. Fiedler (2014). "Quality Requirements Elicitation based on Inquiry of Quality-Impact Relationships", IEEE International Requirements Engineering Conference (RE'14), Karlskrona, Sweden.

Upload: samuel-a-fricker

Post on 05-Dec-2014

303 views

Category:

Software


2 download

DESCRIPTION

Too little quality will lead to disappointed users, while too much quality is costly, inefficient, and unsustainable. In this talk we show how to elicit appropriate quality levels with quality-impact relationships. The results help to adjust quality in case of negative user feedback and to prespare service level agreements (SLA) based on empirical evidence.

TRANSCRIPT

Page 1: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Quality Requirements Elicitation

Based on Inquiry of

Quality-Impact Relationships

Quality Requirements Elicitation

Based on Inquiry of

Quality-Impact Relationships

Farnaz Fotrousi, Samuel A. Fricker,

Markus Fiedler

Please cite as follows:

F. Fotrousi, S. Fricker, M. Fiedler (2014). "Quality Requirements Elicitation based on Inquiry ofQuality-Impact Relationships", IEEE International Requirements Engineering Conference (RE'14),Karlskrona, Sweden.

Page 2: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Quality RequirementsQuality Requirements

ISO/IEC FDIS 25010

Page 3: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Goal ModelingGoal Modeling

[Chung et al, 2000]

Page 4: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Research ProblemResearch Problem

How can we determine the appropriate quality levels for requirements that are specified with a scale, rather than with operationalized goals?

Quality attributes such as

– Performance such as response time

– Reliability such as mean-time-to-failure

– etc.

Impact of the problem:

– Too little quality disappoints users

– Too much quality is costly and inefficient

Page 5: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

AgendaAgenda

Quality-Impact Relationships

Requirements Elicitation Method

Real-World Example of Method Application

Discussion and Future Work

Summary

5

Page 6: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

A quality-impact relationship is a function between

software quality levels and their impacts for a given

pair of quality attribute and impact.

Example (positive)

– Software quality level: 0.1 seconds response time

– Impact: user thinks the software is excellent

Example (negative)

– Software quality level: 10 seconds response time

– Impact: user thinks the software is bad

Quality-Impact RelationshipsQuality-Impact Relationships

Page 7: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

In prior empirical work, we have explored one kind of quality-impact

relationship: Quality of Service (QoS) and Quality of Experience

(QoE) for telecommunication services [10]

Prior WorkPrior Work

QoS response time

bad

poor

fair

good

excellent

Quality levelQuality levelType of quality: qmsrType of quality: qmsr

Quality impact level

Quality impact level

Qo

Em

ean

op

inio

n s

core

Type of quality impact: qimp

Type of quality impact: qimp

Quality-impact relationship: qimp = α * e-β*qmsr + ɣ

Quality-impact relationship: qimp = α * e-β*qmsr + ɣ

Page 8: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Quality-impact relationships make the pragmatic meaning of quality levels explicit.

– instead of just saying we need 0.1 sec response time…

– …we know that the user will be happy with it

Quality-impact inquiry method design:

– Framework of inquiry-based requirements analysis

– Supporting methods:

• Prototype: enable the quality experience and measurement (qmsr)

• Questionnaire: collect user experience data (qimp)

• Workshop: efficient, controlled setting

Key IdeasKey Ideas

Page 9: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Quality-Impact InquiryQuality-Impact Inquiry

Page 10: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Diabetes Self-Management AppDiabetes Self-Management App

Data sharingwith consulting doctor

Self-monitoring of glucose, stress, etc.

Page 11: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

The Requirement ProblemThe Requirement Problem

Type of quality impact, qimp: user acceptance

Type of quality, qmsr: response time (waiting time)

What waiting time shall be acceptable for the user (patient) until data sharing is completed?

What waiting time shall be acceptable for the user (patient) until data sharing is completed?

Page 12: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

1. Preparation1. Preparation

Prototype Questionnaire

qmsr: response time

measurementfacility

qimp: user’s acceptance

Call for Workshop

Overall, how satisfied are you with the feature you just have experienced?□ Excellent (5) □ Good (4) □ Fair (3) □ Poor (2) □ Bad (1)

Overall, how satisfied are you with the feature you just have experienced?□ Excellent (5) □ Good (4) □ Fair (3) □ Poor (2) □ Bad (1)

Please tell us why you feel that way:Please tell us why you feel that way:

Page 13: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

2. Measurement2. Measurement

Measurement qmsr: response time

qimp: user’s acceptance

Rationale

Measurement 1 1.26 seconds 4 …because of…

Measurement 2 0.22 seconds 5 …because of…

Etc.

Page 14: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

3. Analysis3. Analysis

Option A, use existing generic relationship

Option B, develop new model

Use

r’s

acce

pta

nce

(q

imp)

Response time (qmsr)

I did not feel disturbed, and everything was working.

I thought that the software was wrong

RationalesRationales

5

4

3

2

Page 15: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

4. Decision-Making4. Decision-Making

1- Use industry standard, competitive analysis [5], or

collected rationales to set the appropriate quality

impact.

2- Then look up the desired quality.

SRSSRS

1 2

Page 16: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Example of WorkshopExample of Workshop

Page 17: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Example ScenarioExample Scenario

i) selection of patient data

i) selection of patient data

ii) patient authentication

ii) patient authentication

iii) data submission

iii) data submission

iv) questionnaireiv) questionnaire

Page 18: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Example MeasurementExample Measurement

Log-file…

Measurement qmsr: response time

Measurement 1 1.08 seconds

Page 19: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Example AnalysisExample Analysis

Blue dots: collected data

Compensation of lack of extensive

data by using existing generic model [10]

QoS response time

bad

poor

fair

good

excellent

Curvematching

Page 20: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Example DecisionExample Decision

Targeted quality impact, qimp: user acceptance

– MOS 4 “good” (based on stakeholder consensus)

Type of quality, qmsr: response time (waiting time)

– 1.26 s (based on specific quality-impact relationship)

What waiting time shall be acceptable for the user (patient) until data sharing is completed?

What waiting time shall be acceptable for the user (patient) until data sharing is completed?

Page 21: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

DiscussionDiscussion

Variations

Feasibility in Practice

Future Research

Page 22: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Variations (1)Variations (1)

Different generic

relationships to

describe the

impact function

– Linear

– Exponential

– …

Simulated quality levels (through prototype)

Page 23: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Variations (2)Variations (2)

Software Features

Stakeholder Sampling

patient doctor

Many patients Many doctors

data transfer

chatting

Page 24: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Variations (3)Variations (3)

QoS response time

bad

poor

fair

good

excellent

Quality Attributes

Impact Attributes

ISO/IEC FDIS 25010

Page 25: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Feasibility in PracticeFeasibility in Practice

Experienced requirements engineers vs. junior

requirements engineers

Construction of Service Level Agreements

Extension of the requirements engineering toolset

Complementing competitive analysis of product

quality

Page 26: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Future ResearchFuture Research

Validating and evaluating the method in large-scale

requirement engineering situations

Expanding the understanding of the generic

relationships between combinations of software

quality attributes and their impacts as well quality

attributes relationship.

Scaling: how to get a sufficient number of data points

Page 27: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

SummarySummary

Problem: How to determine the appropriate level of

quality?

Approach: Quality-Impact inquiry method

Example

Key insights

Page 28: How to Determine Appropriate Software Quality

BLEKINGE INSTITUTE OF TECHNOLOGY

Thank youThank you

[email protected] @samuelfricker