Agile methods are the fastest rising software lifecycle process methods in software engineering. Educators are converting traditional and project-base courses to agile in response, but this is a daunting task with few structured teaching resources methods available to reduce the burden on the educator. In professional practice, agile methods have been particularly effective in empowering experienced software engineers through its focus on empirical process control and constant feedback loop. These process traits are difficult to simulate in an academic setting, as student developers are inexperienced, synchronous meeting times are few and far between, and obtaining meaningful constant feedback a laborious undertaking. This workshop will present a comprehensive approach to teaching Agile methods that is itself agile, employing a highly iterative, continuous feedback-driven process. Pedagogical and assessment strategies will be shared, and the presenter will facilitate a best practices interactive discussion to draw out lessons learned from workshop participants. Specific agile practices with supporting labs from the popular Scrum and eXtreme Programming (XP) process models will be presented. The workshop will also encourage interaction amongst participants to share best practices and lessons learned. Research directions related to the application of agile principles to teaching and learning will be discussed.