Crossed Teams: Leveraging Student Interaction in Software Engineering Practice
Resumo
One of the primary challenges faced by Software Engineering courses is bridging the gap between the classroom and real-world software development. Various approaches have been attempted to simulate certain aspects of software development within the classroom. A specific challenge in simulating the real-world experience in course practice is the difficulty of reproducing client-developer interaction. In this study, we present an experience in a SE course that has evolved over time, involving student teams taking on the roles of both clients and developers simultaneously in projects developed during the course within the SE domain. This approach involved forming crossed-teams, where one pair of teams (Team A and Team B) acted as clients for the other team and vice versa. We discuss the benefits of adopting this approach as well as the challenges and hindrances we encountered during the course iterations. Our observations indicate that this approach has contributed to the learning process, although a careful planning by the instructor is essential to mitigate potential drawbacks in the learning process.