This is a graduate course. Undergraduates will need to get permission from th. instructor to register for the course. Contact droot@cs.cmu.edu .
Practical development of software requires an understanding of successful methods for bridging the gap between a problem to be solved and a working software system. This course will compare two common methods that guide the software engineer from requirements to code: the agile eXtreme Programming, and the less light weight Rational Unified Process . The course will also provide students with both a broad understanding of the space of current methods, and with the specific skills in using these XP and RUP. After completing this course, students will: be able to use at least two software engineering methods effectively and make a critical assessment of the strengths and weaknesses of a broad range of methods understand the dimensions along which methods differ understand the tradeoffs in making choices along those dimensions. Prerequisite: Experience with at least one large software system, either through industrial software development experience or an undergraduate course in software engineering, compilers, operating systems, or the like. Undergraduate students will need to get permission fromt the instructor to register for this course. Contact droot@cs.cmu.edu PREREQUISITE: If possible, this course should be taken after Models of Software Systems and Managing Software Development.