3 façons simples d’améliorer l’efficacité de vos développeurs de logiciels
Opinions exprimées par Chef d’entreprise les contributeurs sont les leurs.
J’ai observé une tendance étrange dans les réunions du conseil d’administration de l’entreprise. Les vice-présidents du marketing et des ventes viendront avec des graphiques, des rapports et des données précises. Le directeur financier lancera un tableau de bord détaillant chaque centime de revenus et de dépenses. Le chef des ressources humaines partagera les mesures d’embauche jusqu’au dernier employé. Mais lorsqu’il s’agit d’ingénierie, la pierre angulaire de toute entreprise moderne, il y a peu de données, juste une vague idée de ce qui fonctionne et de ce qui ne fonctionne pas.
La réalité est que l’efficacité de l’ingénierie et l’expérience des développeurs restent une boîte noire, même dans certaines des organisations les plus avancées en matière de technologie. Et à l’intérieur de cette boîte se cachent des inefficacités à une échelle énorme.
J’ai entendu parler de grandes banques qui emploient des dizaines de milliers de développeurs qui fonctionnent à 30 % d’efficacité en raison de processus gonflés et d’un travail inutile. C’est plus qu’un gaspillage de ressources. Les développeurs frustrés abandonnent. La masse salariale de l’entreprise s’affaisse sous le poids des salaires supplémentaires nécessaires pour compenser les inefficacités. Les clients sont bloqués en attente de livrables. Compte tenu de l’impact mondial sur la productivité et la production, il s’agit facilement d’un problème d’un billion de dollars.
La bonne nouvelle est qu’il existe des moyens simples et concrets de donner la priorité à l’expérience des développeurs (DX) et à l’efficacité de l’ingénierie. J’ai vu les avantages transformateurs de l’amélioration de DX en tant que développeur, fondateur et PDG de trois entreprises technologiques à forte croissance. Voici ce que tout PDG devrait savoir :
En relation : Utilisez ces 4 conseils pour attirer et fidéliser les développeurs de logiciels
Le vrai coût d’un mauvais DX
Toute entreprise dépendante du développement de logiciels devrait être obsédée par l’optimisation de l’expérience de travail des développeurs. Les recherches montrent que la plupart des ingénieurs en logiciel passent plus de la moitié de leur journée de travail à effectuer des tâches fastidieuses et répétitives. Aucun ingénieur ne veut passer des heures à résoudre un problème qui pourrait être détecté par l’automatisation ou attendre des semaines les approbations d’autres équipes. Oui, ils peuvent (et doivent) passer à d’autres projets, mais le changement de contexte augmente la traînée et la probabilité d’erreurs. C’est aussi une façon stressante de travailler.
Un environnement de travail frustrant entraîne un roulement important, ce qui est coûteux à tout moment, mais surtout maintenant que la demande de grands développeurs dépasse de loin l’offre. Aux États-Unis, il y a environ 162 900 postes ouverts pour les développeurs de logiciels et les professions connexes, selon le Bureau of Labor Statistics. Au fur et à mesure que la rumeur circule sur les échecs DX d’une entreprise, le recrutement devient difficile, créant une spirale descendante.
Tout cela se traduit par un résultat net, les développeurs gagnant un salaire médian de plus de 120 000 $, ce qui leur laisse des sommes inutilisées pour brûler de l’argent. Pire encore, une ingénierie inefficace ralentit inévitablement le développement de produits. Les entreprises des secteurs concurrentiels comme la banque, la vente au détail ou les soins de santé qui ne comprennent pas DX perdront des clients au profit de concurrents capables de lancer rapidement des applications, des mises à jour et de nouveaux produits.
La doublure argentée est que, puisque la plupart des entreprises sont nouvelles sur DX, quelques améliorations simples peuvent apporter des avantages substantiels. Voici trois façons pratiques d’améliorer l’efficacité de vos développeurs :
En relation: L’avenir du développement logiciel en 2022 et au-delà
1. Faites-en le travail de quelqu’un
Il peut s’agir d’un Developer Experience Officer (DXO), d’un ingénieur principal ou d’une équipe tournante, mais vous avez besoin de quelqu’un pour posséder DX au sein de votre entreprise. Chez Harness, nous avons une Tiger Team qui analyse les inefficacités et recommande des solutions. Voici un exemple récent : l’équipe a appris que notre base de code était trop importante pour que les développeurs puissent tester les modifications sur leurs ordinateurs portables, ce qui a transformé un test de deux minutes en une excursion de 40 minutes pour utiliser un ordinateur suffisamment robuste. Une fois le problème identifié, la solution était simple : réduire le nombre de microservices nécessaires sur les ordinateurs portables des développeurs afin qu’ils puissent utiliser leurs propres ordinateurs pour tester le code.
2. Rassemblez des données et mettez-les à profit
Il est assez ironique que l’ingénierie de tous les départements souffre d’un manque de données opérationnelles quantitatives. La plupart des entreprises en savent plus sur la productivité des équipes de vente que sur les équipes d’ingénierie au cœur de leur travail. Vous ne pouvez pas réparer ce que vous n’avez pas mesuré, alors commencez par rassembler des chiffres concrets. Certaines mesures utiles incluent le nombre de processus automatisés dans votre flux de travail de développeur, la quantité de travail qu’un développeur peut effectuer dans un certain délai et le délai entre le début et la livraison d’un projet.
Ensuite, il y a les aperçus qualitatifs. La plupart des entreprises s’appuient sur les commentaires des enquêtes sur l’expérience des clients et des employés pour s’assurer qu’elles sont sur la bonne voie, mais il n’y a pas d’équivalent pour les développeurs et c’est un énorme oubli. Utilisez des sondages pour recueillir des données qualitatives auprès des ingénieurs et identifier les goulots d’étranglement et les lacunes à résoudre. Les mesures DX peuvent inclure des métriques telles que la facilité avec laquelle il est possible de localiser les informations, les outils ou les systèmes dont ils ont besoin pour faire leur travail.
3. Supprimez les barrières inutiles
Les obstacles rencontrés par les développeurs peuvent être culturels ou technologiques. La culture de la microgestion et de la surveillance excessive est endémique à de nombreuses grandes entreprises. Pour les développeurs, cela signifie perdre du temps à attendre que quelqu’un donne son feu vert aux progrès incrémentiels. Au lieu de cela, mettez en place des garde-fous de haut niveau autour des coûts, de la sécurité et de la qualité, et laissez libre cours aux ingénieurs dans ces paramètres. Le processus rationalisé stimulera la créativité et la productivité et augmentera la satisfaction au travail des développeurs.
Cela va de pair avec la mise à niveau des kits d’outils technologiques des développeurs. Trop de personnes sont bloquées en utilisant des outils et des processus obsolètes et manuels ou en piratant leurs propres correctifs. C’est pourquoi j’ai travaillé à la création de solutions utilisant l’automatisation et l’IA pour permettre aux utilisateurs de créer, tester, déployer et vérifier à la demande. Par exemple, si un développeur travaille sur une fonctionnalité, la fusionner dans le code principal peut nécessiter des milliers de tests, dont l’exécution peut prendre des heures. Mais en utilisant l’automatisation intelligente, le même processus peut prendre 20 minutes. Il existe même des automatisations qui vous permettent de définir par programmation vos garde-corps et d’automatiser les approbations lorsqu’un projet répond aux spécifications.
En relation: Comment l’IA transformera le développement de logiciels
En fin de compte, l’amélioration de l’expérience des développeurs ne peut pas être un événement ponctuel. Il faut une attention et une itération continues pour collecter des données pertinentes, supprimer les bloqueurs et augmenter la productivité et la satisfaction au travail. Pourtant, l’amélioration est à portée de main et le rendement potentiel est bien trop important pour être ignoré.
Je rêve que j’entrerai bientôt dans une salle de conférence et que je verrai un tableau de bord de productivité des développeurs aussi complet que celui de n’importe quel autre département. Nous avons les outils et les données nécessaires pour débloquer la productivité, le moral, l’efficacité, la satisfaction client et les gains d’innovation. Il est temps de libérer les développeurs du labeur afin qu’ils puissent faire le travail qu’ils aiment.