SlideShare uma empresa Scribd logo
1 de 26
How do Software Architects
 consider Non-Functional
      Requirements
Outline
• Motivation and objective

• Background

• The study

• Observations

• Conclusions and related work


                                 2
Motivation
              NFRs                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
                                                             3
Objective
To conduct an exploratory study to investigate
the following research question:

        How do software architects
        deal with NFRs in practice?




                                                 4
Background
Reqs. structure




                                              Prd. managers


                                              Sw. architects
                    + SLR in [Svensson




                                              Programmers
Arch. design
RE activities




                                              Prj. leades
NFR types           et al. 2010]




                                              Users
                  Analysis        Companies
                  Interviews         5
                  Interviews         11
                  Interviews         2
                  e-Survey           25
                  e-Survey            ?
                  Questionnaire      15
                  Questionnaire       ?
                  Group discus.      10
                  Interviews         12
                                                               5
Background
Observations:
• 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           6
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

                                                        7
The Study




SCC: Software Consulting Company; SH: Software House; ITD: IT Department
                                                                           8
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



                                                           9
The Study
• Analysis:
   Two authors coded data independently
   tabulation
   Categories generation
   NVivo Software
   Consolidation
   Group meetings
   Presentation
   Counting technique


                                           10
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
                                                    11
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:
                                                   Project
                                    3              Manager
                          4

    Both
                                  5
                                                Developer
                                                              12
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




                                                                 13
Observations
• RQ3: What types of NFRs are relevant to
  software architects?
    10

     9

     8                  49 Software qualities
     7

     6

     5

     4
                                        Domain
     3                                  Tacit
     2

     1

     0




                                                14
Observations
• RQ3: What types of NFRs are relevant to
  software architects?
        10
         9
         8
                        33 Non-technical reqts.
         7
         6
         5
         4
         3
         2
         1
         0




                                              15
Observations
• RQ4: How are NFRs elicited?

  User and                                    Mainly
                        3
  architect                                 architect
                               10
   Outsourced
   Projects


  All architects considered elicitation as a gradual
   process… also never-ending
                                                        16
Observations
• RQ5: How are NFRs documented?

  Plain text             1                No
                                     documentation
Some kind
                     3        9
of strategy

                                      “I rarely document
Volere                                my projects because
ISO/IEC 9126-based                    it costs money”
Ad-hoc

         Documentation not always evolved!            17
Observations
• RQ6: How are NFRs validated?
     NFRs had been met by the end of the project?


   Not “yes”             2                   Yes

                                11
“We wait for the                        Very vague
client to complain”                     justifications


                                                         18
Observations
• RQ6: How are NFRs validated?
  What NFRs were validated?

      None                         Efficiency
                      1
                                   Accuracy
                                   Usability
  Unknown        4                 Reliability
                               8




                                            19
Observations
• RQ7: What type of tool support for NFRs is
  used?
   Architects did not use any specific tool support for
    NFR management




                                                       20
Observations
• RQ7: What type of tool support for NFRs is
  used?
   What about NFR-driven MDD (cf. [Ameller RE’10])

     Not answer
                         2
                                             Not at all
Just support         2           5

                                       “I would not trust”
                             4
      Not viable
                                                        21
Conclusions
• Contributions
  Corroborating previous evidences
                         Architects…
 performed other activities simultaneously
 did not share a common vocabulary
 showed some misunderstandings and lack of knowledge
 considered performance and usability as most important
 mainly elicited NFRs iteratively
 more often than not, didn’t document
 validated just a few types
 were not enthusiastic about advanced tool support

                                                          22
Conclusions
• Contributions
  Finding previously unreported observations
                           Architects…
   considered NTRs almost as important as quality reqts.
   mainly elicited NFRs by themselves
   claimed that NFRs were satisfied at the end of project
   did not use any specific tool for NFR management




                                                            23
Conclusions
• Contributions
  Finding some misalignments or even contradictions
   with previous studies

                           Architects…
  did not exist as a differentiated role
  quantification of NFRs was poor




                                                  24
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)
                                                                   25
Hope you
 liked it!

Mais conteúdo relacionado

Mais procurados

Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
Abdul Basit
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplified
cbb010
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
Radu_Negulescu
 

Mais procurados (20)

Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Design for non functional requirements
Design for non functional requirementsDesign for non functional requirements
Design for non functional requirements
 
requirement engineering
requirement engineeringrequirement engineering
requirement engineering
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplified
 
7. requirement-engineering
7. requirement-engineering7. requirement-engineering
7. requirement-engineering
 
Intro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle ModelsIntro to Software Engineering - Life Cycle Models
Intro to Software Engineering - Life Cycle Models
 
software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...software development, process model, requirement engineering, srs, structured...
software development, process model, requirement engineering, srs, structured...
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Postmortem Analysis
Postmortem AnalysisPostmortem Analysis
Postmortem Analysis
 

