一句话:设计大规模多团队毕业设计课程,让学生以公司式团队协作开发微服务并实现即插即用,总结教学经验与建议。
传统软件工程毕业设计通常由不超过5人的小团队独立完成,难以反映真实工业界的多团队协作与集成需求。作者设计并实施了一种新的大规模多团队毕业设计课程:每名学生被分配到最多20人的公司式团队中,通过敏捷开发协作构建微服务项目,并且每家公司都需实现 plug-and-play,以使其服务兼容其他公司并共享公共 API。学生在自主子团队中开发产品,不仅提升了技术能力,也锻炼了沟通、协调等软技能。多团队项目带来的挑战使学生认识到组织文化的陷阱与优势,并体会到建立团队信任的关键重要性。论文详细介绍了课程结构、经验教训,并为其他高校和项目提出建议,面向希望开展类似毕业设计课程的教育者。
Capstone courses in undergraduate software engineering are a critical final milestone for students. These courses allow students to create a software solution and demonstrate the knowledge they accumulated in their degrees. However, a typical capstone project team is small containing no more than 5 students and function independently from other teams. To better reflect real-world software development and meet industry demands, we introduce in this paper our novel capstone course. Each student was assigned to a large-scale, multi-team (i.e., company) of up to 20 students to collaboratively build software. Students placed in a company gained first-hand experiences with respect to multi-team coordination, integration, communication, agile, and teamwork to build a microservices based project. Furthermore, each company was required to implement plug-and-play so that their services would be compatible with another company, thereby sharing common APIs. Through developing the product in autonomous sub-teams, the students enhanced not only their technical abilities but also their soft skills such as communication and coordination. More importantly, experiencing the challenges that arose from the multi-team project trained students to realize the pitfalls and advantages of organizational culture. Among many lessons learned from this course experience, students learned the critical importance of building team trust. We provide detailed information about our course structure, lessons learned, and propose recommendations for other universities and programs. Our work concerns educators interested in launching similar capstone projects so that students in other institutions can reap the benefits of large-scale, multi-team development.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{LiADD23,
title = {“Software is the easy part of Software Engineering” - Lessons and Experiences from A Large-Scale, Multi-Team Capstone Course},
author = {Ze Shi Li and Nowshin Nawar Arony and Kezia Devathasan and Daniela Damian},
booktitle = {ICSE},
year = {2023},
doi = {10.1109/icse-seet58685.2023.00027}
}