Devenir un développeur Agile

Ecrit par << Paquet Judicaël >>

Le développeur Agile

Le développeur Agile n’est pas le développeur qu’on connaissait il y a une dizaine d’année. Il va devoir se transformer en développeur des temps modernes.

On parle toujours du Scrum Master parce que son rôle est encore souvent mal compris et du Product Owner qui est de plus en plus demandé sur le marché mais on oublie souvent de parler du développeur Agile qui n’a plus du tout les mêmes rôles et les mêmes responsabilités qu’un développeur du passé.

Je pense qu’il est important de s’intéresser au rôle du développeur des organisations Agile car il est un point essentiel du bon déroulement des méthodes Agile. Ne l’oublions pas.

Il est son propre chef de projet

Le développeur Agile ne doit plus attendre des tonnes de papiers en guise de cahier des charges, il doit à présent réfléchir lui même aux solutions à mettre en place pour arriver à atteindre les objectifs attendus.

En général, on recommande d’ailleurs aux développeurs Agile de faire de la documentation technique de ces travaux afin de partager ceux-ci avec ses collègues voire les futurs développeurs qui pourraient venir à travailler sur les projets ultérieurement.

Ce développeur Agile n’est donc plus un exécutant mais une véritable tête pensante indispensable au bon déroulement du projet. Il sera également un amoureux du partage d’information pour que tous les développements présents et futurs gardent la même dynamique.

Développeur mais une équipe avant tout

Ce développeur Agile sera un bon communiquant et aimera travailler en équipe. Les projets Agile n’aiment pas les développeurs qui s’enferment seuls dans leurs projets.

Travailler en équipe est un pilier de l’agilité : chaque succès sera un succès d’équipe et chaque échec sera un échec d’équipe. Il est vraiment important de bien comprendre que l’exploit individuel n’existe plus en Agile.

Le travail d’équipe impose aussi de développer différemment en utilisant par exemple des concepts comme le KISS (Keep it Simple, Stupid) pour développer.

Faire au plus simple dans le but d’une relecture simplifiée à l’avenir est finalement plus complexe que de développer la même fonctionnalité en utilisant des techniques totalement folles quand on y pense ; et ceux qui reprendront ces programmes ne pourront qu’admirer l’acharnement du développeur à avoir su développer des choses si facile à lire.

Le développeur doit comprendre qu’il est plutôt mal aimé quand il tente de coder une fonctionnalité en faisant du code ultra complexe à relire ; si parfois les autres développeurs y reconnaissent des prouesses, ils sont surtout très énervés de pas pouvoir relire le code final.

Parfois même au plus simple, le code peut être difficile à reprendre donc le développeur de demain doit vraiment faire l’effort de simplifier à l’extrême la lecture (sans dénaturer la demande initiale).

Equipe de développeurs
Equipe de développeurs

Le développeur Agile est pluridisciplinaire

Pour ceux qui ne comprennent pas bien ce terme, il signifie que le développeur n’est plus un simple codeur mais que ses attributions vont bien plus loin que de simples ligne de code.

Voici une liste de ses rôles :

  1. Il développe sur les projets
  2. Il estime la charge de travail
  3. Il participe à l’affinage du Sprint backlog
  4. Il écrit les documentations techniques
  5. Il teste son travail avant de le livrer (responsable qualité)
  6. Il participe à l’amélioration continue

Comme on peut le voir ci-dessus, le développeur n’est pas qu’un simple « pisseur de code » mais il est devenu un acteur majeur des projets. Dans les méthodes Agile, le développeur a le mérite d’avoir un rôle beaucoup plus important dans l’organisation de l’entreprise.

Développeur responsable

Le développeur Agile est un acteur responsable et ceci dans plusieurs domaines contrairement à d’autres méthodes d’organisation.

Celui-ci choisira en équipe des solutions techniques à mettre en place. Le développeur est probablement le mieux placé pour prendre des décisions sur les choix techniques à prendre. Rien n’interdit à l’équipe de demander de l’aide extérieure pour renforcer leurs connaissances bien au contraire.

