Industrializing Your Web Application Development Project
2020 ASEE Virtual Annual Conference Content Access Proceedings
In any software development course, a good project is key. It challenges students, and it drives decisions about other course materials. Keeping it fresh and up to date can be a challenge, especially in fast-changing areas like web or mobile development. This paper presents two distinct experiences and insights (one of us is a university professor, and one is an industry professional) on "industrializing" a full-semester project in a web application development course that we co-teach. By
... co-teach. By industrializing, we mean evaluating the project with a focus on whether it is consistent with current industry practices, and then developing the project as any good company would: using best practices from software engineering and industry, such as iterative development, continuous integration, refactoring, and regression testing. Over the course of only three years, we went through not one, but two major revisions of a semester-long project, and we anticipate more revisions in the future. We began with a project that was effective from a teaching standpoint but was in need of a significant update to its code design and implementation. We first discuss the environment in which the course is taught. It is part of a graduate, online degree program that caters to working professionals from a variety of backgrounds. We then introduce the project -a mini e-commerce web site that is presented to students over the course of the semester in 10-12 separate assignments. We detail why and how the project implementation was modified, despite the fact that the functional requirements remained relatively stable. We then summarize the lessons learned from these revisions and talk about how we plan to manage changes in the future. Finally, we offer suggestions on how others might go about industrializing their own software development projects.