HUMAN

Portrait de Cedric Pontet, Software Architect at Agile Partner SA

  Pour 2013, dois-je vous offrir de nouveaux post-it ? […]

October 10, 2012

 

Pour 2013, dois-je vous offrir de nouveaux post-it ?

Effectivement, j’ai souvent recours aux post-it dans le cadre de mes missions. Le post-it est le meilleur ami de l’agiliste : c’est bien connu.

Même si ce côté « low tech » peut paraître peu sérieux à certains, voire même amateur, ce qui importe pour un agiliste c’est le contenu plus que le contenant. En outre, les post-it et marqueurs (Stickies and Sharpies, chez les américains) sont si simples et si pratiques à utiliser, qu’accompagnés de quelques neurones bien stimulés, ils permettent de se concentrer sur l’essentiel, qui est de faciliter la communication et de favoriser les idées.

Je constate d’ailleurs régulièrement que la pratique peut convaincre plus d’un sceptique. C’est ainsi qu’une personne m’a dit lors d’une conférence : « Rien que sentir l’odeur du Sharpie suffit à activer mon cerveau et trouver de nouvelles idées ».

L’agilité, est-ce une qualité essentielle dans le monde actuel ?

Etant un agiliste convaincu, je suis persuadé que c’est une qualité essentielle pour au moins deux raisons :

  • La première est que les méthodes agiles ne proposent qu’un cadre de travail, elles n’imposent rien.
  • La seconde est qu’elles permettent de se focaliser sur les pratiques de bon sens. Ce qui fonctionne pour une équipe donnée ne marchera peut-être pas pour une autre. L’essentiel, c’est que cela fonctionne. « Whatever works for you is good enough »

Malgré tout, sans vouloir faire de l’agilité une religion, bien au contraire, je constate qu’il y a malheureusement des personnes qui desservent son intérêt : les « faux prophètes » et ceux qui considèrent l’agilité comme un dogme. Ainsi, les premiers « vendent » l’agilité en pensant qu’une formation de deux jours suffit pour devenir prescripteur. Ce n’est pourtant pas aussi simple. En effet, bien que la compréhension des principes théoriques s’avère être un exercice élémentaire, la mise en pratique nécessite un minimum d’expérience et implique bien souvent de faire appel à un « coach » plus expérimenté qui saura suggérer les solutions appropriées au contexte. A l’opposé, les seconds sont convaincus que l’agilité est la vérité absolue et poussent son application à l’extrême en vous accusant de n’être pas agile si vous ne mettez pas en œuvre telles ou telles pratiques.

Sachant que l’agilité n’est qu’un outil et non une fin en soi, il me semble donc essentiel de faire comprendre ce qui se cache réellement derrière le terme « agile » parce qu’il est employé, aujourd’hui, dans des contextes tellement différents qu’il commence à être un peu galvaudé. C’est ce que s’efforcent de faire au Luxembourg, non seulement les collaborateurs d’Agile Partner mais également les membres de l’AIGLU avec plus ou moins de succès pour l’instant, même si de plus en plus de sociétés de la place ont franchi le pas. Je travaille d’ailleurs moi-même notamment avec deux clients au Luxembourg sur des gros projets agiles, l’un utilisant Scrum et l’autre Kanban. Par ailleurs, nous avons pu constater que de plus en plus d’organisations décident d’adopter les méthodes agiles après avoir subi des échecs plus ou moins importants en appliquant des méthodes traditionnelles. C’est le cas par exemple du FBI, de l’US Patent and Trademark Office ou de la police suédoise. C’est ainsi que le Governement Accountability Office aux des Etats-Unis vient même de publier un rapport concernant la mise en œuvre des pratiques agiles au sein des structures fédérales américaines. Ce type de rapport mérite d’être lu pour comprendre que le choix de l’agilité permet d’éviter dans bien des cas des pertes liées à l’échec d’un projet et que le temps où l’on pensait  que l’agilité n’était adaptée qu’aux projets de petite taille est définitivement révolu. L’agilité est maintenant « mainstream »..

