Software Engineering Project Courses with Industrial Clients

被引:77
作者
Bruegge, Bernd [1 ]
Krusche, Stephan [1 ]
Alperowitz, Lukas [1 ]
机构
[1] Tech Univ Munich, Dept Comp Sci, Appl Software Engn, D-85748 Garching, Germany
关键词
Management; Agile methods; release management; continuous delivery; continuous integration; version control system; feedback; executable prototypes; communication models; user involvement; scenario-based design; informal modeling; Scrum; prototyping; Unified Process;
D O I
10.1145/2732155
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
There is an acknowledged need for teaching realistic software development in project courses. The design space for such courses is wide, ranging from single-semester to two-semester courses, from single-client to multicustomer courses, from local to globally distributed courses, and from toy projects to projects with real clients. The challenge for a nontrivial project course is how to make the project complex enough to enrich students' software engineering experience, yet realistic enough to have a teaching environment that does not unduly burden students or the instructor. We describe a methodology for project courses that is realizable for instructors, improves students' skills, and leads to viable results for industry partners. In particular, recent advances in release management and collaboration workflows reduce the effort of students and instructors during delivery and increase the quality of the deliverables. To enable release and feedback management, we introduce Rugby, an agile process model based on Scrum that allows reacting to changing requirements. To improve early communication, we use Tornado, a scenario-based design approach that emphasizes the use of informal models for the interaction between clients and students. The combination of Rugby and Tornado allows students to deal with changing requirements, produce multiple releases, and obtain client feedback through the duration of the course. We describe our experience with more than 300 students working on 40 projects with external clients over a 4-year period. In the latest instance of our course, the students have produced more than 7000 builds with 600 releases for eleven clients. In an evaluation of the courses, we found that the introduction of Rugby and Tornado significantly increased students' technical skills, especially with respect to software engineering, usability engineering, and configuration management, as well as their nontechnical skills such as communication with the client, teamwork, presentation, and demo management. Finally, we discuss how other instructors can adapt the course concept.
引用
收藏
页数:31
相关论文
共 77 条
[1]  
[Anonymous], 1993, Usability Engineering, Vfirst, P165
[2]  
[Anonymous], 1968, COMMUN ACM, DOI DOI 10.1145/362929.362976
[3]  
[Anonymous], 2011, PROC ELECT COMMUN EA
[4]  
[Anonymous], 2009, P 24 ACM SIGPLAN C C, DOI [10.1145/1639950.1640068, DOI 10.1145/1639950.1640068]
[5]  
[Anonymous], 1986, User Centered System Design
[6]  
New Perspectives on Human-Computer Interaction
[7]  
[Anonymous], 2009, OBJECT ORIENTED SOFT
[8]   Advancing Software Engineering Professional Education [J].
Ardis, Mark ;
Bourque, Pierre ;
Hilburn, Thomas ;
Lasfer, Kahina ;
Lucero, Scott ;
McDonald, James ;
Pyster, Art ;
Shaw, Mary .
IEEE SOFTWARE, 2011, 28 (04) :58-63
[9]  
Atlassian Stash, 2015, US PULL REQ STASH
[10]  
Bavota G, 2012, PROC INT CONF SOFTW, P1155, DOI 10.1109/ICSE.2012.6227027