Advertisement

On shared understanding in software engineering: an essay

  • Martin GlinzEmail author
  • Samuel A. Fricker
Special Issue Paper

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.

Keywords

Shared understanding Software engineering Implicit shared understanding 

Notes

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.

References

  1. 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. 2.
    Alexander I (1998) Engineering as a co-operative inquiry: a framework. Requir Eng 3(2):130–137CrossRefGoogle Scholar
  3. 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–417CrossRefGoogle Scholar
  4. 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, FranceGoogle Scholar
  5. 5.
    Beck K (2004) Extreme programming explained: embrace change, 2nd edn. Addison-Wesley, BostonGoogle Scholar
  6. 6.
    Berander P, Andrews A (2005) Requirements prioritization. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 69–94CrossRefGoogle Scholar
  7. 7.
    Berry DM (2002) Formal methods: the very idea. Some thoughts about why they work when they work. Sci Comput Progr 42(1):11–27CrossRefzbMATHGoogle Scholar
  8. 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–114Google Scholar
  9. 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–1068CrossRefGoogle Scholar
  10. 10.
    Cannon-Bowers JA, Salas E (2001) Reflections on shared cognition. J Organ Behav 22(2):195–202CrossRefGoogle Scholar
  11. 11.
    Clark HH (1996) Using language. Cambridge University Press, CambridgeCrossRefGoogle Scholar
  12. 12.
    Clarke EM, Grumberg O, Peled D (1999) Model checking. MIT Press, CambridgezbMATHGoogle Scholar
  13. 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–135Google Scholar
  14. 14.
    Couglan J, Macredie RD (2002) Effective communication in requirements elicitation: a comparison of methodologies. Requir Eng 7(2):47–60CrossRefGoogle Scholar
  15. 15.
    Cramton C (2001) The mutual knowledge problem and its consequences for dispersed collaboration. Organ Sci 12(3):346–371CrossRefGoogle Scholar
  16. 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–68Google Scholar
  17. 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–128Google Scholar
  18. 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 ReportGoogle Scholar
  19. 19.
    Dillenbourg P (ed) (1999) Collaborative-learning: cognitive and computational approaches. Elsevier, OxfordGoogle Scholar
  20. 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–138Google Scholar
  21. 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–176Google Scholar
  22. 22.
    Fricker S, Gorschek T, Byman C, Schmidle A (2010) Handshaking with implementation proposals: negotiating requirements understanding. IEEE Softw 27(2):72–80CrossRefGoogle Scholar
  23. 23.
    Gause DW, Weinberg GM (1989) Exploring requirements: quality before design. Dorset House, New YorkzbMATHGoogle Scholar
  24. 24.
    Gemino A, Wand Y (2005) Complexity and clarity in conceptual modeling: comparison of mandatory and optional properties. Data & Knowledge Engineering 55(3):301–326CrossRefGoogle Scholar
  25. 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–47CrossRefGoogle Scholar
  26. 26.
    Gilb T, Graham D (1993) Software inspection. Pearson Education, HarlowGoogle Scholar
  27. 27.
    Glinz M (2008) A risk-based, value-oriented approach to quality requirements. IEEE Softw 25(2):34–41Google Scholar
  28. 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. 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–35Google Scholar
  30. 30.
    Glinz M, Wieringa R (2007) Stakeholders in requirements engineering. IEEE Softw 24(2):18–20CrossRefGoogle Scholar
  31. 31.
    Gottesdiener E (2002) Requirements by collaboration: workshops for defining needs. Addison-Wesley, BostonGoogle Scholar
  32. 32.
    Grünbacher P, Seyff N (2005) Requirements negotiation. In: Aurum A, Wohlin C (eds) Engineering and managing software requirements. Springer, Berlin, pp 143–162CrossRefGoogle Scholar
  33. 33.
    Grundy T (1998) Strategy implementation and project management. Int J Project Manag 16(1):43–50CrossRefGoogle Scholar
  34. 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–17Google Scholar
  35. 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–159CrossRefGoogle Scholar
  36. 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–7Google Scholar
  37. 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–189Google Scholar
  38. 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–105Google Scholar
  39. 39.
    Larman C, Basili V (2003) Iterative and incremental development: a brief history. IEEE Comput 36(6):47–56CrossRefGoogle Scholar
  40. 40.
    Lauesen S (2002) Software requirements: styles and techniques. Addison-Wesley Professional, LondonGoogle Scholar
  41. 41.
    Maalej W, Thurimella AK (eds) (2013) Managing requirements knowledge. Springer, BerlinGoogle Scholar
  42. 42.
    Macaulay L (1995) Cooperation in understanding user needs and requirements. Comput Integr Manuf Syst 8(2):155–165CrossRefGoogle Scholar
  43. 43.
    McKay J (1998) Using cognitive mapping to achieve shared understanding in information requirements determination. Aust Comput J 30(4):139–145Google Scholar
  44. 44.
    Olson GM, Olson JS (2000) Distance matters. Hum-Comput Interact 15(2):139–178CrossRefGoogle Scholar
  45. 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–261Google Scholar
  46. 46.
    Puntambekar S (2006) Analyzing collaborative interactions: divergence, shared understanding and construction of knowledge. Comput Educ 47(3):332–351CrossRefGoogle Scholar
  47. 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–603Google Scholar
  48. 48.
    Schwaber K (2004) Agile project management with Scrum. Microsoft Press, Redmond, WAGoogle Scholar
  49. 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–417Google Scholar
  50. 50.
    Sommerville I, Sawyer P (1997) Requirements Engineering: a good practice guide. Wiley, ChichesterzbMATHGoogle Scholar
  51. 51.
    Stapel K (2012) Informationsflusstheorie der Softwareentwicklung [A theory of information flow in software development (in German)]. PhD Thesis, University of Hannover, GermanyGoogle Scholar
  52. 52.
    Strauss A, Corbin J (1998) Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications, Thousand Oaks, CAGoogle Scholar
  53. 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–376Google Scholar
  54. 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 Google Scholar
  55. 55.
    Tan M (1994) Establishing mutual understanding in systems design: an empirical study. J Manag Inf Syst 10(4):159–182Google Scholar
  56. 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–301CrossRefGoogle Scholar
  57. 57.
    Vincenti WG (1993) What engineers know and how they know it: analytical studies from aeronautical history. John Hopkins University Press, paperback edition, BaltimoreGoogle Scholar
  58. 58.
    Whitehead J (2007) Collaboration in software engineering: a roadmap. In FoSE 2007: Future of software engineering, workshop at ICSE 2007, Minneapolis, pp 214–225Google Scholar
  59. 59.
    Wood J, Silver D (1995) Joint application development. Wiley, New YorkGoogle Scholar
  60. 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–46CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Department of InformaticsUniversity of ZurichZurichSwitzerland
  2. 2.Software Engineering Research LaboratoryBlekinge Institute of Technology (BTH)KarlskronaSweden

Personalised recommendations