Software engineering whispers: The effect of textual vs. graphical software design descriptions on software design communication

Software engineering is a social and collaborative activity. Communicating and sharing knowledge between software developers requires much effort. Hence, the quality of communication plays an important role in influencing project success. To better understand the effect of communication on project success, more in-depth empirical studies investigating this phenomenon are needed. We investigate the effect of using a graphical versus textual design description on co-located software design communication. Therefore, we conducted a family of experiments involving a mix of 240 software engineering students from four universities. We examined how different design representations (i.e., graphical vs. textual) affect the ability to Explain, Understand, Recall, and Actively Communicate knowledge. We found that the graphical design description is better than the textual in promoting Active Discussion between developers and improving the Recall of design details. Furthermore, compared to its unaltered version, a well-organized and motivated textual design description–that is used for the same amount of time–enhances the recall of design details and increases the amount of active discussions at the cost of reducing the perceived quality of explaining.

[1]  L. Hedges Distribution Theory for Glass's Estimator of Effect size and Related Estimators , 1981 .

[2]  J. Ray The Construct Validity of Balanced Likert Scales , 1982 .

[3]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[4]  Robert M. Aiken,et al.  Monitoring computer-based collaborative problem solving , 1995 .

[5]  Stephanie Jarboe,et al.  Procedures for Enhancing Group Decision Making , 1996 .

[6]  Stephen J. Guastello,et al.  Creative Problem Solving Groups at the Edge of Chaos , 1998 .

[7]  Forrest Shull,et al.  Building Knowledge through Families of Experiments , 1999, IEEE Trans. Software Eng..

[8]  Benjamin S. Bloom,et al.  A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom's Taxonomy of Educational Objectives , 2000 .

[9]  Amy Soller,et al.  Supporting Social Interaction in an Intelligent Collaborative Learning System , 2001 .

[10]  Janice Singer,et al.  Ethical Issues in Empirical Studies of Software Engineering , 2002, IEEE Trans. Software Eng..

[11]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[12]  T. C. Nicholas Graham,et al.  A study of collaboration in software design , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[13]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[14]  Explaining Knowledge Sharing , 2006 .

[15]  Tony Cant,et al.  Tools for Requirements Management: A Comparison of Telelogic DOORS and the HiVe , 2006 .

[16]  Richard E. Lucas,et al.  The mini-IPIP scales: tiny-yet-effective measures of the Big Five factors of personality. , 2006, Psychological assessment.

[17]  Bart van den Hooff,et al.  Explaining Knowledge Sharing , 2006, Commun. Res..

[18]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[19]  Per Runeson,et al.  Integrating agile software development into stage-gate managed product development , 2006, Empirical Software Engineering.

[20]  Muhammad Ali Babar,et al.  A survey of architecture design rationale , 2006, J. Syst. Softw..

[21]  Daniela E. Damian,et al.  Selecting Empirical Methods for Software Engineering Research , 2008, Guide to Advanced Empirical Software Engineering.

[22]  Antony Tang,et al.  Design Reasoning Improves Software Design Quality , 2008, QoSA.

[23]  Pekka Abrahamsson,et al.  The impact of agile practices on communication in software development , 2008, Empirical Software Engineering.

[24]  Dietmar Pfahl,et al.  Reporting Experiments in Software Engineering , 2008, Guide to Advanced Empirical Software Engineering.

[25]  L. Hedges,et al.  Introduction to Meta‐Analysis , 2009, International Coaching Psychology Review.

[26]  Experimental aging research. , 2010, Experimental aging research.

[27]  Hans van Vliet,et al.  What makes software design effective , 2010 .

[28]  Paul D. Ellis,et al.  The essential guide to effect sizes : statistical power, meta-analysis, and the interpretation of research results , 2010 .

[29]  Daniel L. Moody The "physics" of notations: a scientific approach to designing visual notations in software engineering , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[30]  Marcelo R. Campo,et al.  Mining textual requirements to assist architectural software design: a state of the art review , 2012, Artificial Intelligence Review.

[31]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[32]  Michel R. V. Chaudron,et al.  Experimental Analysis of Textual and Graphical Representations for Software Architecture Design , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[33]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[34]  N. Lehmann-Willenbrock,et al.  Meetings Matter , 2012 .

