This paper focuses on the teaching of software development methodologies. It presents ten principles of teaching such a topic, while examining each from both a pedagogical and an organizational viewpoint. The teaching principles are demonstrated using the methodology of Extreme Programming (XP).