Comment devenir un développeur Agile chevronné ?

Convertir les habitudes en culture d'entreprise

Dan Radigan Dan Radigan

Le développement agile ne concerne pas uniquement les développeurs

Personne n'a envie de livrer un logiciel rempli de bugs, qui fonctionne mal et ne satisfait pas réellement les clients. L'intégration continue et les revues du code empêchent cela... Mais vous devez vous demander qui a vraiment le temps de faire tout cela ? Eh bien, les équipes Agile.

Les développeurs Agile se concentrent sur un développement durable, rien d'héroïque. La durabilité implique une bonne estimation, des stratégies efficaces de création de branches pour gérer le code, des tests automatisés pour préserver la qualité et un déploiement continu pour obtenir un feedback rapide de la part des utilisateurs. Mais, pour adopter des pratiques de développement durable, il faut une discipline à laquelle beaucoup d'entre nous aspirent (mais ont du mal à appliquer). Pourquoi ? Parce que personne ne peut devenir Agile dans l'absolu. C'est la culture globale de l'entreprise qui doit évoluer. Autrement dit, les leaders de projet doivent adhérer à l'idée que la qualité est plus importante que le cahier des charges ou le calendrier. C'est souvent l'aspect le plus difficile dans l'adoption des principes Agile.

Mais cela vaut la peine ! Les développeurs ont la liberté et la responsabilité de développer des logiciels de façon durable, tout en conservant d'excellentes relations avec l'entreprise. Quant à l'entreprise, elle peut commercialiser un produit de meilleure qualité, ce qui renforce encore cette excellente relation avec l'ingénierie. De plus (et c'est le meilleur argument), les développeurs agiles ont rarement l'impression de devoir « marcher vers la mort ». Lorsque le développement prend du retard sur le calendrier à cause des efforts  - sous-estimés - qu'implique le maintien d'une excellente qualité, l'aspect « cahier des charges » du triangle de fer peut être assoupli pour s'adapter à cette réalité. Et personne n'est pour autant pris en otage pendant le week-end.

Tous les développeurs connaissent le « triangle d'or » de la gestion de projets : périmètre, calendrier et qualité. Nous avons, pour la plupart, travaillé sur des projets dont le cahier des charges était inflexible, le calendrier malmené et le développement étouffé par l'augmentation de la dette technique. Et parfois, comme si cela ne suffisait pas, le produit final ne correspondait même pas à ce que le marché espérait. C'est une situation frustrante et bien connue.

Mais n'ayez crainte : il y a de bonnes nouvelles.

Avec le développement agile, le cahier des charges devient la variable dynamique. Les équipes peuvent ainsi préserver la qualité, instaurer une culture de développement stimulante et conserver des liens étroits avec l'entreprise. Chez Atlassian, Agile est au cœur de chaque équipe de développement (mais aussi de nombreuses équipes qui ne font pas de développement !). Et pour cause.

Elle met à la disposition de chaque individu des pratiques qui posent des bases techniques solides pour son produit et qui favorisent une culture de collaboration avec son équipe. Au sein des équipes agiles, les développeurs sont plus impliqués, rédigent un meilleur code et prennent plus de plaisir qu'ailleurs.

Des liens plus étroits font un produit plus efficace

Agile encourage le travail en équipe. Ce n'est pas une surprise, la plupart des logiciels actuels sont développés par des équipes. Les développeurs établissent des liens étroits avec la gestion de produit, la conception, l'assurance qualité et les opérations. En effet, pour rédiger un code durable, il faut rester connecté avec toutes les facettes du projet. En facilitant la coopération directe entre les développeurs et les autres composantes de l'entreprise, Atlassian a constaté des avantages considérables au niveau de la qualité du code et de la satisfaction des développeurs. Un meilleur code, c'est moins de « déchets » (à savoir la duplication des efforts et/ou les conflits entre flux de travail), mais aussi des interactions plus efficaces entre les intervenants, et ce ne sont là que quelques-uns des avantages constatés.

Développeur Agile | Atlassian – Le coach Agile

Le mentorat est tout aussi important. Les équipes Agile assurent des formations croisées afin de garantir la diffusion, à tous les niveaux de l'équipe, des connaissances concernant la base de code. Cela se fait, entre autres, grâce aux revues de code, lesquelles non seulement préservent la qualité, mais assurent une « pollinisation croisée » de la maîtrise du code au sein de l'équipe. Quel que soit le mode de diffusion de ces connaissances, les équipes Agile ne se retrouvent pas avec des développeurs « irremplaçables » qui ne peuvent pas partir en vacances parce qu'ils sont les seuls à comprendre un aspect particulier du code. Parce qu'évidemment, personne ne veut être ce développeur.

Les développeurs agiles peuvent aussi travailler sur la pile technologique de leur produit plus facilement que leurs homologues qui travaillent en cascade. En effet, les équipes agiles s'organisent de façon autonome et offrent à leurs membres l'occasion d'acquérir de nouvelles compétences. C'est un fait : les développeurs qui livrent des fonctionnalités entières, de l'interface utilisateur à la base de données, s'approprient davantage leur code. Chez Atlassian, nous encourageons la formation de développeurs « complets » parce que nous croyons dans le partage des connaissances au sein de l'équipe, et dans l'ensemble de l'entreprise.

Programmation, culture et bons côtés du développement Agile

Devenir Agile, c'est instaurer une excellente culture du développement au sein de votre entreprise. Poursuivez votre lecture pour en savoir plus sur l'efficacité des stratégies de création de branchesles techniques de tests automatisésl'intégration continue et l'établissement de liens efficaces avec les autres composantes de l'entreprise. Les articles qui suivent reviennent plus en détail sur les changements qu'ont apportés plusieurs milliers de développeurs pendant leur passage à Agile et sur les avantages qu'ils en ont tirés.

Le développement agile est un voyage. Et nous sommes à vos côtés à chaque étape de votre parcours.