Devenir un développeur Agile

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 ?

One Reply to “Devenir un développeur Agile”

Laissez une réponse