Malgré tout, en tant qu’agiliste, je suis conscient que même si les méthodes agiles sont éprouvées, elles ne sont pas non plus la fameuse « balle d’argent » tant attendue, qui permettrait d’assurer la réussite de 100% des projets. D’autres méthodes de gestion de projet on fait leurs preuves, et sont dans certains cas plus adaptées. Le choix de la méthode dépendra du type de projet et de ses contraintes, tout en gardant à l’esprit qu’il est préférable d’éviter de forcer les choses.

Comment est-ce que cela se concrétise en matière de développement d’applications ?

Le but premier de l’agilité est de donner à l’utilisateur ce dont il a vraiment besoin : une application qui corresponde à ses besoins métier et respecte ses contraintes. Ce qui peut, dans certains cas, être différent de ce qu’il désire. Pour cela, on commence par travailler sur la vision de l’application en clarifiant ce qu’elle résoudre comme problématique, puis on s’appuie sur la mise en œuvre de pratiques qui permettent à l’équipe de réalisation :

  • de collaborer étroitement avec les différents intervenants du métier : les futurs utilisateurs, les sponsors et le management.
  • de garantir le niveau de qualité le plus haut possible ; en effet la qualité est au cœur de tout développement agile

En termes de pratiques, on retrouve par exemple l’utilisation de « task board » pour visualiser le travail en cours, le Test-Driven-Development (TDD), le pair-programming, l’intégration continue, les tests exploratoires ou la définition a priori de critères d’acceptance précis qui permet d’automatiser les tests fonctionnels. Bien entendu, toutes ces pratiques ne sont pas systématiquement appliquées dès le début d’un projet. Elles sont généralement le fruit du processus d’amélioration continue inhérent au développement en mode agile. Enfin, tout au long du déroulement du projet, on garde à l’esprit que les valeurs et principes de l’agilité doivent guider nos choix et que toute initiative de changement doit faire l’objet d’un consensus de l’équipe. En complément, d’autres pratiques empruntées à l’approche DevOps, présentée par mon collègue Pierre-Antoine dans son portrait, se focalisent sur la coopération avec les opérationnels.

Cela va faire 8 ans que vous êtes chez Agile Partner, quel est votre parcours ?

Après l’obtention de mon DESS en informatique, je suis arrivé au Luxembourg en 2001 pour commencer à travailler chez Arthur Andersen. Je pensais alors naïvement que mon avenir était bien assuré. C’était sans compter l’affaire Enron, la liquidation de la branche américaine d’Andersen et le plan social qui s’ensuivit au Luxembourg.

C’est l’ADEM qui m’a proposé un poste de développeur chez PT Consulting après une courte période de chômage. J’ai travaillé pendant deux ans et demi pour cette filiale de l’Entreprise des P&T à la mise en place du système de gestion de guichets postaux, au sein même de l’EPT. Le projet fut un succès et l’application WebRiposte, tourne toujours sur plus de 250 guichets dans tout le Luxembourg. A cette époque déjà, je m’intéressais beaucoup à l’agilité. J’avais lu Patterns of Enterprise Application Architecture (PoEAA) de Martin Fowler et découvert pour la première fois l’Agile Manifesto. Comme tout dans ce manifeste ne me semblait que bon sens, j’ai pris la décision de tendre vers cette philosophie dans la cadre de mon parcours professionnel.

Bien qu’ayant déjà une proposition d’embauche, j’ai donc commencé à chercher des sociétés au Luxembourg susceptibles de m’offrir l’opportunité de « devenir agile » et suis tombé sur une offre d’emploi d’Agile Partner. Après avoir rencontré les associés d’Agile Partner, je dois dire que j’ai un peu trainer pour donner ma réponse à l’autre société, ménageant ainsi l’espoir de rejoindre Agile Partner dont la philosophie correspondait à mes attentes. J’ai finalement pu débuter le 1er août 2005 chez Agile Partner, en même temps qu’Eric Ferrot, un de mes anciens collègues d’Andersen. L’aspect humain, tel que je l’ai ressenti durant ma rencontre avec les associés, a été pour beaucoup dans ma décision de rejoindre l’équipe d’Agile Partner. Depuis, je n’ai jamais regretté une seule seconde d’avoir fait ce choix au détriment de l’autre compagnie.

