Research into the effectiveness of our teaching of software engineering is rare and difficult to conduct, given our focus on the advancement of software engineering methods and tools or the development and delivery of teaching materials. In this project we have been developing and evaluating instructional strategies for teaching Global Software Development (GSD). We apply these strategies and study them empirically in our own courses of GSD. Over the last 4 years, we have taught GSD in collaboration with researchers at Aalto University, and evaluated the use of the Scrum methodology and its support for teaching GSD.
Due to their emphasis on face-to-face communication the agile methodologies seemingly present a practical dilemma for distributed development for which communication is one of the greatest challenges. However, with their equal emphasis on other processes such as frequent communication and transparency of progress for successful frequent integrations (refs), they in fact provide an effective approach to address challenges in distributed collaboration. We found that distributed Scrum is not only a methodology with which our graduates should become familiar and gain experience, but also an important paradigm for instructional design in teaching critical GSE competencies. Scrum’s emphasis on early and frequent communication and provides frequent check points in the form of Daily Scrums and short iterations with several prescheduled meetings for sprint planning, demos and retrospectives, all in collaboration with the Product Owner (PO). These Scrum ceremonies, when applied in distributed teams, ”force” students to start communicating early on, and more importantly to face challenges of distributed collaboration and to design strategies to improve team performance. We also found that students rediscovered Conway’s law in the process of this course: they learned to cope with the challenges of remote collaboration by dividing the work such that to minimize their inter-team and geographically distributed communication.
Paasivaara, M., K. Blincoe, C. Lassenius, D. Damian, J. Sheoran, F. Harrison, P. Chhabra, A. Yussuf and V. Isotalo, Learning Global Agile Software Engineering Using Same-Site and Cross-Site Teams, Proc. of 37th International Conference on Software Engineering (ICSE ’15), Florence, Italy
Paasivaara, M., Lassenius, C. Damian, D., Ratty, P. and Schroeter, A. “Teaching students global software engineering skills using distributed scrum”, Proc. of IEEE Int. Conf. on Software Engineering (ICSE), San Francisco, May 2013
Damian, D., Lassenius, C., Paasivaara, M. Borici, A. and Schröter, A. “Teaching a Globally Distributed Project Course Using Scrum Practices”, Proc. of Int’l Workshop on Collaborative Teaching of Global Software Development (CTGDSD), June 2-9, Zurich, Switzerland, 2012
- Project Overview
- SEGAL Members Involved