36 points par frogred8 2022-08-01 | 1 commentaires | Partager sur WhatsApp

Good Developer Experience

  • TL;DR
    N’oubliez pas de rendre les développeurs heureux et de préserver ce bonheur.

# Qu’est-ce qu’une bonne expérience développeur (Developer Experience, DX) ?

L’expérience développeur désigne l’expérience vécue par les développeurs lorsqu’ils utilisent ou conçoivent un produit.
Mais dans beaucoup d’entreprises, elle passe après l’UX (User Experience) dans l’ordre des priorités. Les développeurs sont aussi des utilisateurs, et ils utilisent le produit.
Leur satisfaction et leur bonheur sont essentiels à la réussite d’un projet. Des développeurs heureux créent d’excellents logiciels et sont moins susceptibles de quitter l’équipe.
Nous définissons une bonne expérience développeur à travers les 4 éléments suivants.

  1. Une architecture adaptée
    Si l’architecture est simple, on en souffrira plus tard ; si elle est complexe, on en souffre dès maintenant.
    Il faut choisir l’architecture en tenant compte du projet et de la taille de l’équipe. Une bonne architecture est difficile à casser, offre des boucles de feedback courtes et une bonne résilience.

  2. De bons outils
    Automatisez tout ce qui peut l’être. Les tâches répétitives sont épuisantes.

  3. Des processus qui prennent le relais après le développement
    Ces processus doivent fonctionner comme des check-lists automatisées et fournir des étapes cohérentes. Des processus bien définis aident à former l’équipe.
    Si votre entreprise est suffisamment grande, mettez en place des processus pour la QA, le déploiement, le feedback, l’onboarding, etc.

  4. Une culture d’équipe non toxique
    Définissez la raison d’être de l’entreprise. Gagner de l’argent ne doit pas être l’unique objectif.
    La culture est le brainware le plus important que vous puissiez installer dans votre entreprise et votre équipe (un logiciel qui s’exécute dans la tête).
    Toutes les décisions prises par les développeurs passent par le filtre de ce brainware installé.
    S’ils ne sont pas d’accord avec ce brainware, ils l’ignoreront.

# Pourquoi une bonne expérience développeur est nécessaire

## Les équipes qui bénéficient d’une bonne expérience développeur sont plus productives et présentent les caractéristiques suivantes :

  1. Le sens de l’impact
    Elles comprennent qu’il ne s’agit pas seulement de gagner de l’argent. Elles savent que leur travail compte et améliore la vie des autres.

  2. Sens de l’ownership et des responsabilités
    Elles se sentent responsables de la réussite. Chaque membre de l’équipe doit se sentir responsable du succès de l’entreprise.

  3. Un objectif commun
    L’équipe, le département et l’entreprise dans son ensemble partagent un objectif commun.

  4. Gentillesse et honnêteté
    Nous appelons cela la culture du « hey bro ». Nous mettons l’accent sur la sincérité avec un profond respect des autres.

  5. Le droit à l’échec
    Les développeurs doivent être courageux et prendre des risques. Mais ces risques doivent toujours être calculés, et les développeurs doivent savoir combien de problèmes chaque travail peut entraîner.

## Caractéristiques d’une culture avec une mauvaise expérience développeur :

  1. Le blâme
    Les membres de l’équipe se reprochent mutuellement les erreurs. C’est très nocif, mais cela arrive souvent.

  2. Une forte punition de l’échec
    Par exemple, un manager qui dit que vous pouvez être licencié si vous ne respectez pas une échéance…

  3. Un crunch permanent et une surcharge continue de l’équipe

  4. Hostilité et incertitude
    Une concurrence malsaine entre les équipes. (Par exemple : cette personne a été promue parce qu’elle est meilleure que moi.)

  5. Une responsabilité diluée
    Dans les grandes entreprises, on peut avoir l’impression que personne n’est responsable. Il faut du courage pour dire : « Désolé, c’est moi qui ai tout gâché. » Il est important de pouvoir assumer ses responsabilités.

# Les problèmes qu’une bonne expérience développeur peut résoudre

  • Accumulation des connaissances
  • Mauvais product-market fit
  • Équipe démotivée
  • Mentalité du « ce n’est pas mon problème »
  • Produit raté
  • Clients mécontents
  • Rupture entre le business et l’IT
  • Culture d’équipe toxique
  • Mauvaise qualité du code
  • Hausse des coûts
  • Travail sans sens

# Comment mettre en place une bonne expérience développeur

Il existe le « Scope Triangle », créé par le Dr Martin Barnes au milieu des années 1980. Il montre la relation entre trois forces fondamentales.

Temps, argent, qualité

Ce triangle signifie que, pour augmenter la qualité, il faut ajuster l’argent ou le temps. Cependant, nous pensons que ce n’est pas ainsi que les choses fonctionnent dans la réalité. Il faut ajouter à ce triangle le coût émotionnel.

Si un développeur doit rester tard pour terminer son travail, le seul investissement n’est pas le temps. Une autre partie de cet investissement est le coût émotionnel. Avoir une excellente expérience développeur aide à garder ce coût émotionnel sous contrôle. Si vous voulez rendre les développeurs heureux, maintenez ce coût émotionnel à un niveau bas.

# Les pièges courants d’une bonne expérience développeur

  1. Donner trop d’informations aux développeurs trop tôt.
  2. Donner trop peu d’informations aux développeurs quand ils en ont besoin.
  3. Abuser des processus peut faire émerger un état d’esprit où « tout doit rentrer dans le cadre ».
  4. Tendance au sur-engineering
  5. Agile = une excuse pour faire faire plus de travail aux développeurs

1 commentaires

 
youngiggy 2022-09-19

Merci pour la traduction !