On shared understanding in software engineering: an essay

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.

[1]  Martin Glinz,et al.  A Risk-Based, Value-Oriented Approach to Quality Requirements , 2008, IEEE Software.

[2]  Roel Wieringa,et al.  Guest Editors' Introduction: Stakeholders in Requirements Engineering , 2007, IEEE Software.

[3]  Alistair Sutcliffe,et al.  Collaborative Requirements Engineering: Bridging the Gulfs Between Worlds , 2010, Intentional Perspectives on Information Systems Engineering.

[4]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[5]  Denise Silver,et al.  Joint Application Development , 1995 .

[6]  Claes Wohlin,et al.  Engineering and Managing Software Requirements , 2005 .

[7]  P. Kirschner,et al.  Team learning: building shared mental models , 2011 .

[8]  Martin Glinz,et al.  On Shared Understanding in Software Engineering , 2013, Software Engineering.

[9]  Alistair Sutcliffe,et al.  Requirements elicitation: Towards the unknown unknowns , 2013, 2013 21st IEEE International Requirements Engineering Conference (RE).

[10]  Gerald M. Weinberg,et al.  Exploring Requirements: Quality Before Design , 1989 .

[11]  Judy McKay Using Cognitive Mapping to Achieve Shared Understanding in Information Requirements Determination , 1998, Aust. Comput. J..

[12]  Ingrid M. Nembhard,et al.  Product Development and Learning in Project Teams: The Challenges Are the Benefits* , 2009 .

[13]  Steffen Staab,et al.  Handbook on Ontologies (International Handbooks on Information Systems) , 2004 .

[14]  Sadhana Puntambekar,et al.  Analyzing collaborative interactions: divergence, shared understanding and construction of knowledge , 2006, Comput. Educ..

[15]  Lin Ma,et al.  Unpacking Tacit Knowledge for Requirements Engineering , 2013, Managing Requirements Knowledge.

[16]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.

[17]  Soren Lauesen,et al.  Software Requirements: Styles & Techniques , 2002 .

[18]  Didar Zowghi,et al.  Requirements Elicitation: A Survey of Techniques, Approaches, and Tools , 2005 .

[19]  Andrew Gemino,et al.  Complexity and clarity in conceptual modeling: Comparison of mandatory and optional properties , 2005, Data Knowl. Eng..

[20]  Jan Marco Leimeister,et al.  Why Shared Understanding Matters -- Engineering a Collaboration Process for Shared Understanding to Improve Collaboration Effectiveness in Heterogeneous Teams , 2013, 2013 46th Hawaii International Conference on System Sciences.

[21]  Shuang Song,et al.  IDENTIFYING SHARED UNDERSTANDING IN DESIGN USING DOCUMENT ANALYSIS , 2001 .

[22]  Steffen Staab,et al.  What Is an Ontology? , 2009, Handbook on Ontologies.

[23]  Ken Schwaber Agile Project Management , 2005, XP.

[24]  Klaus Schmid A comprehensive product line scoping approach and its validation , 2002, ICSE '02.

[25]  Jan Marco Leimeister,et al.  The Emergence of Mutual and Shared Understanding in the System Development Process , 2013, REFSQ.

[26]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[27]  Walter G. Vincenti,et al.  What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. , 1992 .

[28]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[29]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .

[30]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[31]  Jane Wood,et al.  Joint application development (2. ed.) , 1995 .

[32]  Daniel M. Berry,et al.  Formal methods: the very idea - Some thoughts about why they work when they work , 2002, Sci. Comput. Program..

[33]  Linda A. Macaulay Cooperation in understanding user needs and requirements , 1995 .

[34]  Daniela E. Damian,et al.  Collaboration Patterns and the Impact of Distance on Awareness in Requirements-Centred Social Networks , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[35]  Martin Glinz,et al.  Comparison of Requirements Hand-off, Analysis, and Negotiation: Case Study , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[36]  Christian Seybold,et al.  Simulation-based validation and defect localization for evolving, semi-formal requirements models , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[37]  Thomas Gilb,et al.  Software Inspection , 1994 .

[38]  Yvonne Hsieh,et al.  Culture and Shared Understanding in Distributed Requirements Engineering , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[39]  S. Lauesen Software Requirements Styles and Techniques , 2001 .

[40]  Irit Hadar,et al.  The role of domain knowledge in requirements elicitation via interviews: an exploratory study , 2012, Requirements Engineering.

[41]  Ian Alexander Engineering as a co-operative inquiry: A framework , 2008, Requirements Engineering.

[42]  Judith S. Olson,et al.  Distance Matters , 2000, Hum. Comput. Interact..

[43]  C. Cramton The Mutual Knowledge Problem and Its Consequences for Dispersed Collaboration , 2001 .

[44]  Scott W. Ambler Agile Software Development , 2010, Encyclopedia of Software Engineering.

[45]  Gwendolyn L. Kolfschoten,et al.  Unraveling Challenges in Collaborative Design: A Literature Study , 2009, CRIWG.

[46]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[47]  Margaret Tan,et al.  Establishing Mutual Understanding in Systems Design: An Empirical Study , 1994, J. Manag. Inf. Syst..

[48]  Torgeir Dingsøyr,et al.  Knowledge management in software engineering: A systematic review of studied concepts, findings and research methods used , 2008, Inf. Softw. Technol..

[49]  Marina Jirotka,et al.  Shared understanding of end-users' requirements in e-Science projects , 2009, 2009 5th IEEE International Conference on E-Science Workshops.

[50]  Sabrina Hirsch,et al.  Requirements By Collaboration Workshops For Defining Needs , 2016 .

[51]  E. Salas,et al.  Reflections on shared cognition , 2001 .

[52]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[53]  Tony Gorschek,et al.  Handshaking with Implementation Proposals: Negotiating Requirements Understanding , 2010, IEEE Software.

[54]  Tia G. B. Hansen,et al.  Collaborative Learning : Cognitive and Computational Approaches , 1999 .

[55]  Robert D. Macredie,et al.  Effective Communication in Requirements Elicitation: A Comparison of Methodologies , 2002, Requirements Engineering.

[56]  Pete Sawyer,et al.  Requirements Engineering: A Good Practice Guide , 1997 .

[57]  Tony Grundy,et al.  Strategy implementation and project management , 1998 .

[58]  Christoph Rosenkranz,et al.  The emergence of shared understanding: applying functional pragmatics to study the requirements development process , 2013, Inf. Syst. J..

[59]  Martin Glinz,et al.  A Glossary of Requirements Engineering Terminology With an English – German and German – English Dictionary of Terminology Standard Glossary for the Certified Professional for Requirements Engineering ( CPRE ) Studies and Exam , 2011 .

[60]  Anil Kumar Thurimella,et al.  Managing Requirements Knowledge , 2013, Springer Berlin Heidelberg.

[61]  Mario Piattini,et al.  A framework to improve communication during the requirements elicitation process in GSD projects , 2010, Requirements Engineering.