on the distinction of functional and quality requirements in practice

19
Technische Universität München On the Distinction of Functional and Quality Requirements in Practice Daniel Méndez Technical University of Munich Germany PROFES 2016 Trondheim, Norway @mendezfe Joint work with Jonas Eckhardt (Technical University of Munich) Andreas Vogelsang (Technical University of Berlin)

Upload: daniel-mendez

Post on 21-Jan-2018

321 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: On the Distinction of Functional and Quality Requirements in Practice

Technische Universität München

On the Distinction of Functional and Quality Requirements in Practice

Daniel Méndez

Technical University of MunichGermany

PROFES 2016Trondheim, Norway

@mendezfeJoint work withJonas Eckhardt (Technical University of Munich)Andreas Vogelsang (Technical University of Berlin)

Page 2: On the Distinction of Functional and Quality Requirements in Practice
Page 3: On the Distinction of Functional and Quality Requirements in Practice

Objective

— RQ 1

— RQ 2

— RQ 3

We want to better understand

• whether practitioners handle Functional Requirements (FR) differently from Quality Requirements (QR),

• why they do so, and

• what the consequences are.

Page 4: On the Distinction of Functional and Quality Requirements in Practice

MethodologyOverview

Vehicle: Survey Research

Purpose: Exploratory / Curiosity-driven

Target Population: Practitioners handling requirements (directly or indirectly)

Data Collection: Feb 4th - Feb 22nd

Data Analysis: Descriptive statistics and manual coding of free-text answers

Details: goo.gl/EppYXr– Instrument*– Raw data – Coding results

Demographics

* Instrument (overview)

Documentation Practice

No documentation of QR

Documentation of QR

No distinction(from FR)

Distinction (from FR)

RQ 1

ReasoningRQ 2

Consequences (problems and benefits)RQ 3

Page 5: On the Distinction of Functional and Quality Requirements in Practice

Study resultsDemographics / Sample Characteristics

• 103 responses considered for data analysis (283 reached via different channels)

• 93% of respondents with more than 3 years experience

??

0 0,25 0,5 0,75 1

0,0137%21%41%rather agilerather plan-drivenmixeddid not know...

Software processes mix of agile and plan-driven

0 0,25 0,5 0,75 1

0,0534%37%24%embedded systemsbusiness inf. systemshybrid systemsconsumer SW

Balanced families of systems

Diverse project team sizes

0 0,25 0,5 0,75 1

0,0624%46%24%< 11 team members11-50 team members> 50 team membersdid not know...

Requirements specification has an important role

0 0,25 0,5 0,75 1

19%23%57%for in-house developmentfor external developmentsubcontractors using SRS

Page 6: On the Distinction of Functional and Quality Requirements in Practice

Study resultsRQ 1 - Do practitioners handle QRs differently?

Do practitioners document QRs (at all)?

0 0,25 0,5 0,75 1

12%88% DocumentationNo documentation

0%

25%

50%

75%

100%

Agile Mixed Plan-driven

Document QRs No QRs

blocking

Page 7: On the Distinction of Functional and Quality Requirements in Practice

Study resultsRQ 1 - Do practitioners handle QRs differently?

Do practitioners differentiate between QRs and FRs in the documentation?

0 0,25 0,5 0,75 1

15%85%DistinctionNo distinction

0%

25%

50%

75%

100%

Agile Mixed Plan-driven

Distinction No distinction

blocking

Page 8: On the Distinction of Functional and Quality Requirements in Practice

Study resultsRQ 1 - Do practitioners handle QRs differently?

To what extent do development activities for QRs differ from activities for FRs?

Distinction No distinctionRE

Arch/DesignImpl

Testing

0% 25% 50% 75% 100% 0% 25% 50% 75% 100%

Differs strongly Differs slightly Does not differ at all Don't Know

52% 31%12%48% 31% 8%13%

27% 43% 13% 17%23% 47% 26%

57% 21%21%21% 43% 21% 14%

