DocumentCode :
2560846
Title :
The agile approach in an undergraduate software engineering course project
Author :
Reichlmayr, Thomas
Author_Institution :
Software Eng. Dept., Rochester Inst. of Technol., NY, USA
Volume :
3
fYear :
2003
fDate :
5-8 Nov. 2003
Abstract :
The rise in popularity of agile software development methodologies such as extreme programming (XP), crystal, DSDM and feature-driven development has opened an opportunity for the software engineering education community. How can one capitalize on the strengths of agile development models while still appealing to established software engineering practices? The typical introductory software engineering course makes use of a team-based project to reinforce software process activities. The project normally runs for one academic term during which students are led through life-cycle activities using a modified waterfall approach to software development. While useful in teaching software engineering process concepts, this approach limits the team´s ability to utilize feedback from downstream process activities. It also limits the students´ opportunity to understand process improvement from their own experiences. The ability to respond to project change is also dampened by the fact that teams do not have the time or resources in this format to modify, or refactor the design of a project component let alone incorporate a new or modified customer requirement. Agile methodologies promote an evolutionary approach to development using short incremental release cycles. We report on the experiences of conducting a team project in an introductory software engineering course using agile development techniques at the Rochester Institute of Technology. Teams have the opportunity to experience multiple iterations of the software engineering life cycle and evolve a product design that allows for discoveries made during implementation and through the introduction of changing customer requirements. The project integrates the concept of test-driven development. This agile technique addresses testing early in the development process and reinforces the value of unit testing. The incorporation of agile techniques is not only useful for students in an introductory course, but may also be applied to upper division software engineering courses.
Keywords :
computer science education; educational courses; software engineering; Rochester Institute of Technology; agile development models; downstream process activit; software development; software engineering education community; team-based project; test-driven development; undergraduate software engineering course project; Accreditation; Design engineering; Engineering education; Engineering profession; Feedback; Object oriented programming; Product design; Programming profession; Software engineering; Software testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Frontiers in Education, 2003. FIE 2003 33rd Annual
ISSN :
0190-5848
Print_ISBN :
0-7803-7961-6
Type :
conf
DOI :
10.1109/FIE.2003.1265946
Filename :
1265946
Link To Document :
بازگشت