Destaque

Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional Requirements
Reuben Korngold
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
Chris Schalk
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Jordi Cabot
 
What is a service level agreement week7
What is a service level agreement week7What is a service level agreement week7
What is a service level agreement week7
hapy
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
Zaman Khan
 

Destaque (20)

Architecting Non-Functional Requirements
Architecting Non-Functional RequirementsArchitecting Non-Functional Requirements
Architecting Non-Functional Requirements
 
Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional Requirements
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
 
Non functional requirements - checklist
Non functional requirements - checklistNon functional requirements - checklist
Non functional requirements - checklist
 
Non functional requirements
Non functional requirementsNon functional requirements
Non functional requirements
 
Capturing Measurable Non Functional Requirements
Capturing Measurable Non Functional RequirementsCapturing Measurable Non Functional Requirements
Capturing Measurable Non Functional Requirements
 
From UML/OCL to natural language (using SBVR as pivot)
From UML/OCL to natural language (using SBVR as pivot)From UML/OCL to natural language (using SBVR as pivot)
From UML/OCL to natural language (using SBVR as pivot)
 
Cloud Computing
Cloud  ComputingCloud  Computing
Cloud Computing
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
SISO Presentation: Cloud Ontology
SISO Presentation: Cloud OntologySISO Presentation: Cloud Ontology
SISO Presentation: Cloud Ontology
 
Jitterbit Harmony Spring’15 cloud integration platform
Jitterbit Harmony Spring’15 cloud integration platformJitterbit Harmony Spring’15 cloud integration platform
Jitterbit Harmony Spring’15 cloud integration platform
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
AS400 webservices - the adapter create cloud apps in a couple of days
AS400 webservices - the adapter create cloud apps in a couple of daysAS400 webservices - the adapter create cloud apps in a couple of days
AS400 webservices - the adapter create cloud apps in a couple of days
 
Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...Accounting for non functional and project requirements - cosmic and ifpug dev...
Accounting for non functional and project requirements - cosmic and ifpug dev...
 
Harmony concepts and design guide
Harmony concepts and design guideHarmony concepts and design guide
Harmony concepts and design guide
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
 
What is a service level agreement week7
What is a service level agreement week7What is a service level agreement week7
What is a service level agreement week7
 
Sla Agreement
Sla AgreementSla Agreement
Sla Agreement
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 

Semelhante a How do Software Architects consider Non-Functional Requirements - An exploratory study

Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
Endava
 
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaEndava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Florin Cardasim
 
Agile business analysis the changing role of business analysts in agile sof...
Agile business analysis   the changing role of business analysts in agile sof...Agile business analysis   the changing role of business analysts in agile sof...
Agile business analysis the changing role of business analysts in agile sof...
Nari Kannan
 
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdfSDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
OpenLearningLab
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 

Semelhante a How do Software Architects consider Non-Functional Requirements - An exploratory study (20)

Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...Endava Career Days Jan 2012  - Analysis And Architecture in Endava - How do w...
Endava Career Days Jan 2012 - Analysis And Architecture in Endava - How do w...
 
Endava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in EndavaEndava Career Days Jan 2012 Analysis and Architecture in Endava
Endava Career Days Jan 2012 Analysis and Architecture in Endava
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software Creation
 
Agile business analysis the changing role of business analysts in agile sof...
Agile business analysis   the changing role of business analysts in agile sof...Agile business analysis   the changing role of business analysts in agile sof...
Agile business analysis the changing role of business analysts in agile sof...
 
Agile methods and safety critical software - Peter Gardner
Agile methods and safety critical software - Peter GardnerAgile methods and safety critical software - Peter Gardner
Agile methods and safety critical software - Peter Gardner
 
Software Startup Engineering: A Systematic Mapping Study
Software Startup Engineering: A Systematic Mapping StudySoftware Startup Engineering: A Systematic Mapping Study
Software Startup Engineering: A Systematic Mapping Study
 
Practicing What We Preach: designing usage centered deliverables
Practicing What We Preach: designing usage centered deliverablesPracticing What We Preach: designing usage centered deliverables
Practicing What We Preach: designing usage centered deliverables
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
 
Non Functional Test Management
Non Functional Test ManagementNon Functional Test Management
Non Functional Test Management
 
Day 5
Day 5Day 5
Day 5
 
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdfSDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
 
GHAMAS Design Principles
GHAMAS Design PrinciplesGHAMAS Design Principles
GHAMAS Design Principles
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 
CPRE and Software testing
CPRE and Software testingCPRE and Software testing
CPRE and Software testing
 
On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Research industry panel review
Research industry panel reviewResearch industry panel review
Research industry panel review
 
Ux Meets Code Interaction Usability
Ux Meets Code Interaction UsabilityUx Meets Code Interaction Usability
Ux Meets Code Interaction Usability
 
