Mettre en place une culture d'apprentissage

Après avoir choisi votre flow Git, et donc défini comment vous allez échanger avec vos collègues, il est temps de passer à la seconde étape de la cohésion technique de votre projet, de votre équipe. Comment s’assurer que votre équipe va grandir, s’améliorer, et surtout produire du code de qualité ? Voyons ensemble la seconde étape de la cohésion technique : la culture de l’apprentissage.

Un objectif Ă  atteindre

Quel est l’objectif numéro 1 lorsqu’on crée un projet de développement ?

D’un côté, les uns vont vous dire qu’il s’agit de produire un projet d’une qualité parfaite, un projet exempt de bugs, et bien organisé, respectant le clean code, la clean architecture.

De l’autre, nous entendrons au contraire une volonté de respecter les besoins client-e-s à tout prix. La qualité de code n’étant pas une nécessité. Des arguments qui peuvent d’ailleurs s’entendre à l’heure du No code : la qualité n’est pas un but en soi, seule la réponse aux besoins client-e est respectée.

Bon, si on partait ensemble sur un développement custom, spécifique, permettant de répondre précisément aux besoins du client, de la cliente ?
N’est-ce pas un mixte des deux : respect des besoins et qualité de code ?
C’est par exemple ce que tente de proposer DDD comme approche, avec un Ubiquitous langage, un event storming, des domain models, …

Oui, et pourtant, il y a un mais, un vrai gros MAIS.
La qualité ne se produit pas directement, elle s’acquière avec le temps, avec l’expérience, la remise en question, l’apprentissage.
Le développement logiciel est, était, et sera toujours un état de l’art (vive l’artisanat du code).

Ainsi, on pourrait raccourcir toutes nos décisions, en validant ceci : pour un code de qualité, prenez que des devs seniors, avec une vraie bonne expérience, et le tour est joué. Non ?

La tentation du diable

Créer une équipe que de séniors est une bonne piste pour amener qualité, cohésion technique, et respect des besoins du client, de la cliente.
Et pourtant, rien ne vous garantira que le projet réussira, et c’est une autre histoire … (nous en reparlerons dans une autre série d’articles au sujet de la cohésion humaine).

C’est, pourtant, ce que j’inclus dans ce que j’appelle « la tentation du diable« . Pourquoi ?
Comment construire ensemble un monde où tous les devs, toutes les devs font de la qualité logicielle, apprennent, et s’améliore ?

Bien intégrer les juniors

Même si ça peut épuiser, ou dégoûter certains, ou certaines, l’état d’esprit du mentoring fait partie intégrante de la culture d’apprentissage.

Intégrer un junior, une junior, sans la-le guider

La tentation ici aussi, c’est de prendre un-e junior et de se dire : aller hop, je suis débarrassé-e, il-elle va pouvoir tout faire tout-e seul-e.
Croyez-vous que l’école permette d’apprendre tout ce qu’il faut pour :

  • faire du code de qualitĂ© direct
  • savoir Ă©couter et traduire les besoins client
  • amĂ©liorer son code en continue
  • intĂ©grer des philosophies de design de code comme le TDD

C’est tout bonnement impossible ! Et quand bien même l’école l’enseignerait (ce qui encore hélas trop rare), il y a un vrai gap avec la vie en entreprise, sur le terrain.
Une image qui me vient ici c’est un militaire qui se forme dans son Ă©quipe, tranquillement « au chaud Â» dans sa caserne (pas sur du nom ici), et qu’on envoie au frond pour la première fois ….

Mentorer, accompagner, guider

Dans une équipe, la plupart du temps, nous avons des niveaux hétérogènes. Et ce n’est pas un mal, si la culture d’apprentissage est présente, et est mise en place rigoureusement tout le temps, tous les jours.

Une équipe s’auto-organise dans l’état d’esprit agile, soit.
Je pense que l’on doit aller plus loin dans la réflexion : une équipe s’entraide, se challenge, ensemble, sans manager, juste l’équipe.

  • Un-e junior demande du soutien sans devenir une sangsue des seniors,
  • Le-la senior apporte ses connaissances, sans faire du Top-down supĂ©rieur d’information
  • Chacun, chacune, va se challenger pour amĂ©liorer tout le monde
  • Chacun apprend, s’amĂ©liore, quelque soit le niveau

Veille et apprentissage

Alors comment met-on en place cette culture d’apprentissage ?

Il existe plusieurs stratégies, complémentaires, s’alignant sur un but commun : faire grandir, et grandir ensemble.

  • Mettre en place une veille continue
  • Suive une formation professionnelle
  • Apprendre via du micro learning
  • Mentorer, et se faire mentorer, mĂŞme les seniors
  • Faire de la review technique
  • Oser la critique bienveillante
  • Oser l’erreur, accepter l’erreur

Notre adresse

1 rue du guesclin
44000 Nantes

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639