Using Design-Based Research to Layer Career-Like Experiences onto Software Development Courses

Aim/Purpose: This research aims to describe layering of career-like experiences over existing curriculum to improve perceived educational value. Background: Feedback from students and regional businesses showed a clear need to increase student’s exposure to career-like software development projects. The initial goal was to develop an instructor-optional project that could be used in a single mid-level programming course; however, the pilot quickly morphed into a multi-year study examining the feasibility of agile projects in a variety of settings. Methodology: Over the course of four years, an agile project was honed through repeated Design Based Research (DBR) cycles of design, implementation, testing, communication, and reflective analysis. As is common with DBR, this study did not follow single methodology design; instead, analysis of data coupled with review of literature led to exploration and testing of a variety of methodologies. The review phase of each cycle included examination of best practices and methodologies as determined by analysis of oral and written comments, weekly journals, instructor feedback, and surveys. As a result of participant feedback, the original project was expanded to a second project, which was tested in another Software Engineering (SE) course. The project included review and testing of many academic and professional methodologies, such as Student Ownership of Learning, Flipped Classroom, active learning, waterfall, agile, Scrum, and Kanban. The study was homogenous and quasi-experimental as the population consisted solely of software engineering majors taking required courses; as based on validity of homogenous studies, class sizes were small, ranging from 8 to 20 students. Close interactions between respondents and the instructor provided interview-like settings and immersive data capture in a natural environment. Further, the iterative development practices of DBR cycles, along with the inclusion of participants as active and valued stakeholders, was seen to align well with software development practitioner practices broadly known as agile. Contribution: This study is among the first to examine layering a career-like software development project on top of a course through alteration of traditional delivery, agile development, and without supplanting existing material. Findings: In response to industry recommendations for additional career-like experiences, a standalone agile capstone-like project was designed that could be layered over an existing course. Pilot data reflected positive perceptions of the project, although students did not have enough time to develop a working prototype in addition to completing existing course materials. Participant feedback led to simultaneous development of a second, similar project. DBR examination of both projects resulted in a simplified design and the ability to develop a working prototype, if and only if the instructor was willing to make adjustments to delivery. After four years, a solution was developed that is both stable and flexible. The solution met the original charge in that it required course delivery, not course material, to be adjusted. It is critical to note that when a working prototype is desired, a portion of the lecture should be flipped allowing more time for guided instruction through project-focused active learning and study group requirements. The results support agile for standalone software development projects, as long as passive delivery methods are correspondingly reduced. Recommendations for Practitioners: Based on the findings, implementation of a career-like software development project can be well received as long as active learning components are also developed. Multiple cycles of DBR are recommended if future researchers wish to customize instructional delivery and develop complex software development projects. Programming instructors are recommended to explore hybrid delivery to support development of agile career-like experiences. Small class sizes allowed the researchers to maintain an interview-like setting throughout the study and future studies with larger classes are recommended to include additional subject matter experts such as graduate students as interaction with a subject matter expert was highly valued by students. Recommendation for Researchers: Researchers are recommended to further examine career-like software development experiences that combine active learning with agile methods; more studies following agile and active learning are needed to address the challenges faced when complex software development is taught in academic settings. Further testing of standalone agile project development has now occurred in medium sized in person classes, online classes, independent studies, and creative works research settings; however, further research is needed. Future research should also examine the implementation of agile projects in larger class sizes. Increasing class size should be coupled with additional subject matter experts such as graduate students. Impact on Society: This study addresses professional recommendations for development of agile career-like experiences at the undergraduate level. This study provides empirical evidence of programming projects that can be layered over existing curriculum, with no additional cost to the students. Initial feedback from local businesses and graduates, regarding agile projects with active learning, has been positive. The area business that refused to hire our underprepared SE graduates has now hired several. Future Research: Future research should explore layering agile projects over a broader range of software development courses. Feedback from hiring professionals and former students has been positive. It is also recommended that DBR be used to develop career-like experiences for online programming courses.