Exploiting Group Shuffling Dynamics to Convey the Importance of Good Software Design

Abstract
Analysis, modeling and design activities are integral parts of any modern software development project. However, educators often struggle in convincing undergraduate students of their value. Grasping the importance of good software design requires a certain maturity that is not yet attained in the first years of a computer science curriculum. In this study, we introduce group shuffling dynamics to a formal software design course to convey the importance of these concepts by exposing students to the experience of switching groups mid-semester. This grants a whole new perspective on the matter as the cost of managing technical debt is felt when the respective developers leave, and modeling artifacts become pivotal in aiding the incorporation of new team members. This short paper presents our first experience while implementing this methodology and shares our preliminary results derived from a first set of interviews with our students.
Description
Keywords
Software, Software design, Software engineering, Complexity theory, Unified modeling language, Encoding, Interviews
Citation