36% 43% 14%7%14% 36% 43% 7%

Page 9: On the Distinction of Functional and Quality Requirements in Practice

Distinction No distinctionRE

Arch/DesignImpl

Testing

0% 25% 50% 75% 100% 0% 25% 50% 75% 100%

Differs strongly Differs slightly Does not differ at all Don't Know

52% 31%12%48% 31% 8%13%

27% 43% 13% 17%23% 47% 26%

57% 21%21%21% 43% 21% 14%

36% 43% 14%7%14% 36% 43% 7%

“NFRs are drivers for architectural decisions. Tests depend strongly on NFRs.”

“It does not make any difference. Both [QR and FR] are important.”

versus

Page 10: On the Distinction of Functional and Quality Requirements in Practice

Study resultsRQ 2 & 3 - Reasons, Problems, and Benefits

Distinction / No Distinction

Reason (#Occurence)

Reason (#Occurence)

Project phase

Project phase

Reason (#Occurence)

Reason (#Occurence)

Consequence (#Occurence)

Consequence (#Occurence)

Project phase

Project phase

Consequence (#Occurence)

Consequence (#Occurence)

RQ 2 What are the reasons for distinguishing (or not) between QRs and FRs in the documentation?

RQ 3 What are (positive / negative) consequences of distinguishing (or not) QRsand FRs in the documentation?

Page 11: On the Distinction of Functional and Quality Requirements in Practice

Study resultsRQ 2 & 3 - Reasons, Problems, and Benefits

General&ProjectOrganiza2on

RE

Design&Implementa2on

Valida2on&Verifica2on

InfluencetheArchitecture(6)

QRsrequiredifferentverifica9onmethods(9)QRscanonlybereviewed(2)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

Focusedimplementa9on(1)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

FocustoomuchonFR(2)

Latearchitecturalchanges(2)

Uncleartes9ngprocessforQRs(2)

Distinction btw. QRs and FRs

Compliancetocustomerconstraints(2)

CompanyPrac9ce(10)

QRsarecross-func9onal(8)Improvedreuse(3)

Differentresponsibility(3)Differentexper9se(2)

Findinforma9oninoneplace(2)

QRshavedifferentnature(10)

QRscannotbecompletedbeforeendoftheproj.(2)

CompletenessofRequirements(3)

ReduceAmbiguity(2)

Differentstakeholders(4)

QRdefectmayleadtoweakuseracceptance(2)QRsareforgoUen(2)

Dis9nc9onbetweenQRandFRunclear(2)QRsareneglected(2)

Traceabilitybecomesexpensive(4)

Findinforma9oninoneplace(5)

Separa9onofconcerns(3)IncreasedawarenessofQRs(4)

StructuredProcess(4)ReuseofQRs(4)

IncreasedProductQuality(2)BeUerdomain/systemunderstanding(2)

CompletenessofRequirements(2)

ClearerresponsibilityforQRs(2)

IncreasedawarenessofQRs(2)

Findinforma9oninoneplace(2)

FocusedDesign(2)

FocusedTests(4)ExplicitQRTests(3)

ReduceAmbiguity(2)Differentpriority(2)

Distinguishing QRs and FRs

Page 12: On the Distinction of Functional and Quality Requirements in Practice

General&ProjectOrganiza2on

RE

Design&Implementa2on

Valida2on&Verifica2on

InfluencetheArchitecture(6)

QRsrequiredifferentverifica9onmethods(9)QRscanonlybereviewed(2)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

Focusedimplementa9on(1)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

FocustoomuchonFR(2)

Latearchitecturalchanges(2)

Uncleartes9ngprocessforQRs(2)

Distinction btw. QRs and FRs

Compliancetocustomerconstraints(2)

CompanyPrac9ce(10)

QRsarecross-func9onal(8)Improvedreuse(3)

Differentresponsibility(3)Differentexper9se(2)

Findinforma9oninoneplace(2)

QRshavedifferentnature(10)

QRscannotbecompletedbeforeendoftheproj.(2)

CompletenessofRequirements(3)

ReduceAmbiguity(2)

Differentstakeholders(4)

QRdefectmayleadtoweakuseracceptance(2)QRsareforgoUen(2)

Dis9nc9onbetweenQRandFRunclear(2)QRsareneglected(2)

Traceabilitybecomesexpensive(4)

Findinforma9oninoneplace(5)

Separa9onofconcerns(3)IncreasedawarenessofQRs(4)

StructuredProcess(4)ReuseofQRs(4)

IncreasedProductQuality(2)BeUerdomain/systemunderstanding(2)

CompletenessofRequirements(2)

ClearerresponsibilityforQRs(2)

IncreasedawarenessofQRs(2)

Findinforma9oninoneplace(2)

FocusedDesign(2)

FocusedTests(4)ExplicitQRTests(3)

ReduceAmbiguity(2)Differentpriority(2)

Page 13: On the Distinction of Functional and Quality Requirements in Practice

General&ProjectOrganiza2on

RE

Design&Implementa2on

Valida2on&Verifica2on

InfluencetheArchitecture(6)

QRsrequiredifferentverifica9onmethods(9)QRscanonlybereviewed(2)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

Focusedimplementa9on(1)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

FocustoomuchonFR(2)

Latearchitecturalchanges(2)

Uncleartes9ngprocessforQRs(2)

Distinction btw. QRs and FRs

Compliancetocustomerconstraints(2)

CompanyPrac9ce(10)

QRsarecross-func9onal(8)Improvedreuse(3)

Differentresponsibility(3)Differentexper9se(2)

Findinforma9oninoneplace(2)

QRshavedifferentnature(10)

QRscannotbecompletedbeforeendoftheproj.(2)

CompletenessofRequirements(3)

ReduceAmbiguity(2)

Differentstakeholders(4)

QRdefectmayleadtoweakuseracceptance(2)QRsareforgoUen(2)

Dis9nc9onbetweenQRandFRunclear(2)QRsareneglected(2)

Traceabilitybecomesexpensive(4)

Findinforma9oninoneplace(5)

Separa9onofconcerns(3)IncreasedawarenessofQRs(4)

StructuredProcess(4)ReuseofQRs(4)

IncreasedProductQuality(2)BeUerdomain/systemunderstanding(2)

CompletenessofRequirements(2)

ClearerresponsibilityforQRs(2)

IncreasedawarenessofQRs(2)

Findinforma9oninoneplace(2)

FocusedDesign(2)

FocusedTests(4)ExplicitQRTests(3)

ReduceAmbiguity(2)Differentpriority(2)

Page 14: On the Distinction of Functional and Quality Requirements in Practice

Study resultsRQ 2 & 3 - Reasons, Problems, and Benefits

General&ProjectOrganiza2onRE

Design&Implementa2on

Valida2on&Verifica2on

QRsarealreadytranslatedintoFRs(1)

Tolimitresources(1)Missingguideline(1)

Toolinglimita9ons(1)Compliancetocustomerconstraints(1)

Thereisnodifference(2)

DifferentPriority(1)

Separa9onresultsinredesignsinlateprojectphases(1)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

IncreasedawarenessofQRs(2)

Cohesivedocuments(1)Noaddi9onaltrainingrequired(1)

Avoidslateredesign(1)Morefreedomintheimply.ofQRs(1)

Morecomprehensivetests(2)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

Decreasedproductquality(1)Tracingbecomesexpensive(1)

FocustoomuchonFRs(1)

CustomerspecifiesunfeasibleQRs(1)

QRsareunfeasible(1)

MissingV&VforQRs(1)

No distinction btw QRs and FRs

Reqs.alreadyonadetailedlevel(1)

Noaddi9onaltrainingrequired(1)

No distinction between QRs and FRs

Page 15: On the Distinction of Functional and Quality Requirements in Practice

General&ProjectOrganiza2onRE

Design&Implementa2on

Valida2on&Verifica2on

QRsarealreadytranslatedintoFRs(1)

Tolimitresources(1)Missingguideline(1)

Toolinglimita9ons(1)Compliancetocustomerconstraints(1)

Thereisnodifference(2)

DifferentPriority(1)

Separa9onresultsinredesignsinlateprojectphases(1)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

IncreasedawarenessofQRs(2)

Cohesivedocuments(1)Noaddi9onaltrainingrequired(1)

Avoidslateredesign(1)Morefreedomintheimply.ofQRs(1)

Morecomprehensivetests(2)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

Decreasedproductquality(1)Tracingbecomesexpensive(1)

FocustoomuchonFRs(1)

CustomerspecifiesunfeasibleQRs(1)

QRsareunfeasible(1)

MissingV&VforQRs(1)

No distinction btw QRs and FRs

Reqs.alreadyonadetailedlevel(1)

Noaddi9onaltrainingrequired(1)

Page 16: On the Distinction of Functional and Quality Requirements in Practice

General&ProjectOrganiza2onRE

Design&Implementa2on

Valida2on&Verifica2on

QRsarealreadytranslatedintoFRs(1)

Tolimitresources(1)Missingguideline(1)

Toolinglimita9ons(1)Compliancetocustomerconstraints(1)

Thereisnodifference(2)

DifferentPriority(1)

Separa9onresultsinredesignsinlateprojectphases(1)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

IncreasedawarenessofQRs(2)

Cohesivedocuments(1)Noaddi9onaltrainingrequired(1)

Avoidslateredesign(1)Morefreedomintheimply.ofQRs(1)

Morecomprehensivetests(2)

General&ProjectOrganiza2on

RE

Valida2on&Verifica2on

Design&Implementa2on

Decreasedproductquality(1)Tracingbecomesexpensive(1)

FocustoomuchonFRs(1)

CustomerspecifiesunfeasibleQRs(1)

QRsareunfeasible(1)

MissingV&VforQRs(1)

No distinction btw QRs and FRs

Reqs.alreadyonadetailedlevel(1)

Noaddi9onaltrainingrequired(1)

Page 17: On the Distinction of Functional and Quality Requirements in Practice

Some observationsReasoning not clear

» Contrary arguments “Both are requirements” versus “[they] are different”

» Same line of reasoning“increase awareness” by distinguishing and by not distinguishing QRs and FRs

Heterogenous, extrinsic decision drivers

» Lack of guidance“There is no real guidelines how to do it”

» Enforced guidance“[…] as requested by customer”, “Our specification template prescribes […]”

» Unclear difference in practice “Most people have problems to distinguish them, so they mix”

Unclear decision implications

» Impact on testingDistinguishing leads to more specialised tests, but also to not testing them at all

» (potential) Conventional wisdom Arguments from literature not underpinned by consequences

Page 18: On the Distinction of Functional and Quality Requirements in Practice

Take-AwaysReasoning not clear

» Contrary arguments “Both are requirements” versus “[they] are different”

» Same line of reasoning“increase awareness” by distinguishing and by not distinguishing QRs and FRs

What we haveconventional wisdomreasoning based on norms

Heterogenous, extrinsic

decision drivers

» Lack of guidance

“There is no real guidelines how to do it”

» Enforced guidance

“[…] as requested by customer”, “O

ur

specification template prescribes […

]”

» Unclear difference in practice

“Most people have problems to

distinguish them, so they mix”

Unclear decision implications» Impact on testingDistinguishing leads to more specialised tests, but also to not testing them at all» (potential) Conventional wisdom

Arguments from literature not underpinned by consequences

What we lackevidence

Page 19: On the Distinction of Functional and Quality Requirements in Practice

Takk!Daniel Méndez

[email protected]

@mendezfe

Approach me if you need material (study details & raw data)

Future workIncrease understanding about• implications of (not) distinguishing QRs from FRs• where preconceptions emerge from

➡ Contribute to testable theories in RE to debunk “(RE) Leprechauns”