Extreme programming explained: embrace change
Extreme programming explained: embrace change
Extreme programming examined
Extreme programming explored
Agile software development
Pair Programming Illuminated
Extreme Programming Installed
Questioning Extreme Programming
Questioning Extreme Programming
Introducing software engineering by means of Extreme Programming
Proceedings of the 25th International Conference on Software Engineering
The Effects of "Pair-Pressure" and "Pair-Learning" on Software Engineering Education
CSEET '00 Proceedings of the 13th Conference on Software Engineering Education & Training
Balancing Agility and Discipline: A Guide for the Perplexed
Balancing Agility and Discipline: A Guide for the Perplexed
Extreme Programming Refactored: The Case Against XP
Extreme Programming Refactored: The Case Against XP
Extreme Software Engineering A Hands-On Approach
Extreme Software Engineering A Hands-On Approach
Using Extreme Programming in a capstone project
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
User Stories Applied: For Agile Software Development
User Stories Applied: For Agile Software Development
Object-Oriented and Classical Software Engineering
Object-Oriented and Classical Software Engineering
Hi-index | 0.00 |
Extreme Programming (XP), one of many models for software development, has challenged some traditional software engineering practices while taking others to the extreme. The controversial practices raise questions about the role of XP in teaching undergraduate software engineering courses, especially capstone project courses. Can an XP model for software development be successfully used in teaching software engineering practices? Specific educational goals for the course are that 1) students recognize the strengths and weaknesses of XP as a model for software development and 2) that students evaluate XP practices in the larger context of other software engineering practices. Students should also complete a software development project while following a defined set of processes and practices.Students in a 4 credit, one-semester software engineering practices course used XP for their project. A survey of fifteen practices representing both XP and more traditional software engineering practices was given to students upon completion of the course to determine the students' perceptions and experiences.Overall, students were successful in using XP for their projects. Students liked pair programming, automated testing, and test-first and believed it contributed to their success. The XP practices of simple design and refactoring did not work well. XP's practices for embracing change accommodates changing requirements, design, and code but do not manage change well for the overall goals of the product. Survey results and anecdotal evidence suggests that students were aware of the strengths and weaknesses of XP and its relationship to more traditional software engineering practices.