Le développeur est seul responsable des estimations en méthodes Agiles. Ni un chef de projet, ni un manager ne doit décider du temps que prendra les projets de leur propre initiative. Avec cette règle, on part dans l’idée que seul le développeur a les compétences pour le faire réellement (de plus, pas de chef de projet technique dans certaines méthodes Agiles).

Le développeur est responsable de la passation d’information. Heureusement de moins en moins courant, la rétention d’information fait beaucoup de mal aux projets. Le développeur devra faire le nécessaire pour que l’information soit bien partagée à l’ensemble de l’équipe et des futurs éventuels membres.

Si le développeur ne doit pas se concentrer constamment sur une tâche que lui seul connait, il peut profiter du temps gagner pour en apprendre encore plus. Il est en réalité encore plus important à l’entreprise si son savoir est large que si il est seul à connaitre seulement quelques trucs.

Et en Scrum

Si nous prenons plus précisément la méthode Scrum, le développeur aura quelques avantages supplémentaires pas forcément présents dans toutes les méthodes Agile ou apparentées Agile.

Le développeur est seul à choisir les user-story qu’il va traiter dans le Sprint Backlog ; on ne peut pas lui imposer d’en prendre une. Par contre, il ne prendra que les user-story insérées par le Product Owner dans le Sprint Backlog.

Le développeur fait parti d’une équipe, il ne travaillera qu’au sein de son équipe pendant toute la durée du Sprint et sur son Backlog.

Evidement, si le PO l’autorise à titre exceptionnel, le développeur pourra aider un développeur d’une autre équipe ; mais cela devra se transformer comme un Impediment validé par le Product Owner.

Conclusion

Un développeur Agile est un rôle très valorisant et qui permet de faire des processus agile de qualité. Si vos développeurs ressemblent à ceux que j’ai décris tout au long de cet article, c’est que votre équipe a bien compris l’esprit Agile à avoir.

Je peux vous assurer qu’il n’est pas encore fréquent dans les entreprises françaises, des développeurs qui ont réellement tous ces rôles et ces responsabilités mais on en voit de plus en plus.

Ce développeur Agile est une étape essentielle pour devenir « Agile ». Est-ce que vos entreprises acceptent de voir leurs développeurs devenir 100% Agile ?

4 réponses sur “Devenir un développeur Agile”

  1. Bonjour,

    En résumé, vous voulez dire qu’un développeur agile = une boite de dev entière, alors dans ce cas merci de m’expliquer à quoi servent les chefs de projets agiles? ou est ce que cette notion n’existe pas? quels intérêt alors a recruter toute une structure de « gens » couteux si tout dév agile pourra faire sa propre boite de dev à lui tout seul ? merci

    1. Bonjour,

      Le « chef de projet agile » est une notion qui permet de mélanger l’agilité à d’anciennes méthodes de travail. Cependant, le monde de l’agilité a plutôt tendance à enlever cette tendance tout simplement.
      Le développeur agile ne fait pas tout, tout seul… L’équipe de développement fait tout ensemble 😉 On cherche des dev pluridisciplinaires et qui ne font pas que du dev : ils analysent, ils codent, ils documentent… Le développeur n’est plus celui qui fait que ce qu’on lui dit de faire bien qu’il est conscient que collectivement l’équipe de développement doit atteindre ensemble des objectifs. Maintenant certaines personnes peuvent être spécialistes d’une techno très difficile à maitriser.
      – Quels intérêt alors a recruter toute une structure de « gens » couteux ? => Honnêtement, c’est souvent les processus de grandes entreprises qui imposent ça. Je ne sais pas exactement de quels types de personnes tu parles mais je vois de nombreux groupes fait des recrutements « couteux » et disproportionnés pour faire face à des processus lourds… Un bon nettoyage des processus enclenchés par certains grands groupes permettent de peu à peu de sortir de cette spirale infernale.
      En aucun cas, cela veut dire que le dev peut ouvrir une boite à lui tout seul ; juste qu’on aura plus confiance en lui dans ses différents savoir faire et dans l’intelligence collective de l’équipe. Et si il y a besoin de plus de force de frappe, on prendra plusieurs devs qui ensembles sauront couvrir tout le scope et prendre des décisions collectivement.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.