Maintaining <a id="article-title"></a>AMMBER – Lessons Learned from Involving Students in Software Maintenance
Discuss this preprint
Start a discussion What are Sciety discussions?Listed in
This article is not in any list yet, why not save it to one of your lists.Abstract
Software engineering activities have shifted from building new systems to maintaining 2 code bases. Yet teaching software engineering rarely echoes that reality. It is easier to teach 3 students to develop software from scratch rather than guide them to maintain an existing 4 project by suggesting and implementing modifications and enhancements. We believe that 5 the best way to teach maintenance is through practical experience. This paper describes the 6 evolution of an agent modelling tool called AMMBER. It started as a software engineering 7 team project eight years ago. Tens of students have been involved in the subsequent years 8 in maintaining and extending the software through projects in capstone units, internships 9 and casual employment. The paper authors are the current team maintaining the software. 10 The maintenance activities have included corrective maintenance, adaptive maintenance 11 and perfective maintenance, and we describe lessons learned through our failures and 12 successes. We advocate exposing students to maintenance activities on active code bases 13 and share lessons learned about increasing the capability of software engineering students 14 to usefully perform maintenance activities.