How do software architects consider non-functional requirements: An exploratory study

Dealing with non-functional requirements (NFRs) has posed a challenge onto software engineers for many years. Over the years, many methods and techniques have been proposed to improve their elicitation, documentation, and validation. Knowing more about the state of the practice on these topics may benefit both practitioners' and researchers' daily work. A few empirical studies have been conducted in the past, but none under the perspective of software architects, in spite of the great influence that NFRs have on daily architects' practices. This paper presents some of the findings of an empirical study based on 13 interviews with software architects. It addresses questions such as: who decides the NFRs, what types of NFRs matter to architects, how are NFRs documented, and how are NFRs validated. The results are contextualized with existing previous work.

[1]  K. Seers Qualitative data analysis , 2011, Evidence Based Nursing.

[2]  Suzanne Robertson,et al.  Mastering the Requirements Process (2nd Edition) , 2006 .

[3]  Leonard J. Bass,et al.  Factors Influencing Industrial Practices of Software Architecture Evaluation: An Empirical Investigation , 2007, QoSA.

[4]  Liming Zhu,et al.  UML Profiles for Design Decisions and Non-Functional Requirements , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[5]  Tony Gorschek,et al.  Prioritization of quality requirements: State of practice in eleven companies , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[6]  Ian Gorton,et al.  Essential Software Architecture (2. ed.) , 2011 .

[7]  Martin Höst,et al.  Collaborative Resolution of Requirements Mismatches When Adopting Open Source Components , 2012, REFSQ.

[8]  Matthew B. Miles,et al.  Qualitative Data Analysis: An Expanded Sourcebook , 1994 .

[9]  Leonard J. Bass,et al.  Making Practical Use of Quality Attribute Information , 2008, IEEE Software.

[10]  Muhammad Ali Babar,et al.  A survey of architecture design rationale , 2006, J. Syst. Softw..

[11]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[12]  Philippe Kruchten,et al.  Issues in Applying Empirical Software Engineering to Software Architecture , 2007, ECSA.

[13]  Björn Regnell,et al.  Non-functional requirements metrics in practice - an empirical document analysis , 2007 .

[14]  Johan F. Hoorn,et al.  The lonesome architect , 2009, WICSA/ECSA.

[15]  Björn Regnell,et al.  Requirements engineering challenges in market-driven software development - An interview study with practitioners , 2007, Inf. Softw. Technol..

[16]  Matthew R. McBride,et al.  The software architect , 2007, CACM.

[17]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[18]  Colin Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[19]  Tony Gorschek,et al.  Quality Requirements in Practice: An Interview Study in Requirements Engineering for Embedded Systems , 2009, REFSQ.

[20]  Muhammad Ali Babar,et al.  Introducing Tool Support for Managing Architectural Knowledge: An Experience Report , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[21]  Ian Gorton,et al.  Essential software architecture , 2006 .

[22]  B. J. Oates,et al.  Researching Information Systems and Computing , 2005 .

[23]  Nazim H. Madhavji,et al.  A controlled experiment to assess the impact of system architectures on new system requirements , 2010, Requirements Engineering.

[24]  Johan F. Hoorn,et al.  The lonesome architect , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[25]  Martin Höst,et al.  Managing Quality Requirements: A Systematic Review , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[26]  Ghassan Beydoun,et al.  A field study of the requirements engineering practice in Australian software industry , 2007, Requirements Engineering.

[27]  Frank Buschmann Value-Focused System Quality , 2010, IEEE Software.

[28]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[29]  Tony Gorschek,et al.  Challenges in Aligning Requirements Engineering and Verification in a Large-Scale Industrial Context , 2010, REFSQ.

[30]  Jean Hartley,et al.  Case study research , 2004 .

[31]  Thomas Olsson,et al.  Non-functional requirements in industry - three case studies adopting an experience-based NFR method , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[32]  R. Yin,et al.  Case Study Research: Design and Methods (4th ed. , 2009 .

[33]  Björn Regnell,et al.  An Empirical Study on the Importance of Quality Requirements in Industry , 2011, SEKE.

[34]  B SeamanCarolyn Qualitative Methods in Empirical Studies of Software Engineering , 1999 .

[35]  Per Runeson,et al.  A survey of unit testing practices , 2006, IEEE Software.

[36]  Paul C. Clements Certified Software Architects , 2010, IEEE Softw..

[37]  Motoei Azuma SquaRE The next generation of the ISO/IEC 9126 and 14598 international standards series on software product quality , 2001 .

[38]  Maria Haigh,et al.  Software quality, non-functional software requirements and IT-business alignment , 2010, Software Quality Journal.

[39]  Xavier Franch,et al.  How Do Software Architects Consider Non-Functional Requirements: A Survey , 2010, REFSQ.

[40]  Carme Quer,et al.  Managing Non-Technical Requirements in COTS Components Selection , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[41]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[42]  Andreas Borg,et al.  The Bad Conscience of Requirements Engineering : An Investigation in Real-World Treatment of Non-Functional Requirements , 2003 .

[43]  Xavier Franch,et al.  Dealing with Non-Functional Requirements in Model-Driven Development , 2010, 2010 18th IEEE International Requirements Engineering Conference.