Une bonne expérience développeur
(developerexperience.io)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.
-
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. -
De bons outils
Automatisez tout ce qui peut l’être. Les tâches répétitives sont épuisantes. -
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. -
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 :
-
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. -
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. -
Un objectif commun
L’équipe, le département et l’entreprise dans son ensemble partagent un objectif commun. -
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. -
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 :
-
Le blâme
Les membres de l’équipe se reprochent mutuellement les erreurs. C’est très nocif, mais cela arrive souvent. -
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… -
Un crunch permanent et une surcharge continue de l’équipe
-
Hostilité et incertitude
Une concurrence malsaine entre les équipes. (Par exemple : cette personne a été promue parce qu’elle est meilleure que moi.) -
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
- Donner trop d’informations aux développeurs trop tôt.
- Donner trop peu d’informations aux développeurs quand ils en ont besoin.
- Abuser des processus peut faire émerger un état d’esprit où « tout doit rentrer dans le cadre ».
- Tendance au sur-engineering
- Agile = une excuse pour faire faire plus de travail aux développeurs
1 commentaires
Merci pour la traduction !