June 24, 2017
June 24, 2017
June 28, 2017
Software Engineering Division
The development of Software Product Lines (SPL) hold promise to improve the efficiency of writing and maintaining large software projects, but SPL engineering can be difficult to teach in a software engineering classroom for many reasons. The development of a non-trivial SPL typically takes longer than the time available in a typical semester, student interest in SPL engineering is rarely inherent, and learning outcomes from different approaches to SPL engineering are not always consistent or aligned with traditional software engineering learning goals. Further, applying SPL methods in an agile development environment can be challenging because agile methods typically prioritize features and bug fixes over SPL (maintainability) goals. In this work we present a case study of the multi-semester development of an SPL in a classroom environment for a real-world mobile application. We present key strategies for motivating positive learning outcomes including an adapted Scrum process designed to incorporate SPL engineering. We found that our approach improved student application of reusability theory, benefitted documentation quality, increased student satisfaction with the course, and increased the likelihood that code written by one semester’s class will be reused by students in a future semester.
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2017 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015