Qu’est-ce que l’ « Agile Mindset » ?

Si je devais le résumé en quelques lignes, je dirais que c’est une attitude qui se caractérise par :

  • l’envie de rester toujours ouvert d’esprit et curieux et de célébrer le succès de l’équipe au sein de laquelle on travaille, sans essayer d’en tirer de gloire personnelle,
  • le fait de savoir accepter et même apprécier les nouveaux challenges ainsi que de reconnaître le travail et apprécier les qualités d’autrui,
  • la volonté de chercher en permanence à s’améliorer.

Ainsi, une personne dotée d’un « état d’esprit agile » sait que ses capacités peuvent croître, comme un muscle. Son but est d’apprendre continuellement et d’apprécier les nouveaux challenges. Pour elle, l’échec n’est pas une catastrophe, mais fournit de l’information qui permet d’éviter de commettre plusieurs fois la même erreur. L’effort est quant à lui le moyen d’accéder à une plus grande maîtrise de ses capacités. La réaction d’une telle personne face au challenge est la résilience. Linda Rising, dans sa keynote intitulée «  The Power of an Agile Mindset », explique l’état d’esprit « agile » par opposition à l’état d’esprit « fixe ». Cette analyse, basée notamment sur des expériences menées par Carol Dweck, professeur en psychologie à Stanford University, montre qu’un rapprochement est possible entre deux domaines d’activité professionnelle qu’on peut penser aussi éloignés que l’informatique et la psychologie. Etant entendu que dans un projet informatique on a souvent tendance à sous-estimer l’importance des aspects humains au détriment du planning, du budget et des fonctionnalités à livrer. Pourtant c’est bel et bien le facteur humain qui reste de loin la première cause d’échec d’un projet. L’état d’esprit « agile » peut donc faire la différence. C’est finalement ce qu’ont exprimé ses 17 auteurs en rédigeant l’Agile Manifesto et en choisissant de mettre en avant :

  • Les individus et leurs interactions plus que les processus et les outils.
  • Des logiciels opérationnels plus qu’une documentation exhaustive.
  • La collaboration avec les clients plus que la négociation contractuelle.
  • L’adaptation au changement plus que le suivi d’un plan.

Ces 4 principes, qui sont définitivement tournés vers l’utilisateur, mettent en avant la communication, la collaboration, la sensibilité et surtout l’adaptation aux besoins qui demande de se remettre en cause si cela s’avère nécessaire tout en faisant preuve d’humilité. J’ai eu la chance d’assister à l’anniversaire des 10 ans de la rédaction de l’Agile Manifesto lors de la conférence Agile 2011 à Salt Lake City, Utah. Outre l’humour et la bonne humeur, une des choses qui m’a le plus marqué chez les 15 auteurs présents sur les 17 d’origine (il manquait Kent Beck et Dave Thomas), c’est leur profonde humanité et l’intérêt qu’ils ont apporté au moindre mot qu’ils ont utilisés dans ce manifeste. Chaque mot a fait l’objet d’un choix délibéré qui lui donne tout son sens.

En ayant moi-même été témoin de ces effets, je suis convaincu que cet état d’esprit peut s’acquérir si on est  disposé à accepter de se remettre en cause lorsque nécessaire et que l’environnement créé par notre entreprise est propice à ce type d’attitude. Connaissant aujourd’hui les bénéfices que l’on peut en retirer, je souhaite à tout le monde de pouvoir travailler dans une équipe où les égos sont mis de côté et où tous les moyens sont mis en œuvre pour garantir une collaboration de haute qualité entre les individus.

Lean, Scrum, Kanban, Agile…: quelles sont les finalités de ces initiatives ?

