Il y a 9 ans -
Temps de lecture 4 minutes
Chapitre 5 du livre de Sandro Mancuso sur le Software Craftsmanship
Comme toutes les semaines nous vous proposons le résumé d’un chapitre de l’excellent livre de Sandro Mancuso Software Craftsmanship – Professionalism Pragmatism Pride . Cette semaine le chapitre 5 traite d’un des fondements du software craftsmanship : le professionnalisme.
Au départ seulement destiné à un usage interne, nous vous proposons de retrouver chaque semaine le résumé d’un chapitre dans ce blog avec l’accord de Sandro Mancuso. Si ce sujet vous intéresse, Vous pouvez retrouvez Sandro dans le catalogue de formation de Xebia Training.
Déjà publié :
Heroes, Goodwill and Professionalism
À travers deux expériences vécues, Sandro nous présente dans ce chapitre les limites de la bonne volonté et de l’héroïsme.
Apprendre à dire non
Lors du développement d’un ERP dans une équipe de grands professionnels, Sandro, nouvel arrivant dans l’équipe d’architecture se sent obligé de redoubler d’efforts pour être à la hauteur.
Le projet se déroule en cycle en V classique : les développeurs ne rencontrent jamais le client et les délais sont impossibles à tenir. La panique et les heures supplémentaires deviennent monnaie courante, à tel point que Sandro se contraint lui-même à dormir dans sa voiture sur le parking de l’entreprise.
L’héroïsme naïf des membres de l’équipe les empêchaient de faire preuve de professionnalisme.
Le besoin réel n’a jamais été compris, les alternatives n’ont pas été étudiées, aucune alerte n’a été levée.
L’équipe s’attendait à recevoir dignement ses lauriers pour ses nombreuses nuits sans sommeil mais finalement, personne ne fut félicité. La direction s’est finalement résolue à décaler la fin du projet.
Souvent, nous sommes soumis à une forte pression et des délais impossibles à tenir. Les développeurs juniors hésitent à dire non pour éviter la confrontation.
Résultat : les clients sont insatisfaits et la confiance disparaît.
Être professionnel
Une entreprise de télécommunication prévoit qu’une petite portion de leurs abonnés se connecteront le jour du lancement de leur nouvelle application. Les développeurs ne sont pas au courant que ce pourcentage représente tout de même quelques centaines de milliers de clients. Par ailleurs le manager est informé par l’équipe que les nouveautés sans cesse promises par le marketing ne sont pas réalistes mais son refus de négocier est catégorique. Les développeurs s’engagent à contrecœur à faire de leur mieux.
Devant l’ampleur sans cesse croissante de la tâche, l’équipe demande à rencontrer le marketing afin de négocier et prioriser les demandes. Cela leur est également refusé.
Les soirées s’allongent et les week-ends rétrécissent jusqu’à la mise en production. Fiers d’avoir sauvés l’application, les développeurs se félicitent.
L’inévitable arrive cependant très vite : l’application ne tient pas la charge et maintes fois dans les semaines suivantes, ils doivent se remettre à l’œuvre. Le code est fouillis, les tests inexistants. Leur travail est difficile et la pression est à son comble. Les clients et les managers sont insatisfaits et l’équipe finira par démissionner comme un seul homme à la fin du projet.
Après discussion, le manager fautif rejette la faute sur l’équipe qui n’a pas su s’engager de manière réaliste, et on apprend que le périmètre du marketing aurait dû être plus flexible.
Moralité ? Même si le manager était mauvais, l’équipe a manqué de professionnalisme. Elle aurait dû sonner l’alarme, être intransigeante sur la qualité et insister pour rencontrer le marketing quitte à froisser quelques susceptibilités. Une pléthore de fonctionnalités est inutile si personne ne peut les utiliser.
La négociation est une qualité importante pour ne pas céder à la pression : dire que l’on va essayer équivaut à s’engager et sous-entend que l’on peut travailler plus dur.
Citant Chad Fowler, Sandro nous prévient que dire oui devient rapidement une manie contre-productive. Nous n’aimons par dire non par pur égoïsme mais être professionnel implique d’être honnête avec nous-même, notre équipe, nos managers et clients.
Dire toujours non n’est pas une attitude professionnelle non plus car elle ne donne pas d’autres options. Parfois, nous ne connaissons pas les réponses et nous devons en avertir les autres au plus vite tout en faisant preuve de bonne volonté. Donner des indicateurs est primordial.
La nécessité d’avoir des managers éclairés
Sandro conclut ce chapitre en insistant sur l’importance d’avoir des managers qui font partie de l’équipe. Les managers doivent savoir prendre en compte les alertes que l’équipe remonte. Il faut avoir le courage de refuser de prendre en charge certaines fonctionnalités. Une équipe faisant preuve de transparence dans ses difficultés et levant les alertes rapidement aidera son manager a faire preuve de pragmatisme. Le manager est le rempart d’une équipe efficace, il la protège et doit en retour pouvoir compter sur le professionnalisme de ses équipes.
Rendez-vous la semaine prochaine pour le chapitre suivant : working software
Commentaire