This experience report describes a three year journey toward agility in a software engineering course. Students in the course work in small project teams to develop an application for a real client using the service-learning model. In the first year, a formal plan-driven approach was used, and only two of four projects were completed successfully. A more agile approach was taken the second year, but there were still failing projects. In the third year a highly agile approach based on short iterations and user stories was used. This was more successful, as every project team delivered working software to their clients. This paper also discusses some of the challenges of managing and evaluating student work when using agile methods.