Teaching software engineering through group-based project
work supported by theory lectures is effective, as recognized
by both academia and industry. However, exposing students
to practical software maintenance is often overlooked in favor
of building software from scratch under the guidance
of a lecturer or client. The developed software is usually
delivered to the lecturer/client and no maintenance efforts
are further required. In contrast, industry projects require
fresh graduates to perform maintenance exercises and very
rarely to build software from scratch. To address this issue,
existing software maintenance assignments usually focus on
small codebases of very good quality, in which artificial issues
are introduced. In this paper, we propose to enhance a
group-based project course with a software maintenance assignment
that uses a medium-sized, student-produced codebase
with real software bugs. Our analysis shows the effectiveness
of our approach and highlights future avenues for
improvement.