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
翻译:对学生来说,本科本科软件工程的顶点课程是关键的最后一个里程碑。这些课程使学生能够创建软件解决方案,并展示他们在其学位上积累的知识。然而,典型的顶点项目团队规模小于5个学生,而且与其他团队独立运作。为了更好地反映现实世界软件开发并满足行业需求,我们在本文中引入了我们的新颖顶点课程。每个学生被指派到一个大型、多组(即公司),由多达20名学生组成的多组(即公司)合作建立软件。在多组协调、整合、沟通、灵活和团队合作方面,被安置在公司的学生获得了第一手经验,以建立一个以微观服务为基础的项目。此外,每个公司都必须实施插接和游戏,以便其服务能够与另一家公司兼容,从而共享共同的APIS课程。通过在自主的子组中开发产品,学生不仅提高了他们的技术能力,而且还提高了他们的沟通和协调等软技能。更重要的是,在多组项目中学习的学生们如何认识陷阱和学习组织文化的优势和优势。我们从这个课程中学到了很多重要的经验教训,我们从这个课程中学会了其他学习的教益。