Published using Google Docs
CS 410/510 Top: Modern Agile and Other XP Software Engineering
Updated automatically every 5 minutes

CS 410/510 Top: Modern Agile and Other XP Software Engineering

Credit Hours:

4/3

Course Coordinator:

Chris Gilmore

Course Description:

This course has been designed for advanced level software engineering students who are interested in learning and applying the fundamentals of the Agile Software Development process and the various ways Agile development is implemented in the real world. The course explores Agile concepts both in theory and practice. Students are introduced to the principles and foundations of Agile Development, XP (Extreme Programming) and the SCRUM methodology including terminology, principles, and the Agile Software Development lifecycle. The course explores each of the Agile lifecycle phases in depth including various approaches whereby students can apply Agile concepts and principles. The course also introduces students to day-to-day life on an Agile team as a short iteration is planned and executed.

Prerequisites:

CS 314 is recommended - a basic understanding of the traditional software development models (waterfall, spiral, iterative, evolutionary, incremental, etc.). No previous agile or XP competency or experience is required.

Goals:

Upon the successful completion of this class, students will be able to:

  1. Describe the terminology and history of Agile, XP and Scrum.
  2. Describe the Agile lifecycle and how it relates to traditional software processes.
  3. Explain how to conduct test-driven development.
  4. Describe what “Done Done” means and explain how it applies to Agile development.
  5. Describe the relevance and conduct of an iteration demo and the retrospective.

Textbooks:

Shore & Warden, The Art of Agile Development, O’Reilly Press, ISBN 0-596-52767- 5

Lencioni, The Five Dysfunctions of a Team: A Leadership Fable, Josses-Bass, ISBN: 0787960759

Theoretical Content:

Students learn about the various Agile and Scrum practices.

Solution Design:

Students build a small group project using Agile and Scrum.