Skip to main content
Log in

On shared understanding in software engineering: an essay

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

Abstract

Shared understanding is essential for efficient software engineering when the risk of unsatisfactory out-come and rework of project results shall be low. Today, however, shared understanding is used mostly in an unreflected, ad-hoc way. This affects the quality of the engineered software solutions and generates re-work once the quality problems are discovered. In this article, we investigate the role, value, and usage of shared understanding in software engineering. We contribute a reflected analysis of the problem, in particular of how to rely on shared understanding that is implicit, rather than explicit. After an overview of the state of the art we discuss forms and value of shared understanding in software engineering, survey enablers and obstacles, compile existing practices for dealing with shared understanding, and present a roadmap for improving knowledge and practice in this area.

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

Notes

  1. In the normal case, explicit specifications are captured in writing. Principally, however, explicit verbal communication remembered by all team members is also a form of explicit shared understanding, albeit a rather volatile one.

  2. The dialogues of Plato: translated into English with analyses and introductions by Benjamin Jowett, vol. 4, 3rd edn, Oxford University Press, 1892, p 209. Retrieved 2013-07-27 at http://oll.libertyfund.org/?option=com_staticxt&staticfile=show.php%3Ftitle=768&Itemid=27#a_pdf.

References

  1. Ambler S (2012) Why agile software development techniques work: improved feedback. http://www.ambysoft.com/essays/whyAgileWorksFeedback.html. Last visited 18 May 2014

  2. Alexander I (1998) Engineering as a co-operative inquiry: a framework. Requir Eng 3(2):130–137

    Article  Google Scholar 

  3. Aranda G, Vizcaíno A, Piattini M (2010) A framework to improve communication during the requirements elicitation process in GSD projects. Requir Eng 15(4):397–417

    Article  Google Scholar 

  4. Arikoglu ES (2011) Impact des approches “scénario” et “persona” sur l’élicitation des exigences : une étude expérimentale [Impact of scenarios and personas on requirements elicitation: an experimental study (in English with title and extended abstract in French)]. PhD thesis, Université de Grenoble, France

  5. Beck K (2004) Extreme programming explained: embrace change, 2nd edn. Addison-Wesley, Boston

    Google Scholar 

  6. Berander P, Andrews A (2005) Requirements prioritization. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 69–94

    Chapter  Google Scholar 

  7. Berry DM (2002) Formal methods: the very idea. Some thoughts about why they work when they work. Sci Comput Progr 42(1):11–27

    Article  MATH  Google Scholar 

  8. Bittner EAC, Leimeister JM (2013) Why shared understanding matters - engineering a collaboration process for shared understanding to improve collaboration effectiveness in heterogeneous teams. In: Proceedings Hawaii international conference on system sciences, pp 106–114

  9. Bjørnson FO, Dingsøyr T (2008) Knowledge management in software engineering: a systematic review of studied concepts, findings and research methods used. Inf Softw Technol 50(11):1055–1068

    Article  Google Scholar 

  10. Cannon-Bowers JA, Salas E (2001) Reflections on shared cognition. J Organ Behav 22(2):195–202

    Article  Google Scholar 

  11. Clark HH (1996) Using language. Cambridge University Press, Cambridge

    Book  Google Scholar 

  12. Clarke EM, Grumberg O, Peled D (1999) Model checking. MIT Press, Cambridge

    MATH  Google Scholar 

  13. Corvera Charaf M, Rosenkranz C, Holten R (2013) The emergence of shared language—applying functional pragmatics to study the requirements development process. Info Systems J 23(2):115–135

  14. Couglan J, Macredie RD (2002) Effective communication in requirements elicitation: a comparison of methodologies. Requir Eng 7(2):47–60

    Article  Google Scholar 

  15. Cramton C (2001) The mutual knowledge problem and its consequences for dispersed collaboration. Organ Sci 12(3):346–371

    Article  Google Scholar 

  16. Damian D, Marczak S, Kwan I (2007) Collaboration patterns and the impact of distance on awareness in requirements-centered social networks. In: Proceedings 15th IEEE international requirements engineering conference (RE’07), pp 59–68

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

  18. Darch P, Carusi A, Lloyd S, Jirotka M, de la Flor G, Schroeder R, Meyer E (2010) Shared understandings in e-science projects. Oxford e-Research Centre, University of Oxford, UK, Technical Report

  19. Dillenbourg P (ed) (1999) Collaborative-learning: cognitive and computational approaches. Elsevier, Oxford

    Google Scholar 

  20. Edmondson A, Nembhard I (2009) Product development and learning in project teams: the challenges are the benefits. J Prod Innov Manag 26(2):123–138

  21. Fricker S, Glinz M (2010), Comparison of requirements hand-off, analysis, and negotiation: case study. In: Proceedings 18th IEEE international requirements engineering conference (RE’10), pp 167–176

  22. Fricker S, Gorschek T, Byman C, Schmidle A (2010) Handshaking with implementation proposals: negotiating requirements understanding. IEEE Softw 27(2):72–80

    Article  Google Scholar 

  23. Gause DW, Weinberg GM (1989) Exploring requirements: quality before design. Dorset House, New York

    MATH  Google Scholar 

  24. Gemino A, Wand Y (2005) Complexity and clarity in conceptual modeling: comparison of mandatory and optional properties. Data & Knowledge Engineering 55(3):301–326

    Article  Google Scholar 

  25. Gervasi V, Gacitua R, Rouncefield M, Sawyer P, Kof L, Ma L, Piwek P, de Roeck A, Willis A, Yang H, Nuseibeh B (2013) Unpacking tacit knowledge for requirements engineering. In: Maalej W, Thurimella AK (eds) Managing requirements knowledge. Springer, Berlin, pp 23–47

    Chapter  Google Scholar 

  26. Gilb T, Graham D (1993) Software inspection. Pearson Education, Harlow

    Google Scholar 

  27. Glinz M (2008) A risk-based, value-oriented approach to quality requirements. IEEE Softw 25(2):34–41

  28. Glinz M (2013) A glossary of requirements engineering terminology. Version 1.5. Available at http://www.ireb.org. Link “CPRE Glossary”; last visited 18 May 2014

  29. Glinz M, Fricker S (2013) On shared understanding in software engineering. In: Proceedings GI conference software engineering 2013, Lecture notes in informatics, vol P-213, pp 19–35

  30. Glinz M, Wieringa R (2007) Stakeholders in requirements engineering. IEEE Softw 24(2):18–20

    Article  Google Scholar 

  31. Gottesdiener E (2002) Requirements by collaboration: workshops for defining needs. Addison-Wesley, Boston

    Google Scholar 

  32. Grünbacher P, Seyff N (2005) Requirements negotiation. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 143–162

    Chapter  Google Scholar 

  33. Grundy T (1998) Strategy implementation and project management. Int J Project Manag 16(1):43–50

    Article  Google Scholar 

  34. Guarino N, Oberle D, Staab S (2009) What is an ontology? In: Staab S, Studer R (eds) Handbook on ontologies, international handbooks on information systems, 2nd edn. Springer, Berlin, pp 1–17

    Google Scholar 

  35. Hadar I, Soffer P, Kenzi K (2014) The role of domain knowledge in requirements elicitation via interviews: an exploratory study. Requir Eng 19(2):143–159

    Article  Google Scholar 

  36. Hill A, Song S, Dong A, Agogino A (2001) Identifying shared understanding in design using document analysis. In: Proceedings 13th international conference on design theory and methodology, ASME design engineering technical conferences, Pittsburgh, pp 1–7

  37. Hoffmann A, Bittner EAC, Leimeister JM, (2013) The emergence of mutual and shared understanding in the system development process. In: Proceedings REFSQ 2013, LNCS, vol 7830. Springer, Berlin, pp 174–189

  38. Hsieh Y (2006) Culture and shared understanding in distributed requirements engineering. In: Proceedings IEEE international conference on global software engineering (ICGSE 2006), pp 101–105

  39. Larman C, Basili V (2003) Iterative and incremental development: a brief history. IEEE Comput 36(6):47–56

    Article  Google Scholar 

  40. Lauesen S (2002) Software requirements: styles and techniques. Addison-Wesley Professional, London

    Google Scholar 

  41. Maalej W, Thurimella AK (eds) (2013) Managing requirements knowledge. Springer, Berlin

  42. Macaulay L (1995) Cooperation in understanding user needs and requirements. Comput Integr Manuf Syst 8(2):155–165

    Article  Google Scholar 

  43. McKay J (1998) Using cognitive mapping to achieve shared understanding in information requirements determination. Aust Comput J 30(4):139–145

    Google Scholar 

  44. Olson GM, Olson JS (2000) Distance matters. Hum-Comput Interact 15(2):139–178

    Article  Google Scholar 

  45. Piirainen K, Kolfschoten G, Lukosch S (2009) Unraveling challenges in collaborative design: a literature study. In: Carriço L, Baloian N, Fonseca B (eds) Groupware: design, implementation, and use, proceedings 15th international workshop CRIWG 2009, LNCS, vol 5784. Springer, Berlin, pp 247–261

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

    Article  Google Scholar 

  47. Schmid K (2002) A comprehensive product line scoping approach and its validation. In: Proceedings 24th international conference on software engineering (ICSE 2002), pp 593–603

  48. Schwaber K (2004) Agile project management with Scrum. Microsoft Press, Redmond, WA

  49. Seybold C, Glinz M, Meier S (2005) Simulation-based validation and defect localization for evolving, semi-formal requirements models, In: Proceedings 12th Asia-Pacific software engineering conference (APSEC 2005), pp 408–417

  50. Sommerville I, Sawyer P (1997) Requirements Engineering: a good practice guide. Wiley, Chichester

    MATH  Google Scholar 

  51. Stapel K (2012) Informationsflusstheorie der Softwareentwicklung [A theory of information flow in software development (in German)]. PhD Thesis, University of Hannover, Germany

  52. Strauss A, Corbin J (1998) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications, Thousand Oaks, CA

    Google Scholar 

  53. Sutcliffe A (2010) Collaborative requirements engineering: bridging the gulfs between worlds. In: Nurcan S, Salinesi C, Souveyet C, Ralyté J (eds) Intentional perspectives on information systems engineering. Springer, Berlin, pp 355–376

  54. Sutcliffe A, Sawyer P (2013), Requirements elicitation: towards the unknown unknowns. In: Proceedings 21st IEEE international requirements engineering conference (RE’13), pp 92–104

  55. Tan M (1994) Establishing mutual understanding in systems design: an empirical study. J Manag Inf Syst 10(4):159–182

    Google Scholar 

  56. Van den Bossche P, Gijselaers W, Segers M, Woltjer G, Kirschner P (2011) Team learning: building shared mental models. Instr Sci 39(3):283–301

    Article  Google Scholar 

  57. Vincenti WG (1993) What engineers know and how they know it: analytical studies from aeronautical history. John Hopkins University Press, paperback edition, Baltimore

    Google Scholar 

  58. Whitehead J (2007) Collaboration in software engineering: a roadmap. In FoSE 2007: Future of software engineering, workshop at ICSE 2007, Minneapolis, pp 214–225

  59. Wood J, Silver D (1995) Joint application development. Wiley, New York

    Google Scholar 

  60. Zowghi D, Coulin C (2005) Requirements elicitation: a survey of techniques, approaches, and tools. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 19–46

    Chapter  Google Scholar 

Download references

Acknowledgments

We thank the members of the Requirements Engineering Research Group at the University of Zurich for valuable comments on earlier versions of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Glinz.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Glinz, M., Fricker, S.A. On shared understanding in software engineering: an essay. Comput Sci Res Dev 30, 363–376 (2015). https://doi.org/10.1007/s00450-014-0256-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-014-0256-x

Keywords

Navigation