Bien que la finalité de ces initiatives soit identique « livrer à l’utilisateur un produit qui corresponde au mieux à ses besoins, tout en favorisant un apprentissage continu et des équipes auto-organisées et responsables », il est tout de même nécessaire de préciser les quelques nuances qui les caractérisent :

  • Le terme « Agile » est un terme parapluie, qui englobe un ensemble de méthodologies qui ont comme points communs d’être incrémentales, itératives et de préconiser des équipes auto-organisées et cross-fonctionnelles
  • Scrum est une des méthodologies agiles orientée gestion de projet. Elle s’appuie sur des grands principes et quelques artéfacts plutôt que sur une liste exhaustive d’actions à mener. Une autre méthodologie agile assez répandue est eXtreme Programming (ou XP) qui, pour sa part, propose des pratiques liées plutôt au développement qu’à la gestion de projet.
  • Lean et Kanban sont des initiatives qui proviennent du monde de la production industrielle. Initialement mises en place au sein du Toyota Production System, elles se caractérisent par l’utilisation d’une approche par flux ou « juste à temps ». La notion d’itération en est absente parce qu’elle est trop peu réactive pour un environnement de production. En informatique, Lean/Kanban est basé sur un système « pull », où un développeur ayant fini une tâche, vient « tirer » d’une liste de tâches ordonnées par priorité décroissante, la prochaine tâche qu’il va effectuer. Celle-ci est donc toujours la plus prioritaire. Le but est de minimiser la perte, en implémentant toujours les fonctionnalités les plus prioritaires, tout en favorisant le débit, puisqu’on essaye de faire passer la tâche à réaliser par toutes les phases du processus de développement le plus rapidement possible, sans pour autant oublier la qualité.

Actuellement de plus en plus de rapprochements se font entre les approches Agile et Lean et les frontières deviennent plus perméables. Il existe, ainsi, de nombreuses initiatives qui visent à étendre leurs principes au-delà des frontières des projets informatiques pour adresser des problématiques stratégiques plus qu’opérationnelles et on parle désormais d’ « Agile Enterprise ».

Pour vous quel est l’apport de l’IT dans les entreprises ?

L’IT devrait être considéré avant tout comme un outil au service de l’entreprise et de son personnel, aidant à atteindre des objectifs métiers. C’est ainsi que dans la mise à disposition d’applications, il me semble nécessaire de travailler à ce qu’elles soient perçues comme facilitant les activités quotidiennes plutôt que de les contraindre : « l’application doit s’adapter aux besoins de l’utilisateur, et non l’inverse ».

En ayant cette philosophie à l’esprit, l’aspect réellement enrichissant de mon travail est finalement d’essayer d’acquérir la connaissance « métier » suffisante pour développer une application qui corresponde aux réels besoins des utilisateurs. Mes connaissances techniques me servent alors de complément pour déterminer la meilleure solution à mettre en œuvre pour atteindre cet objectif alors que mon expérience de l’agilité m’aide à formaliser leurs besoins et à trouver les moyens les plus simples et pratiques d’y répondre.

En définitive, l’IT dans une entreprise se doit d’apporter, aussi bien dans le domaine applicatif que dans celui des opérations : un service adapté, une écoute quotidienne et une bonne réactivité pour faire face aux demandes métier. C’est le parti qu’a choisi Agile Partner en proposant d’accompagner les entreprises dans la mise en œuvre de systèmes d’information agiles.

Pouvons-nous espérer vous voir au Startup Weekend ?

Je m’y suis effectivement inscrit et ai déjà commencé à réfléchir à quelques idées qui pourraient être intéressantes pour cet événement. Cet évènement est notamment organisé par deux de mes collègues d’Agile Partner : Sylvain Chery et Yann Gensollen. Et sans vouloir faire de prosélytisme, je trouve que c’est une excellente initiative.

Le Luxembourg a besoin de ce genre d’événements, qui permet à des personnes d’horizons divers de se rencontrer en dehors de leur cadre habituel et de travailler à un but commun sans la pression des activités professionnelles quotidiennes. Ce que j’apprécie avec ce type de manifestations, c’est qu’il est possible de rencontrer de nouvelles personnes que l’on n’aurait peut-être jamais eu l’opportunité de croiser autrement. C’est aussi l’occasion de confronter ses idées à d’autres points de vue et ainsi d’enrichir ses connaissances. Et puis, comme le côté ludique favorise aussi beaucoup la découverte et l’apprentissage, je finirai peut-être le weekend avec une vraie bonne idée à exploiter…