[35]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[36]  Jaume Barceló,et al.  Model-Based Systems Engineering: An Emerging Approach for Modern Systems , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[37]  Yann-Gaël Guéhéneuc,et al.  An empirical study on the efficiency of graphical vs. textual representations in requirements comprehension , 2013, 2013 21st International Conference on Program Comprehension (ICPC).

[38]  Philippe Kruchten,et al.  The value of design rationale information , 2013, TSEM.

[39]  Miltos Petridis,et al.  Using Structural Similarity for Effective Retrieval of Knowledge from Class Diagrams , 2013, SGAI Conf..

[40]  Shuangxi,et al.  An Empirical Study on the Efficiency of Peer Counseling with Students from Independent College , 2013 .

[41]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..

[42]  Stéphane Conversy,et al.  Unifying Textual and Visual: A Theoretical Account of the Visual Perception of Programming Languages , 2014, Onward!.

[43]  Jörgen Hansson,et al.  Assessing the State-of-Practice of Model-Based Engineering in the Embedded Systems Domain , 2014, MoDELS.

[44]  Barbara Tversky,et al.  Creating visual explanations improves learning , 2016, Cognitive research: principles and implications.

[45]  Olga Liskin,et al.  How Artifacts Support and Impede Requirements Communication , 2015, REFSQ.

[46]  Pekka Abrahamsson,et al.  Do feelings matter? On the correlation of affects and the self‐assessed productivity in software engineering , 2014, J. Softw. Evol. Process..

[47]  Stefan Wagner,et al.  Analysing Text in Software Projects , 2016, The Art and Science of Analyzing Software Data.

[48]  Luiz Fernando Capretz,et al.  Forty years of research on personality in software engineering: A mapping study , 2015, Comput. Hum. Behav..

[49]  Houari A. Sahraoui,et al.  Mining Software Components from Object-Oriented APIs , 2015, ICSR.

[50]  Cristina Cachero,et al.  Comparison of a textual versus a graphical notation for the maintainability of MDE domain models: an empirical pilot study , 2015, Software Quality Journal.

[51]  Andrea De Lucia,et al.  A textual-based technique for Smell Detection , 2016, 2016 IEEE 24th International Conference on Program Comprehension (ICPC).

[52]  Terry K Koo,et al.  A Guideline of Selecting and Reporting Intraclass Correlation Coefficients for Reliability Research. , 2016, Journal of chiropractic medicine.

[53]  Gabriele Bavota,et al.  On-demand Developer Documentation , 2017, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[54]  Jil Klünder,et al.  Don't Underestimate the Human Factors! Exploring Team Communication Effects , 2017, PROFES.

[55]  Claes Wohlin,et al.  Empirical software engineering experts on the use of students and professionals in experiments , 2017, Empirical Software Engineering.

[56]  Bernhard Rumpe,et al.  Agile Modeling with UML - Code Generation, Testing, Refactoring , 2017 .

[57]  Leif Singer,et al.  How Social and Communication Channels Shape and Challenge a Participatory Culture in Software Development , 2017, IEEE Transactions on Software Engineering.

[58]  Bernhard Rumpe,et al.  Software language engineering in the large: towards composing and deriving languages , 2018, Comput. Lang. Syst. Struct..

[59]  Jeffrey D. Wammes,et al.  Drawing as an Encoding Tool: Memorial Benefits in Younger and Older Adults , 2018, Experimental aging research.

[60]  Barbara Tversky,et al.  Multiple Models: In the Mind and in the World , 2018 .

[61]  Bernhard Rumpe,et al.  Does Distance Still Matter? Revisiting Collaborative Distributed Software Design , 2018, IEEE Software.

[62]  Ramon R. H. Schiffelers,et al.  Model-Based Software Engineering: A Multiple-Case Study on Challenges and Development Efforts , 2018, MoDELS.

[63]  Daniela E. Damian,et al.  The Evolution of Requirements Practices in Software Startups , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[64]  Floris Bex,et al.  Improving software design reasoning-A reminder card approach , 2018, J. Syst. Softw..

[65]  Olivier Barais,et al.  Modeling languages in Industry 4.0: an extended systematic mapping study , 2019, Software and Systems Modeling.

[66]  F. Craik Aging and Memory: Attentional Resources and Cognitive Control , 2019 .

[67]  Natalia Juristo Juzgado,et al.  Analyzing Families of Experiments in SE: A Systematic Mapping Study , 2018, IEEE Transactions on Software Engineering.