Un développeur possède un grand pouvoir dans la conception d’une application ou de toute solution sur mesure. Son rôle est pluridisciplinaire.
Pour être au sommet de son art, il ne suffit pas d’avoir une bonne technique ou de connaître son langage sur le bout de ses doigts. Il faut être apte à porter plusieurs chapeaux en simultané en plus de faire preuve de plusieurs qualités primordiales à la réussite des projets.
En tant que Chef d’équipe | Développeuse Full-Stack, voici ce que je juge nécessaire pour être un bon développeur.
Le chapeau d’analyste
Avant de débuter le processus de développement, il est essentiel d’analyser la situation. Il faut s’assurer de bien comprendre le besoin du client (Product Owner ou PO) et de choisir la solution la plus efficace.
L’analyste d’affaires propose des solutions qui répondent généralement bien aux besoins. Toutefois, il est du devoir du développeur de les questionner en ayant en tête la complexité technique. Le mot d’ordre: assurer un ratio valeur ajoutée-complexité optimal.
Un bon développeur doit donc être capable de prendre un pas de recul, d’analyser le besoin, de conceptualiser la solution la plus efficace et de défendre son point. Ça requiert du courage, de l’ouverture d’esprit et un sens analytique aiguisé.
Le chapeau d’assurance qualité
Il peut être facile de tomber dans le piège de croire que notre rôle s’arrête lorsque le développement d’une tâche ou d’une fonctionnalité est terminé et prêt à tester. Mais la réalité est toute autre! Une tâche ne se termine pas lorsque la pull request est ouverte.
Le deuxième aspect du rôle de développeur est l’assurance qualité. C’est lui qui détient le plus d’informations sur les impacts potentiels du changement de code et sur les cas limites pouvant poser des problèmes. Il est donc très important qu’il expose les cas de test à réaliser et les difficultés rencontrées durant le développement à l’expert qualité.
L’une des techniques que j’affectionne particulièrement est de faire des tests croisés avec l’expert qualité directement sur le poste du développeur avant même que le code ne soit révisé par un collègue de l’équipe.
Une autre méthode très efficace pour augmenter la qualité et diminuer le temps de retour est la programmation en binôme, mieux connue sous le nom de pair programming. Lorsque la solution est complexe et que nous hésitons entre plusieurs conceptions, c’est une excellente idée de valider tôt avec un collègue avant d’investir tout notre temps dans une solution qui n’est peut-être pas la meilleure.
Les techniques de pair programming et de test croisés (pair testing) demandent de l’humilité, de l’ouverture aux autres et la capacité à se remettre en question. Il est important de se rappeler que seul, on va vite, mais qu’en équipe, on va beaucoup plus loin. Il est aussi rassurant de collaborer avec ses collègues afin de s’assurer de l’exactitude et de la qualité de son travail.
Le chapeau de conseiller
Un autre rôle de notre profession est de conseiller le Product Owner. Il peut être facile d’exécuter ce que l’analyste et le PO nous demandent, mais cela peut être très dommageable si on s’entête à développer une fonctionnalité trop complexe dans son entièreté alors qu’une petite partie pourrait répondre au besoin.
Il est de notre devoir de nous en tenir à l’essentiel et de toujours se concentrer sur l’efficacité et le besoin. Nous sommes les mieux placés pour comprendre l’impact d’une demande de changement ou pour découper une fonctionnalité afin d’en garder que l’essentiel.
Une technique qui peut grandement aider est de démontrer au Product Owner le travail réalisé le plus tôt possible. Rien ne sert d’attendre la fin du sprint et que la fonctionnalité soit en préproduction.
Il peut aussi être très pertinent de:
- Demander l’avis du PO avant d’avoir terminé le tout
- Proposer des solutions alternatives
- S’assurer qu’il est à l’aise avec la solution retenue et qu’elle correspond à son besoin
Personne n’a la science infuse et ne pense à tout en décrivant une story. Il est de la responsabilité de tous les membres de l’équipe de s’assurer de diminuer le «gaspillage» au maximum. Après tout, la fonctionnalité qui a le plus de valeur peut être celle qui ne sera jamais développée. Il n’y a rien qui représente un plus grand gâchis qu’une fonctionnalité inutilisée.
Lorsque notre cœur et notre logique nous disent qu’il est inutile de développer ce qu’on nous demande, nous devons avoir le courage, le tact et les bons arguments pour convaincre le Product Owner en lui exposant les coûts et les risques associés aux changements demandés.
Le chapeau de chargé de livraison
Un dernier rôle, et non le moindre, qui nous est conféré est de s’assurer que notre développement soit bien déployé et prêt à être testé ou utilisé. Le processus ne se termine qu’une fois la solution disponible en production.
Réduire le temps de cycle est l’affaire de tous et non seulement celui du chef d’équipe, du Scrum Master ou du Release Manager. Une façon très efficace de s’assurer que nos tâches ne soient pas bloquées est de toujours prioriser celles qui ont été entamées en premier.
Les qualités d’un bon développeur
Pour être le plus efficace possible, un bon développeur s’assure de:
- Accepter que les échecs fréquents et rapides aident à la conception de la bonne solution
- Valider souvent tant auprès du PO que du reste de l’équipe
- Proposer des solutions plus efficaces
- S’en tenir à l’essentiel
- Collaborer
- Livrer souvent et rapidement
Pour ce faire, il a besoin de plusieurs qualités: le courage, l’humilité, l’ouverture aux autres, l’honnêteté, un bon esprit d’analyse et un sens aigu des priorités. Il doit aussi être capable d’avoir des conversations difficiles et de convaincre les autres pour le bien du produit.
Conclusion
Le métier de développeur est merveilleux. Notre rôle dans le processus de développement est complexe et central.
Nous avons un pouvoir très important sur le succès d’un produit, et ce, à toutes les étapes de conception.
Pour répondre efficacement à ce pouvoir, il est primordial que notre mantra quotidien soit: «Suis-je en train de faire la bonne chose de la façon la plus efficace possible?»
Tu es capable de porter tous ces chapeaux et tu possèdes ce savoir-être tant convoité? Nous recherchons constamment des Développeurs Full-Stack! Visite notre page Carrières pour nous envoyer ta candidature.