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

  • PDF / 2,889,472 Bytes
  • 45 Pages / 439.642 x 666.49 pts Page_size
  • 78 Downloads / 204 Views

DOWNLOAD

REPORT


Software engineering whispers: The effect of textual vs. graphical software design descriptions on software design communication Rodi Jolak1 · Maxime Savary-Leblanc2 · Manuela Dalibor3 · Andreas Wortmann3 · 5· ´ ´ Regina Hebig1 · Juraj Vincur4 · Ivan Polasek4 · Xavier Le Pallec2 · Sebastien Gerard 1 Michel R. V. Chaudron

© The Author(s) 2020

Abstract Context 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. Objective We investigate the effect of using a graphical versus textual design description on co-located software design communication. Method 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. Results 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. Keywords Software engineering · Software design · Software modeling · UML · Communication · Knowledge sharing · Graphical representation · Textual representation · Family of experiments Communicated by: Daniel Amyot  Rodi Jolak

[email protected]

Extended author information available on the last page of the article.

Empirical Software Engineering

1 Introduction Software engineering is a social activity and requires intensive communication and collaboration between developers. In large companies, developers work in different development teams and collaboratively communicate with many stakeholders. In such a setting, the quality of communication between the stakeholders plays an important role in reducing the overall teams’, and thus projects’, development effort. In a multiple-case study on challenges and efforts of model-based software engineering approaches, Jolak et al. (2018) analyzed the distribution of efforts over different development activities in two software engineering projects. Interestingly, they found that communicating and sharing knowledge dominates the effort spent by developers. The effort on communication, as Jolak et al. found, is actually more than all of the efforts that developers spent in any of the other observed development activities, such as, requirements analysis, design, coding, testing, integration, and deployment. Furthermore, poorly defined software applicatio

Data Loading...