how do software architects consider non-functional requirements - an exploratory study
TRANSCRIPT
![Page 1: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/1.jpg)
How do Software Architects consider Non-Functional
RequirementsAn Exploratory Study
D. Ameller, C. Ayala, J. Cabot, X. Franch
![Page 2: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/2.jpg)
2
Outline
• Motivation and objective
• Background
• The study
• Observations
• Conclusions and related work
![Page 3: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/3.jpg)
3
MotivationNFRs SA
“the rationale behind each architecture decision is mostly about achieving certain NFRs”
“[NFRs] play a critical role during system development, serving as selection criteria for choosing among myriads of alternative designs”
“quality attribute requirements strongly influence a system’s architecture”
Little evidence from empirical studies support these statements
![Page 4: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/4.jpg)
4
Objective
To conduct an exploratory study to investigate the following research question:
How do software architects deal with NFRs in practice?
![Page 5: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/5.jpg)
5
Background
RE activities
Reqs. structure
NFR types
Arch. design Analysis Companies
Prj. leades
Prd. managers
Programmers
Users
Sw. architects
Interviews 5Interviews 11Interviews 2e-Survey 25e-Survey ?Questionnaire 15Questionnaire ?Group discus. 10Interviews 12
+ SLR in [Svensson et al. 2010]
![Page 6: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/6.jpg)
6
BackgroundObservations:• No clear view in NFR elicitation• Cost-driven NFR quantification• Role-dependent view on NFR type’s importance• Lack of knowledge about NFR management• Vagueness of NFRs• Difficulty to test NFRs
• FRs still prevale• Need for more empirical studies
![Page 7: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/7.jpg)
7
The Study• Type:
Exploratory study using qualitative research Seven RQs
• Target population: Software architects (or practitioners with that role) We invited 21 software organizations (Spain) We recruited 12 of them
13 interviews made
![Page 8: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/8.jpg)
8
The Study
SCC: Software Consulting Company; SH: Software House; ITD: IT Department
![Page 9: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/9.jpg)
9
The Study• Data collection:
Semi-structured interviews Focus: one single project Duration: ~1 hour
• 7 questions about architect profile and development methodology used in the project
• 10 questions about decision-making and NFRs Audio-taped Transcribed Checked
![Page 10: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/10.jpg)
10
The Study• Analysis:
Two authors coded data independentlytabulation
Categories generationNVivo Software
ConsolidationGroup meetings
PresentationCounting technique
![Page 11: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/11.jpg)
11
The Study• Limitations and mitigations:
Evaluation apprehension Confidentiality Understandability Piloting (4) Influential factors Single project Bad memory Questionnaire sent in advance The best project Ask for the most familiar Omitting data Results overviewed by respondants Researcher bias Two separated interpretations Generalize the findings We do not attempt to make
universal generalizations
![Page 12: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/12.jpg)
12
Observations• RQ1: What is the role of the software
architect? Nobody had the “software architect” position Nomination: (experience, tec. knowledge) > architect skills 12 played other roles played in the project:
3 Project
Manager
Developer 5 Both
4
![Page 13: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/13.jpg)
13
Observations• RQ2: Are there terminological confusions on
NFRs? Inability. “availability”, “accuracy”, “sustainability” Confusion. “ergonomic” instead of “easy to use” Incorrectness. “Maintainability is very important, because
when something is working, we can’t make changes” Worsened by the Spanish translation
![Page 14: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/14.jpg)
14
Observations• RQ3: What types of NFRs are relevant to
software architects?
Perfo
rman
ce
Usabil
ity
Secur
ity
Availa
bility
Inte
rope
rabil
ity
Main
tena
nce
Accur
acy
Fault
Tolera
nce
Reusa
bility
Scalab
ility
Mod
ularit
y
Mon
itorin
g
Porta
bility
0
1
2
3
4
5
6
7
8
9
10
49 Software qualities
DomainTacit
![Page 15: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/15.jpg)
15
Observations• RQ3: What types of NFRs are relevant to
software architects?
Licen
sing
issue
s
Techn
ologic
al po
lices
Client
's NT re
quire
men
ts
Costs
Exter
nal r
egula
tions
Availa
bility
of s
uppo
rt
Organ
izatio
nal p
olicie
s0
1
2
3
4
5
6
7
8
9
10
33 Non-technical reqts.
![Page 16: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/16.jpg)
16
Observations• RQ4: How are NFRs elicited?
All architects considered elicitation as a gradual process… also never-ending
10
3 Mainly architect
User and architect
OutsourcedProjects
![Page 17: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/17.jpg)
17
Observations• RQ5: How are NFRs documented?
9
No documentation
3 Some kind of strategy
1 Plain text
“I rarely document my projects because it costs money”
VolereISO/IEC 9126-basedAd-hoc
Documentation not always evolved!
![Page 18: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/18.jpg)
18
Observations• RQ6: How are NFRs validated?
NFRs had been met by the end of the project?
11
2 Yes Not “yes”
Very vague justifications
“We wait for the client to complain”
![Page 19: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/19.jpg)
19
Observations• RQ6: How are NFRs validated?
What NFRs were validated?
8
Efficiency Accuracy Usability Reliability 4 Unknown
1 None
![Page 20: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/20.jpg)
20
Observations• RQ7: What type of tool support for NFRs is
used? Architects did not use any specific tool support for
NFR management
![Page 21: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/21.jpg)
21
Observations• RQ7: What type of tool support for NFRs is
used? What about NFR-driven MDD (cf. [Ameller RE’10])
5 Not at all
4 Not viable
2 Just support
2 Not answer
“I would not trust”
![Page 22: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/22.jpg)
22
Conclusions• Contributions
Corroborating previous evidences
Architects…performed other activities simultaneouslydid not share a common vocabularyshowed some misunderstandings and lack of knowledgeconsidered performance and usability as most importantmainly elicited NFRs iterativelymore often than not, didn’t documentvalidated just a few typeswere not enthusiastic about advanced tool support
![Page 23: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/23.jpg)
23
Conclusions• Contributions
Finding previously unreported observationsArchitects…
considered NTRs almost as important as quality reqts.mainly elicited NFRs by themselvesclaimed that NFRs were satisfied at the end of projectdid not use any specific tool for NFR management
![Page 24: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/24.jpg)
24
Conclusions• Contributions
Finding some misalignments or even contradictions with previous studies
Architects…did not exist as a differentiated rolequantification of NFRs was poor
![Page 25: How do Software Architects consider Non-Functional Requirements - An exploratory study](https://reader036.vdocuments.site/reader036/viewer/2022070315/554f432db4c90572088b544c/html5/thumbnails/25.jpg)
25
Conclusions• Future work
Replication; consolidation with other studies• E.g., study on OSS domain [REFSQ’12]
Changing the conditions• E.g., influence of an starting architecture (Ferrari et al, REJ10)
• More research needed on: Cost-benefit analysis (e.g., documentation) Highly customizable NFR management (e.g., existence
of architect role) Exploring other communication channels (e.g., blogs)