Design Thinking for Requirements Engineering
Design Thinking for Requirements EngineeringDesign Thinking for Requirements Engineering
Design Thinking for Requirements Engineering
 

Mais de Jordi Cabot

Mais de Jordi Cabot (20)

AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?AI and Software consultants: friends or foes?
AI and Software consultants: friends or foes?
 
Model-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architecturesModel-driven engineering for Industrial IoT architectures
Model-driven engineering for Industrial IoT architectures
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart software
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
 
The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21The Software Challenges of Building Smart Chatbots - ICSE'21
The Software Challenges of Building Smart Chatbots - ICSE'21
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven Engineering
 
Lessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platformLessons learned from building a commercial bot development platform
Lessons learned from building a commercial bot development platform
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulosIngeniería del Software dirigida por modelos -Versión para incrédulos
Ingeniería del Software dirigida por modelos -Versión para incrédulos
 
Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit Chatbot Tutorial - Create your first bot with Xatkit
Chatbot Tutorial - Create your first bot with Xatkit
 
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 
WAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIsWAPIml: Towards a Modeling Infrastructure for Web APIs
WAPIml: Towards a Modeling Infrastructure for Web APIs
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platform
 
UMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL DatabasesUMLtoNoSQL : From UML domain models to NoSQL Databases
UMLtoNoSQL : From UML domain models to NoSQL Databases
 

Último

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Último (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

How do Software Architects consider Non-Functional Requirements - An exploratory study

  • 1. How do Software Architects consider Non-Functional Requirements
  • 2. Outline • Motivation and objective • Background • The study • Observations • Conclusions and related work 2
  • 3. Motivation NFRs 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 3
  • 4. Objective To conduct an exploratory study to investigate the following research question: How do software architects deal with NFRs in practice? 4
  • 5. Background Reqs. structure Prd. managers Sw. architects + SLR in [Svensson Programmers Arch. design RE activities Prj. leades NFR types et al. 2010] Users Analysis Companies Interviews 5 Interviews 11 Interviews 2 e-Survey 25 e-Survey ? Questionnaire 15 Questionnaire ? Group discus. 10 Interviews 12 5
  • 6. Background Observations: • 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 6
  • 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 7
  • 8. The Study SCC: Software Consulting Company; SH: Software House; ITD: IT Department 8
  • 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 9
  • 10. The Study • Analysis:  Two authors coded data independently tabulation  Categories generation NVivo Software  Consolidation Group meetings  Presentation Counting technique 10
  • 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 11
  • 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: Project 3 Manager 4 Both 5 Developer 12
  • 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 13
  • 14. Observations • RQ3: What types of NFRs are relevant to software architects? 10 9 8 49 Software qualities 7 6 5 4 Domain 3 Tacit 2 1 0 14
  • 15. Observations • RQ3: What types of NFRs are relevant to software architects? 10 9 8 33 Non-technical reqts. 7 6 5 4 3 2 1 0 15
  • 16. Observations • RQ4: How are NFRs elicited? User and Mainly 3 architect architect 10 Outsourced Projects  All architects considered elicitation as a gradual process… also never-ending 16
  • 17. Observations • RQ5: How are NFRs documented? Plain text 1 No documentation Some kind 3 9 of strategy “I rarely document Volere my projects because ISO/IEC 9126-based it costs money” Ad-hoc  Documentation not always evolved! 17
  • 18. Observations • RQ6: How are NFRs validated?  NFRs had been met by the end of the project? Not “yes” 2 Yes 11 “We wait for the Very vague client to complain” justifications 18
  • 19. Observations • RQ6: How are NFRs validated?  What NFRs were validated? None Efficiency 1 Accuracy Usability Unknown 4 Reliability 8 19
  • 20. Observations • RQ7: What type of tool support for NFRs is used?  Architects did not use any specific tool support for NFR management 20
  • 21. Observations • RQ7: What type of tool support for NFRs is used?  What about NFR-driven MDD (cf. [Ameller RE’10]) Not answer 2 Not at all Just support 2 5 “I would not trust” 4 Not viable 21
  • 22. Conclusions • Contributions  Corroborating previous evidences Architects… performed other activities simultaneously did not share a common vocabulary showed some misunderstandings and lack of knowledge considered performance and usability as most important mainly elicited NFRs iteratively more often than not, didn’t document validated just a few types were not enthusiastic about advanced tool support 22
  • 23. Conclusions • Contributions  Finding previously unreported observations Architects… considered NTRs almost as important as quality reqts. mainly elicited NFRs by themselves claimed that NFRs were satisfied at the end of project did not use any specific tool for NFR management 23
  • 24. Conclusions • Contributions  Finding some misalignments or even contradictions with previous studies Architects… did not exist as a differentiated role quantification of NFRs was poor 24
  • 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) 25