Si vous pouviez changer de métier, ce serait pour lequel ?

Je suis tellement passionné par ce que je fais, qu’il m’est difficile d’imaginer de faire un autre métier aussi satisfaisant que le mien. Certes, j’aime beaucoup cuisiner et suis un bon vivant. Mais je pense qu’il y a une grande différence entre cuisiner un bon petit plat pour sa famille ou ses amis et le faire de manière professionnelle. Mais cela pourrait constituer un nouveau défi puisque les agilistes aiment relever les challenges…

Je suis également depuis toujours passionné par l’univers du cinéma. Mon père, son père et son grand-père avant lui étaient exploitants de salles de cinéma dans tout l’est de la France. Le Rio à Nancy ou l’Ariel de Metz, pour ceux qui les ont connus, étaient des salles de cinéma de la famille. C’est ainsi qu’étant petit, je voyais tous les Walt Disney gratuitement ; ce qui ne manquait pas de faire des envieux parmi mes amis.

Plus jeune, je pensais reprendre le flambeau familial, mais le destin en a décidé autrement. Les sociétés fondées par mon arrière-grand-père ont été vendues et je me suis découvert une passion pour l’informatique. Je reste pourtant un grand amateur de cinéma et malgré le nombre croissant de productions, j’essaye d’aller regarder le plus de films possible.

Quels sont vos passions et vos hobbies ?

En dehors de travailler ma « geekitude », je me détends en regardant des séries comme IT Crowd et The Big Bang Theory. Je consacre en ce moment beaucoup de mon temps libre à faire des travaux chez moi. En effet, ma femme et moi avons fait l’acquisition d’un ancien cabinet médical que nous avons décidé de transformer en appartement. C’est un projet à long terme qui nous demande un investissement personnel quasi quotidien. J’utilise même parfois l’agilité pour planifier certains travaux.

Je m’adonne également à la pratique du yoga. Ceci me permet de me recentrer sur moi-même mais surtout de soulager mon dos qui est fortement sollicité à force de rester assis devant un clavier huit heures par jour. A l’occasion, j’aime aussi faire des randonnées, mais je dois avouer que je n’ai pas eu l’occasion d’en faire depuis longtemps compte tenu de mon emploi du temps.

Vous êtes plutôt Mountain Lion, Windows 8 Beta ou Linux? 

Si j’étais un geek puriste, je dirais Linux. Si j’étais un geek chic, je dirais Moutain Lion. Mais je suis un geek pragmatique alors je réponds Windows 8. J’ai même commencé à jouer un peu avec la technologie et à m’intéresser au développement d’applications Windows Store.

Il est vrai que je développe principalement sur la plateforme .NET. Je suis donc curieux de voir si la petite révolution préparée par Microsoft va produire les effets attendus. La firme de Redmond joue gros avec Windows 8. Mais si le public adhère, alors Microsoft aura une position qu’aucun autre grand acteur de l’informatique n’a jamais eue auparavant : la même application, téléchargeable via le Windows Store, qui tournera à l’identique et sans adaptation nécessaire sur un PC, une tablette, un téléphone et même une console de jeux. C’est pour le moins ambitieux.

La grande force de Microsoft a toujours été l’homogénéité de ses produits et solutions. Mais comme Windows 8 impliquera un gros changement dans leurs habitudes, il est plus que probable que cette rupture risque de déstabiliser certains utilisateurs familiers des versions antérieures. Mais si le risque est grand, les bénéfices en retour seront probablement proportionnels. C’est en tout cas le pari qu’a fait Microsoft… Affaire à suivre donc…

 

 

[colored_box color=”red”]

Carte d’identité:

Prénom: Cédric

Nom: Pontet

Age:  36 ans

Nationalité: Française

Fonction: Software architect / Agile practitioner

Société: Agile Partner S.A.

Loisirs: Bricolage, cuisine, yoga, randonnée

Signes particuliers: Geek pragmatique à tendance épicurienne

Twitter : @cpontet

 [/colored_box]

Watch video

In the same category