skip to main content
10.1145/3510454.3517069acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Towards a theory of shared understanding of non-functional requirements in continuous software engineering

Published:19 October 2022Publication History

ABSTRACT

Building shared understanding of requirements is key to ensuring downstream software activities are efficient and effective. Nonfunctional requirements (NFR), which include performance, availability, and maintainability, are vitally important to overall software quality. Research has shown NFRs are, in practice, poorly defined and difficult to verify, especially in agile environments. Continuous software engineering (CSE) practices, which extend agile practices, emphasize fast paced, automated, and rapid release of software that poses additional challenges to NFRs. However, the level of shared understanding achieved across an organization is not well-understood. This dissertation builds the foundations towards a theory of the complex and intricate relationship between shared understanding of NFRs and CSE.

References

  1. Wasim Alsaqaf, Maya Daneva, and Roel Wieringa. 2018. Understanding Challenging Situations in Agile Quality Requirements Engineering and Their Solution strategies: Insights from a Case Study. In 2018 IEEE 26th International Requirements Engineering Conference (RE). 274--285. ISSN: 1090-705X.Google ScholarGoogle ScholarCross RefCross Ref
  2. David Ameller, Claudia Ayala, Jordi Cabot, and Xavier Franch. 2012. How do software architects consider non-functional requirements: An exploratory study. In 2012 20th IEEE International Requirements Engineering Conference (RE). 41--50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Woubshet Behutiye, Pertti Karhapää, Dolors Costal, Markku Oivo, and Xavier Franch. 2017. Non-functional Requirements Documentation in Agile Software Development: Challenges and Solution Proposal. In Product-Focused Software Process Improvement (Lecture Notes in Computer Science), Michael Felderer, Daniel Méndez Fernández, Burak Turhan, Marcos Kalinowski, Federica Sarro, and Dietmar Winkler (Eds.). Springer International Publishing, Cham, 515--522.Google ScholarGoogle Scholar
  4. Stephany Bellomo, Neil Ernst, Robert Nord, and Rick Kazman. 2014. Toward Design Decisions to Enable Deployability: Empirical Study of Three Projects Reaching for the Continuous Delivery Holy Grail. In 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. 702--707. ISSN: 2158--3927.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Stephany Bellomo, Neil A. Ernst, Robert L. Nord, and Ipek Ozkaya. 2014. Evolutionary Improvements of Cross-Cutting Concerns: Performance in Practice. 2014 IEEE International Conference on Software Maintenance and Evolution (2014), 545--548.Google ScholarGoogle Scholar
  6. Richard Berntsson Svensson, Tony Gorschek, and Björn Regnell. 2009. Quality Requirements in Practice: An Interview Study in Requirements Engineering for Embedded Systems. In Requirements Engineering: Foundation for Software Quality (Lecture Notes in Computer Science), Martin Glinz and Patrick Heymans (Eds.). Springer, Berlin, Heidelberg, 218--232.Google ScholarGoogle Scholar
  7. Eva Alice Christiane Bittner and Jan Marco Leimeister. 2013. Why Shared Understanding Matters - Engineering a Collaboration Process for Shared Understanding to Improve Collaboration Effectiveness in Heterogeneous Teams. In 2013 46th Hawaii International Conference on System Sciences. 106--114. ISSN: 1530--1605.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Elizabeth Bjarnason, Krzysztof Wnuk, and Björn Regnell. 2011. A case study on benefits and side-effects of agile practices in large-scale requirements engineering. In Proceedings of the 1st Workshop on Agile Requirements Engineering. ACM, 3.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Andreas Borg, Angela Yi Huey Yong, Pär Carlshamre, and Kristian Sandahl. 2003. The Bad Conscience of Requirements Engineering: An Investigation in Real-World Treatment of Non-Functional Requirements.Google ScholarGoogle Scholar
  10. Richard E Boyatzis. 1998. Transforming qualitative information: Thematic analysis and code development. sage.Google ScholarGoogle Scholar
  11. F Brooks and HJ Kugler. 1987. No silver bullet. April.Google ScholarGoogle Scholar
  12. Lianping Chen, Muhammad Ali Babar, and Bashar Nuseibeh. 2012. Characterizing architecturally significant requirements. IEEE software 30, 2 (2012), 38--45.Google ScholarGoogle Scholar
  13. Lawrence Chung, Brian A Nixon, Eric Yu, and John Mylopoulos. 2012. Nonfunctional requirements in software engineering. Vol. 5. Springer Science & Business Media.Google ScholarGoogle ScholarCross RefCross Ref
  14. Juliet M Corbin and Anselm Strauss. 1990. Grounded theory research: Procedures, canons, and evaluative criteria. Qualitative sociology 13, 1 (1990), 3--21.Google ScholarGoogle Scholar
  15. Marianne Corvera Charaf, Christoph Rosenkranz, and Roland Holten. 2013. The emergence of shared understanding: applying functional pragmatics to study the requirements development process. Information Systems Journal 23, 2 (2013), 115--135.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Daniela S. Cruzes and Tore Dyba. 2011. Recommended Steps for Thematic Synthesis in Software Engineering. In 2011 International Symposium on Empirical Software Engineering and Measurement. 275--284.Google ScholarGoogle Scholar
  17. Daniel Cukier. 2013. DevOps Patterns to Scale Web Applications Using Cloud Services. In Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, & Applications: Software for Humanity (Indianapolis, Indiana, USA) (SPLASH '13). Association for Computing Machinery, New York, NY, USA, 143--152.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Damian and J. Chisan. 2006. An Empirical Study of the Complex Relationships between Requirements Engineering Processes and Other Processes that Lead to Payoffs in Productivity, Quality, and Risk Management. IEEE Transactions on Software Engineering 32, 7 (July 2006), 433--453.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Peter Darch, Annamaria Carusi, and Marina Jirotka. 2009. Shared understanding of end-users' requirements in e-Science projects. In 2009 5th IEEE International Conference on E-Science Workshops. 125--128. ISSN: null.Google ScholarGoogle ScholarCross RefCross Ref
  20. J. Eckhardt, A. Vogelsang, and D. M. Fernández. 2016. Are "Non-functional" Requirements really Non-functional? An Investigation of Non-functional Requirements in Practice. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). 832--842.Google ScholarGoogle Scholar
  21. Neil A. Ernst and Gail C. Murphy. 2012. Case studies in just-in-time requirements analysis. In 2012 Second IEEE International Workshop on Empirical Requirements Engineering (EmpiRE). 25--32. ISSN: 2329--6356.Google ScholarGoogle Scholar
  22. Dror G. Feitelson, Eitan Frachtenberg, and Kent L. Beck. 2013. Development and Deployment at Facebook. IEEE Internet Computing 17, 4 (July 2013), 8--17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Daniel Mendez Fernandez. 2018. Supporting Requirements-Engineering Research That Industry Needs: The NaPiRE Initiative. IEEE Software 35, 1 (Jan. 2018), 112--116.Google ScholarGoogle ScholarCross RefCross Ref
  24. Brian Fitzgerald and Klaas-Jan Stol. 2017. Continuous software engineering: A roadmap and agenda. Journal of Systems and Software 123 (2017), 176--189.Google ScholarGoogle ScholarCross RefCross Ref
  25. Samuel A Fricker, Rainer Grau, and Adrian Zwingli. 2015. Requirements engineering: best practice. In Requirements Engineering for Digital Health. Springer, 25--46.Google ScholarGoogle Scholar
  26. M. Glinz. 2007. On Non-Functional Requirements. In 15th IEEE International Requirements Engineering Conference (RE 2007). 21--26.Google ScholarGoogle Scholar
  27. Martin Glinz and Samuel A. Fricker. 2015. On Shared Understanding in Software Engineering: An Essay. Comput. Sci. 30, 3--4 (Aug. 2015), 363--376.Google ScholarGoogle Scholar
  28. Catarina Gralha, Daniela Damian, Anthony I. (Tony) Wasserman, Miguel Goulão, and João Araújo. 2018. The Evolution of Requirements Practices in Software Startups. In Proceedings of the 40th International Conference on Software Engineering (ICSE '18). ACM, New York, NY, USA, 823--833. event-place: Gothenburg, Sweden.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Egon G Guba, Yvonna S Lincoln, et al. 1994. Competing paradigms in qualitative research. Handbook of qualitative research 2, 163--194 (1994), 105.Google ScholarGoogle Scholar
  30. James Herbsleb. 2016. Building a socio-technical theory of coordination: why and how (outstanding research award). In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2--10.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Axel Hoffmann, Eva Alice Christiane Bittner, and Jan Marco Leimeister. 2013. The emergence of mutual and shared understanding in the system development process. In International Working Conference on Requirements Engineering: Foundation for Software Quality. Springer, 174--189.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Martin Gilje Jaatun. 2018. Software Security Activities That Support Incident Management in Secure DevOps. In Proceedings of the 13th International Conference on Availability, Reliability and Security (Hamburg, Germany) (ARES 2018). Association for Computing Machinery, New York, NY, USA, Article 8, 6 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Yujuan Jiang and Bram Adams. 2015. Co-evolution of Infrastructure and Source Code - An Empirical Study. In 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. 45--55. ISSN: 2160--1860.Google ScholarGoogle Scholar
  34. Xiang Li, Yan Fu Li, Min Xie, and Szu Hui Ng. 2011. Reliability analysis and optimal version-updating for open source software. Information and Software Technology 53, 9 (Sept. 2011), 929--936.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Yvonna S Lincoln and Egon G Guba. 1982. Establishing dependability and confirmability in naturalistic inquiry through an audit. (1982).Google ScholarGoogle Scholar
  36. Catherine Marshall and Gretchen B Rossman. 2014. Designing qualitative research. Sage publications.Google ScholarGoogle Scholar
  37. Gary McGraw, Brian Chess, and Sammy Migues. 2009. Building security in maturity model. Fortify & Cigital (2009).Google ScholarGoogle Scholar
  38. Matthew B Miles, Michae Huberman, and Johnny Saldana. 2013. Qualitative data analysis: A methods sourcebook. SAGE Publications, Incorporated.Google ScholarGoogle Scholar
  39. Colin Potts. 1993. Software-Engineering Research Revisited. IEEE Softw. 10, 5 (Sept. 1993), 19--28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Balasubramaniam Ramesh, Lan Cao, and Richard Baskerville. 2010. Agile requirements engineering practices and challenges: an empirical study. Information Systems Journal 20, 5 (2010), 449--480.Google ScholarGoogle ScholarCross RefCross Ref
  41. Eric Ries. 2011. The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses (first ed.). Currency, New York.Google ScholarGoogle Scholar
  42. Eva-Maria Schön, Jörg Thomaschewski, and María José Escalona. 2017. Agile Requirements Engineering: A systematic literature review. Computer Standards & Interfaces 49 (Jan. 2017), 79--91.Google ScholarGoogle Scholar
  43. C.B. Seaman. 1999. Qualitative methods in empirical studies of software engineering. IEEE Transactions on Software Engineering 25, 4 (July 1999), 557--572.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Mojtaba Shahin, Mansooreh Zahedi, Muhammad Ali Babar, and Liming Zhu. 2019. An empirical study of architecting for continuous delivery and deployment. Empirical Software Engineering 24, 3 (June 2019), 1061--1108.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. A. Sutcliffe and P. Sawyer. 2013. Requirements elicitation: Towards the unknown unknowns. In 2013 21st IEEE International Requirements Engineering Conference (RE). 92--104.Google ScholarGoogle Scholar
  46. Stefan Wagner, Daniel Méndez Fernández, Michael Felderer, and Marcos Kalinowski. 2017. Requirements Engineering Practice and Problems in Agile Projects: Results from an International Survey. In Iberoamerican Congress of Software Engineering (CibSE).Google ScholarGoogle Scholar
  47. Colin Werner, Ze Shi Li, Neil Ernst, and Daniela Damian. 2020. The Lack of Shared Understanding of Non-Functional Requirements in Continuous Software Engineering: Accidental or Essential?. In 2020 IEEE 28th International Requirements Engineering Conference (RE). 90--101.Google ScholarGoogle ScholarCross RefCross Ref
  48. Colin Werner, Ze Shi Li, Derek Lowlind, Omar Elazhary, Neil A. Ernst, and Daniela Damian. 2021. Continuously Managing NFRs: Opportunities and Challenges in Practice. IEEE Transactions on Software Engineering (2021), 1--1.Google ScholarGoogle Scholar
  49. Karl Wiegers and Joy Beatty. 2013. Software requirements. Pearson Education.Google ScholarGoogle Scholar
  50. Robert K. Yin. 2002. Case Study Research: Design and Methods (3rd edition ed.). SAGE Publications, Inc, Thousand Oaks, Calif.Google ScholarGoogle Scholar

Index Terms

  1. Towards a theory of shared understanding of non-functional requirements in continuous software engineering
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ICSE '22: Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings
            May 2022
            394 pages
            ISBN:9781450392235
            DOI:10.1145/3510454

            Copyright © 2022 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 19 October 2022

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate276of1,856submissions,15%

            Upcoming Conference

            ICSE 2025
          • Article Metrics

            • Downloads (Last 12 months)74
            • Downloads (Last 6 weeks)5

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader