SlideShare una empresa de 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!

Más contenido relacionado

La actualidad más candente

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Design for non functional requirements
Design for non functional requirementsDesign for non functional requirements
Design for non functional requirementsHabeeb Mahaboob
 
requirement engineering
requirement engineeringrequirement engineering
requirement engineeringanam singla
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 
Software requirements engineering lecture 01
Software requirements engineering   lecture 01Software requirements engineering   lecture 01
Software requirements engineering lecture 01Abdul Basit
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering processDr. Loganathan R
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineeringPreeti Mishra
 
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 Simplifiedcbb010
 
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 ModelsRadu_Negulescu
 
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...Ashok Mohanty
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introductionDr. Loganathan R
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Postmortem Analysis
Postmortem AnalysisPostmortem Analysis
Postmortem AnalysisSaqib Raza
 

La actualidad más candente (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
 

Destacado

Architecting Non-Functional Requirements
Architecting Non-Functional RequirementsArchitecting Non-Functional Requirements
Architecting Non-Functional Requirementsgrossd18
 
Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional RequirementsReuben Korngold
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.Khushboo Shaukat
 
Non functional requirements - checklist
Non functional requirements - checklistNon functional requirements - checklist
Non functional requirements - checklistVu Hung Nguyen
 
Non functional requirements
Non functional requirementsNon functional requirements
Non functional requirementsPavel Růžička
 
Capturing Measurable Non Functional Requirements
Capturing Measurable Non Functional RequirementsCapturing Measurable Non Functional Requirements
Capturing Measurable Non Functional RequirementsShehzad Lakdawala
 
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)Jordi Cabot
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
SISO Presentation: Cloud Ontology
SISO Presentation: Cloud OntologySISO Presentation: Cloud Ontology
SISO Presentation: Cloud OntologyGovCloud Network
 
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 platformSuyati Technologies
 
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 days112Motion
 
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...IWSM Mensura
 
Harmony concepts and design guide
Harmony concepts and design guideHarmony concepts and design guide
Harmony concepts and design guide112Motion
 
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 casesJordi 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 week7hapy
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App EngineAndrea Spadaccini
 
Software Requirements
 Software Requirements Software Requirements
Software RequirementsZaman Khan
 

Destacado (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
 

Similar 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 EndavaFlorin Cardasim
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationJonathan Arnowitz
 
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
 
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 GardnerAdaCore
 
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 StudyAnh Nguyen Duc
 
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 deliverablesAviva Rosenstein
 
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.pdfOpenLearningLab
 
GHAMAS Design Principles
GHAMAS Design PrinciplesGHAMAS Design Principles
GHAMAS Design PrinciplesMichael Rawlins
 
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)Hayim Makabee
 
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...Anh Nguyen Duc
 
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...Hayim Makabee
 
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 4Marvin Heery
 
Ux Meets Code Interaction Usability
Ux Meets Code Interaction UsabilityUx Meets Code Interaction Usability
Ux Meets Code Interaction UsabilityArabella David
 
Design Thinking for Requirements Engineering
Design Thinking for Requirements EngineeringDesign Thinking for Requirements Engineering
Design Thinking for Requirements EngineeringDaniel Mendez
 

Similar 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
 

Más de Jordi Cabot

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?Jordi Cabot
 
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 architecturesJordi Cabot
 
Smart modeling of smart software
Smart modeling of smart softwareSmart modeling of smart software
Smart modeling of smart softwareJordi Cabot
 
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 disciplineJordi Cabot
 
¿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...Jordi Cabot
 
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 effortJordi Cabot
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursJordi Cabot
 
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'21Jordi Cabot
 
Low-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringLow-code vs Model-Driven Engineering
Low-code vs Model-Driven EngineeringJordi Cabot
 
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 platformJordi Cabot
 
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 ModelingJordi Cabot
 
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édulosJordi Cabot
 
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 Jordi Cabot
 
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...Jordi Cabot
 
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 TransformationsJordi Cabot
 
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 APIsJordi Cabot
 
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?Jordi Cabot
 
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?Jordi Cabot
 
Temporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformTemporal EMF: A temporal metamodeling platform
Temporal EMF: A temporal metamodeling platformJordi Cabot
 
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 DatabasesJordi Cabot
 

Más 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

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 

Último (20)

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 

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