Software engineering blog of Clément Bouillier: November 2011

Thursday, November 10, 2011

Agile teaching thoughts

I come back from an event organized by Institut Agile (Paris). It was a first workshop on what could be done to leverage Agile learning in initial formation. First, we have shared visions in the afternoon (think big, too big some would say ;)), and we had not enough time to talk in detail about action plan (act small).
I have to say that I appreciate that type of event, mostly for point of views diversity, which leads to lots of exchanges.

Then in the evening, we had some experience feedback from Claude Aubry, Jean-Luc Lambert, Frédéric Dufau-Joël and Alexandre Boutin. Lots of interesting feedbacks, I keep in mind :

  • Avoid lecture, prefer interactive course, use lots of games (role playing)
  • In France, we have the challenge to change student mindset, which has been inculcated in until they get to (under-)graduate level. They have been too much protected and now they are not enough autonomous, confident and too naïve about reality and scared by errors, they need to be given sense of responsability and to let them do errors without reprimands
  • Avoid compartmentalized course, integrate them to make a coherent whole teaching project
  • Take care (avoid) of individual grading, encourage team collaboration and so team grading
  • Give real projects to lead using learned techniques
My current vision of Agile teaching

From our discussion, I would summarize the vision to adopt through answers to the following questions (it is my point of view, not necessarily shared with every members of the community) :
  • Why do we need to teach Agile ? To share Agile spirit that promotes fun, motivation, responsability, commitment, questionning..much more than techniques, it is a mindset. In the end, it would result for sure in a world with much more common sense than the one we live in.
  • Where do we like to go ? We need to influence public authorities, teaching program management through "lobbying" and why not leverage fundamental research in this field (even if I think it is partially covered with several human sciences and computer science researches)
  • What is the content to teach ? We have to build sort of referential of Agile practices and techniques and requirements to be able to understand Agile.
  • How do we teach Agile ? We need to share teaching practices, to make more and more experience feedback (in fact, to apply Agile principle to our approach...).
  • Who is targeted ? Every student that could be involved in an IT project given its initial formation, from the "classic" software engineers to management/commercial profiles (and even any student if we want to spread only the Why...).
Things I would like to dig

First, I would like to start teaching Agile with small courses. But then, I think it would be great to build incrementally a teaching project around following axes:
  • Around technical, behavioral and methodological integrated/related courses,
  • With lots of practice and games rather than lecture,
  • The whole applied through real projects that are needed by their customers (not fake ones)
  • With implication of professionals strongly related to teaching staff (ex: close relationship between almuni and teaching staff)
Now it is time for action. And I will continue to participate to this new community for sure. Thanks to all participants, I enjoy this moment.