Skip to main content
Log in

The role of informal communication in building shared understanding of non-functional requirements in remote continuous software engineering

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

Building a shared understanding of non-functional requirements (NFRs) is a known but understudied challenge in requirements engineering, primarily in organizations that adopt continuous software engineering (CSE) practices. During the peak of the COVID-19 pandemic, many CSE organizations complied with working remotely due to the imposed health restrictions; many organizations continue to work remotely while implementing business processes to facilitate team communication and productivity. In remote CSE organizations, managing NFRs becomes more challenging due to the limitations of team communication. While previous research has identified the factors that lead to a lack of shared understanding of NFRs in CSE, we still have a significant gap in understanding how CSE organizations, particularly in remote work, build a shared understanding of NFRs. We conduct a 6-month ethnography-informed case study of a remote CSE organization. We identify a number of practices for building a shared understanding of NFRs, such as validating NFRs through feedback. We also studied the practices of remote collaboration and in particular, the use and affordances offered by the collaborative workspace Gather that the organization used for remote interaction; our findings suggest that it allows for informal communications instrumental for building shared understanding. In addition, we describe the limitations to building a shared understanding of NFRs in the organization, such as gaps in communication and the limited understanding of customer context. Furthermore, we conducted further interviews to validate our findings for relevance and to gain additional insights into the shared understanding of NFRs within the organization. As actionable insights, we discuss our findings in light of proactive practices that represent opportunities for software organizations to invest in building a shared understanding of NFRs in their development.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  1. Agerfalk PJ, Fitzgerald B, Holmstrom H, Lings B, Lundell B, Conchúir EO (2005) A framework for considering opportunities and threats in distributed software development. In: Proceedings of the international workshop on distributed software development, Paris 29, pp 47–61

  2. Ameller D, Ayala C, Cabot J, Franch X (2012) How do software architects consider non-functional requirements: an exploratory study. In: 20th IEEE international requirements engineering conference (RE). IEEE, pp 41–50

  3. Atkinson P (2007) Ethnography: principles in practice. Routledge, London

    Book  Google Scholar 

  4. Atlas.ti. The qualitative data analysis and research software. https://atlasti.com/

  5. Balakrishnan AD, Fussell SR, Kiesler S (2008) Do visualizations improve synchronous remote collaboration? In: Proceedings of the SIGCHI conference on human factors in computing systems, pp 1227–1236

  6. Basili VR, Condon SE, El Emam K, Hendrick RB, Melo W (1997) Characterizing and modeling the cost of rework in a library of reusable software components. In: Proceedings of the (19th) international conference on software engineering, pp 282–291. ISSN: 0270-5257. https://doi.org/10.1145/253228.253289

  7. Beck K (2000) Extreme programming explained: embrace change. Addison-Wesley Professional, Boston

    Google Scholar 

  8. Behutiye W, Karhapää P, Lopez L, Burgues X, Martinez-Fernandez S, Vollmer AM, Rodriguez P, Franch X, Oivo M (2019) Management of quality requirements in agile and rapid software development: a systematic mapping study. In: Information and software technology (Nov.), p 106225. ISSN: 0950- 5849. https://doi.org/10.1016/j.infsof.2019.106225

  9. Bick A, Blandin A, Mertens K et al (2020) Work from home after the COVID-19 outbreak

  10. Bittner EAC, Leimeister JM (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. IEEE, pp 106–114

  11. Bjarnason E, Wnuk J, Regnell B (2011) Requirements are slipping through the gaps—a case study on causes and effects of communication gaps in large-scale software development. In: 2011 IEEE 19th international requirements engineering conference, pp 37–46. https://doi.org/10.1109/RE.2011.6051639

  12. Boehm B, Basili VR (2005) Software defect reduction top 10 list. In: Foundations of empirical software engineering: the legacy of Victor R. Basili 426.37, pp 426–431

  13. Cash P, Dekoninck EA, Ahmed-Kristensen S (2017) Supporting the development of shared understanding in distributed design teams. J Eng Des 28(3):147–170

    Article  Google Scholar 

  14. Cloud storage for work and home—Google Drive. https://www.google.com/intl/en ca/drive/

  15. Coda. The doc that brings it all together. https://coda.io/

  16. Cucumber: BDD testing and collaboration tools for teams. https://cucumber.io/

  17. Damian D (2007) Stakeholders in global requirements engineering: lessons learned from practice. IEEE Softw 24(2):21–27

    Article  MathSciNet  Google Scholar 

  18. Darch P, Carusi A, Jirotka M (2009) Shared understanding of end-users’ requirements in e-Science projects. In: 2009 5th IEEE international conference on escience workshops. IEEE, pp 125–128

  19. Datadog: cloud monitoring as a service. https://www.datadoghq.com/

  20. Debbiche A, Dienér M, Svensson RB (2014) Challenges when adopting continuous integration: a case study. In: International conference on product focused software process improvement. Springer, pp 17–32

  21. Deshpande A, Sharp H, Barroca L, Gregory P (2016) Remote working and collaboration in agile teams. In: International conference on information systems, ICIS

  22. Dorairaj S, Noble J, Malik P (2011) Effective communication in distributed Agile software development teams. In: International conference on agile software development. Springer, pp 102–116

  23. Elazhary O, Werner C, Li ZS, Lowlind D, Ernst NA, Storey M-A (2021) Uncovering the benefits and challenges of continuous integration practices. IEEE Trans Softw Eng. https://doi.org/10.1109/TSE.2021.3064953

    Article  Google Scholar 

  24. Ernst NA, Murphy GC (2012) Case studies in just in-time requirements analysis. In: Second IEEE international workshop on empirical requirements engineering (EmpiRE), pp 25–32. ISSN: 2329–6356. https://doi.org/10.1109/EmpiRE.2012.6347678

  25. Fairley RE, Willshire MJ (2005) Iterative rework: the good, the bad, and the ugly. In: Computer 38.9, pp 34–41. ISSN: 0018-9162, 1558-0814. https://doi.org/10.1109/MC.2005.303

  26. Fitzgerald B, Stol Klaas-Jan (2017) Continuous software engineering: a roadmap and agenda. J Syst Softw 123:176–189

    Article  Google Scholar 

  27. Fowler M, Highsmith J et al (2001) The agile manifesto. Softw Dev 9(8):28–35

    Google Scholar 

  28. Gather—a better way to meet online. https://www.gather.town/

  29. Gibson CB, Cohen SG (2003) Virtual teams that work: creating conditions for virtual team effectiveness. Wiley, Hoboken

    Google Scholar 

  30. GitHub. Where the world builds software. GitHub. https://github.com/

  31. Glinz M (2007) On non-functional requirements. In: 15th IEEE international requirements engineering conference (RE). IEEE, pp 21–26

  32. Glinz M, Fricker SA (2015) On shared understanding in software engineering: an essay. Comput Sci Res Dev 30(3):363–376

    Article  Google Scholar 

  33. Goldschmidt G (2007) To see eye to eye: the role of visual representations in building shared mental models in design teams. CoDesign 3(1):43–50

    Article  MathSciNet  Google Scholar 

  34. Heasman B, Gillespie A (2019) Neurodivergent intersubjectivity: distinctive features of how autistic people create shared understanding. Autism 23(4):910–921

    Article  Google Scholar 

  35. Henttonen K, Blomqvist K (2005) Managing distance in a global virtual team: the evolution of trust through technology-mediated relational communication. Strateg Change 14(2):107–119

    Article  Google Scholar 

  36. Hinds PJ, Weisband SP (2003) Knowledge sharing and shared understanding in virtual teams. In: Virtual teams that work: creating conditions for virtual team effectiveness, pp 21–36

  37. Hoda R, Noble J, Marshall S (2011) Grounded theory for geeks. In: Proceedings of the 18th conference on pattern languages of programs, pp 1–17

  38. Humble J (2018) Continuous delivery sounds great, but will it work here? Commun ACM 61(4):34–39

    Article  Google Scholar 

  39. Johanssen JO, Kleebaum A, Paech B, Bruegge B (2018) Practitioners’ eye on continuous software engineering: an interview study. In: Proceedings of the 2018 international conference on software and system process, pp 41–50

  40. Jordan S, Adams R (2016) Perceptions of success in virtual cross-disciplinary design teams in large multinational corporations. CoDesign 12(3):185–203

    Article  Google Scholar 

  41. Kiger ME, Varpio L (2020) Thematic analysis of qualitative data: AMEE guide no. 131. Med Teach 42(8):846–854

    Article  Google Scholar 

  42. Kniel J, Comi A (2021) Riding the same wavelength: designers’ perceptions of shared understanding in remote teams. SAGE Open. https://doi.org/10.1177/21582440211040129

    Article  Google Scholar 

  43. Kraut RE, Fish RS, Root RW, Chalfonte BL (1990) Informal communication in organizations: form, function, and technology. In: Human reactions to technology: claremont symposium on applied social psychology, pp 145–199

  44. Landis JR, Koch GG (1977) The measurement of observer agreement for categorical data. Biometrics 33:159–174

    Article  MATH  Google Scholar 

  45. Lenka RK, Kumar S, Mamgain S (2018) Behavior driven development: tools and challenges. In: 2018 International conference on advances in computing, communication control and networking (ICACCCN). IEEE, pp 1032–1037

  46. Lin B, Zagalsky A, Storey M-A, Serebrenik A (2016) Why developers are slacking off: understanding how software teams use slack. In: Proceedings of the 19th ACM conference on computer supported cooperative work and social computing companion, pp 333–336

  47. Losev T, Storteboom S, Carpendale S, Knudsen S (2020) Distributed synchronous visualization design: challenges and strategies. In: IEEE workshop on evaluation and beyond-methodological approaches to visualization (BELIV). IEEE, pp 1–10

  48. Mairiza D, Zowghi D, Nurmuliani N (2010) An investigation into the notion of non-functional requirements. In: Proceedings of the 2010 ACM symposium on applied computing, pp 311–317

  49. Mairiza D, Zowghi D, Nurmuliani N (2009) Managing conflicts among non-functional requirements. In: Australian workshop on requirements engineering. University of Technology, Sydney

  50. Martini A, Bosch J (2015) The danger of architectural technical debt: contagious debt and vicious circles. In: 2015 12th Working IEEE/IFIP conference on software architecture, pp 1–10. https://doi.org/10.1109/WICSA.2015.31

  51. Matoussi A, Laleau R (2008) A survey of nonfunctional requirements in software development process. In: Technical report TR-LACL-2008-7, University of Paris-Est (Paris 12). LACL (Laboratory of Algorithms, Complexity and Logic)

  52. Miller C, Rodeghero P, Storey M-A, Ford D, Zimmermann T (2021) How was your weekend? Software development teams working from home during COVID-19. In: 2021 IEEE/ACM 43rd international conference on software engineering (ICSE). IEEE, pp 624–636

  53. Okpara L, Werner C, Murray A, Damian D (2022) A case study of building shared understanding of non-functional requirements in a remote software organization. In: 2022 IEEE 30th international requirements engineering conference (RE). IEEE

  54. Process Street—checklist, workflow and SOP software. https://www.process.st/

  55. Puntambekar S (2006) Analyzing collaborative interactions: divergence, shared understanding and construction of knowledge. Comput Educ 47(3):332–351

    Article  Google Scholar 

  56. Ramesh B, Cao L, Baskerville R (2010) Agile requirements engineering practices and challenges: an empirical study. Inf Syst J 20(5):449–480. ISSN: 1365-2575. https://doi.org/10.1111/j.1365-2575.2007.00259.x

  57. Ries E (2011) The lean startup: how today’s entrepreneurs use continuous innovation to create radically successful businesses, 1st edn. Crown Business, New York

    Google Scholar 

  58. Roller MR, Lavrakas PJ (2015) Applied qualitative research design: a total quality framework approach. Guilford Publications, New York

    Google Scholar 

  59. Sangwan RS, Jablokow KW, DeFranco JF (2020) Asynchronous collaboration: bridging the cognitive distance in global software development projects. IEEE Trans Prof Commun 63(4):361–371

    Article  Google Scholar 

  60. Sen R, Borle S (2015) Estimating the contextual risk of data breach: an empirical approach. J Manag Inf Syst 32(2):314–341

    Article  Google Scholar 

  61. Sharp H, Dittrich Y, De Souza CRB (2016) The role of ethnographic studies in empirical software engineering. IEEE Trans Softw Eng 42(8):786–804

    Article  Google Scholar 

  62. Slack is where the future works. https://slack.com/

  63. Smite D, Moe NB, Levinta G, Floryan M (2019) Spotify guilds: how to succeed with knowledge sharing in large-scale agile organizations. IEEE Softw 36(2):51–57

    Article  Google Scholar 

  64. Stol K-J, Ralph P, Fitzgerald B (2016) Grounded theory in software engineering research: a critical review and guidelines. In: Proceedings of the 38th international conference on software engineering, pp 120–131

  65. Törlind P, Larsson A (2002) Supporting informal communication in distributed engineering design teams. In: International CIRP design seminar: 16/05/2002–18/05/2002

  66. Ullah S, Iqbal M, Khan AM (2011) A survey on issues in non-functional requirements elicitation. In: International conference on computer networks and information technology. IEEE, pp 333–340

  67. Werner C (2021) Towards a theory of shared understanding of non-functional requirements in continuous software engineering. In: IEEE 29th international requirements engineering conference (RE). IEEE, pp 498–503

  68. Werner C, Li ZS, Ernst N, Damian D (2020) The lack of shared understanding of non-functional requirements in continuous software engineering: Accidental or essential? In: IEEE 28th international requirements engineering conference (RE). IEEE, pp 90–101. https://doi.org/10.1109/RE48521.2020.00021

  69. Werner C, Li ZS, Lowlind D, Elazhary O, Ernst NA, Damian D (2021) Continuously managing NFRs: opportunities and challenges in practice. IEEE Trans Softw Eng 48:2629–2642

    Article  Google Scholar 

  70. Yu L, Alégroth E, Chatzipetrou P, Gorschek T (2020) Utilising CI environment for efficient and effective testing of NFRs. Inf Soft Technol 117:106199

    Article  Google Scholar 

Download references

Acknowledgements

We thank our partner organization and employees for their time and collaboration. We acknowledge Nowshin Nawar Arony and Neha Koulecar (University of Victoria) for their assistance in our study. Our research was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laura Okpara.

Ethics declarations

Conflict of interest

All authors have no competing interests to declare that are relevant to the content of this paper.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Okpara, L., Werner, C., Murray, A. et al. The role of informal communication in building shared understanding of non-functional requirements in remote continuous software engineering. Requirements Eng 28, 595–617 (2023). https://doi.org/10.1007/s00766-023-00404-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-023-00404-z

Keywords

Navigation