Comme promis lors de la première itération, voici l’interview de Claude Aubry, consultant indépendant, expert en méthodes agiles, mais aussi enseignant à l’Université de Toulouse et organisateur de séminaires sur le sujet, que j’ai eu la chance de pouvoir rencontrer lors d’un de ses séjours à Paris, où il est justement en mission pour un grand compte.
Prochain RV en direct live aux Rencontres agiles, mardi !

Interview de Claude Aubry
Comment êtes-vous venus aux méthodes agiles ?
Je suis indépendant depuis 1994. A l’époque, on était plutôt dans l’objet, UML, RUP… Je m’intéresse à l’agilité depuis plusieurs années, c’est un glissement naturel. En outre, ce retour au côté humain, aux équipes, me plaît beaucoup.
Voilà quelques années qu’on parle de méthodes agiles, mais qu’on ne voit guère de projets les mettant en œuvre. Pensez-vous que le mouvement soit vraiment en train de prendre ?
Quand on regarde les conférences aux Etats-Unis, on ne parle que d’agilité, cela me paraît être un mouvement puissant. En France, on a une culture de processus lourds, avec beaucoup de papier, cela vient donc probablement plus lentement, mais je ne pense pas qu’il y ait un problème culturel. C’est juste un peu plus difficile, peut-être, mais aujourd’hui, je n’ai que des missions sur des méthodes agiles, et dans des grands comptes. Total, Areva, la CPAM et les laboratoires Pierre Fabre sont déjà venus communiquer sur le sujet dans des séminaires que j’organise.
Quel est votre rôle dans ces entreprises, aider à démarrer ?
Oui, il faut prendre connaissance du contexte, décider des pratiques à mettre en place. Il s’agit généralement de Scrum avec quelques variantes ; le duo Scrum et XP est d’ailleurs utilisé pratiquement partout, maintenant. On démarre un projet pilote, puis je fais des interventions ponctuelles.
Quelles sont les motivations de ces grandes entreprises qui vous contactent ?
Il y a d’abord un besoin de mieux connaître les méthodes agiles. Parfois, ce sont des SSII qui leur en parlent, et elles veulent savoir ce que c’est.
Peut-on démarrer un projet avec les équipes existantes, ou bien les méthodes agiles demandent-elles de choisir des profils spécifiques ?
Oh, il y a de grands débats sur le sujet, certains disent que cela ne conviendra jamais à certaines personnes. Je crois qu’on peut aussi former les gens. Ce qui est clair, c’est qu’il faut, au moins pour le projet pilote, que la constitution de l’équipe se fasse sur la base du volontariat. Si vraiment quelqu’un n’adhère pas, il ne reste pas dans l’équipe. Mais je n’ai jamais connu ça ; on essaie de résoudre les problèmes. Des résistances au changement, il y en a. Des refus catégoriques, non.
Quels bénéfices les équipes de développement trouvent-elles en général dans les méthodes agiles ?
En Scrum, il y a des réunions, très courtes, tous les jours. Les échos que j’en ai : cela améliore considérablement la communication, et on voit beaucoup plus vite ce qui ne va pas.
Les méthodes agiles sont censées aider à améliorer la qualité du code. Comment cela se passe-t-il ?
Grâce à une idée simple : rapprocher le plus possible la découverte d’une erreur de sa correction. Il s’agit d’un pilotage par les tests ; il faut pratiquer les tests pendant l’itération. Il faut donc que les spécifications détaillées débouchent sur les jeux de tests, et faire cela itération par itération, au moment où on en a besoin.
Et quelle est la valeur pour les entreprises ?
Il y a une valeur métier, car on pousse les personnes du métier à définir les priorités selon ce qui leur amène le plus de valeur. Cela dit, si on me demande le ROI, j’ai tendance à répondre : savez-vous combien vous allez perdre en continuant [sans passer aux méthodes agiles, NDLR] ? Car bien entendu, le fait de passer aux méthodes agiles doit répondre à un problème : si le développement actuel fonctionne, il n’y a pas de raison.
Le fait de livrer des spécifications itération après itération risque de rendre un projet interminable ?
C’est vrai qu’on ne demande au début qu’une liste d’exigences suffisante pour démarrer une ou deux itérations. Et que le fait de voir un logiciel qui tourne peut donner des idées pour la suite. C’est pourquoi il est préférable de fixer une date pour une ‘release’.
Cela provoque tout de même une certaine incertitude quant aux ressources de la DSI ?
Il y a une notion qui s’appelle la vélocité : on estime les choses à faire, en se basant sur des points – et pas en comptant en jours. Ces points sont attribués en fonction du coût de développement. On sait qu’on peut réaliser un certain nombre de points pendant une itération. De là, on déduit une date, et ce qu’on peut faire pendant cette durée.
Y a-t-il des tailles idéales de projets ou d’équipes pour démarrer ?
Petit. En Scrum, une équipe doit comporter 10 à 12 personnes au maximum. Au-delà, sur des gros projets, on découpe, on fait des ‘scrums de scrums’. C’est relativement facile avec trois ou quatre équipes de 10 personnes, au-delà cela devient plus complexe… comme pour toute grosse équipe. Après, tout cela dépend de la volonté de l’entreprise : Salesforce a décidé de passer à 300 personnes en deux mois !
Scrum donne beaucoup de conseils de bon sens, que les gens doivent déjà avoir l’impression de mettre en œuvre, non ?
Oui, lors de la présentation avant la formation, certains disent qu’ils font déjà telle ou telle chose. D’autres expliquent qu’ils ne peuvent pas le faire, car ils n’en ont pas l’habitude, ou parce que cela casserait leur organisation, bref, qu’ils aimeraient bien mais qu’ils ne peuvent pas. Parfois, ce sont les mêmes.
Avez-vous été amené à renoncer, dans certains cas ?
Il y a des cas où les entreprises n’ont pas tout mis en œuvre, parfois juste certaines choses qui les intéressaient. Mais on arrive toujours au terme du projet pilote. Cela devient plus complexe quand on étend, car cela touche à l’organisation, à la hiérarchie, aux ressources humaines… L’idée, par exemple, d’avoir plus un leader qu’un manager passe bien ; après, dans la pratique, ça dépend.