Programmation : 7 choses que votre patron est censé savoir à propos du développement de logiciel
selon un bloggeur
Si le programmeur est au centre du développement de logiciel, le projet peut toutefois faire intervenir d’autres métiers qui doivent collaborer pour sa réussite. Malheureusement, de tous les acteurs qui interviennent dans le projet, excepté le développeur lui-même, personne ne connaît vraiment les réalités du terrain. Chaque décision prise à quelque niveau que ce soit et chaque acteur intervenant dans le projet peuvent avoir un impact majeur sur la qualité du produit final. Pour éviter ce problème, un bloggeur du nom de John Sonmez a dressé une liste de sept réalités que tout superviseur de développeur est censé savoir à propos du développement de logiciel. Le premier point concerne la dette technique.
La dette technique est le premier facteur de ralentissement du projet
Dans un projet, un développeur peut être poussé à coder de manière non optimale (non-respect de la conception logicielle, non-respect des règles de codage, etc.) pour aller plus vite, à la demande de son patron ou pour respecter un planning trop serré. Cela induit des coûts supplémentaires dans le futur (un peu comme des intérêts). En voulant aller vite, les développeurs contractent en effet une dette technique qu’ils doivent rembourser tout au long de la vie du projet sous forme de temps de développement de plus en plus long et de bugs de plus en plus fréquents. Au final, la contrainte d'aller vite n'a réussi qu'à ralentir le projet.
Soit on fait de la qualité, soit on va vite ; on ne peut pas poursuivre les deux objectifs à la fois
Cette deuxième réalité a un point commun avec la première. Sonmez estime que le développeur n’a pas le choix lorsqu’on lui demande d’accomplir dans un bref délai une certaine tâche. Lorsqu’il est sous pression, le développeur utilise certains raccourcis et le résultat est un travail bâclé, un grand désordre parfois. Il laisse en plus une dette technique pour tous ceux qui devront poursuivre le projet. Pour éviter ce problème, le bloggeur suggère de montrer au patron que « vous pouvez le faire soit bien, soit rapidement », avec par exemple des statistiques ou études officielles à l’appui.
Un meilleur équipement est l'investissement le moins cher à la productivité
Le matériel est l’un des meilleurs investissements pour le programmeur, même si cela lui permet de gagner seulement une demi-heure de travail par jour. Malheureusement, beaucoup de patrons négligent encore cela selon Sonmez. Pour ne pas que sa productivité soit remise en cause, le bloggeur estime que le développeur doit insister sur la nécessité d’avoir du matériel performant, ou si possible chercher un autre emploi où son manager sera plus avisé à ce sujet.
Les nouvelles technologies ne sont en général pas aussi risquées que certains le pensent
De nombreuses entreprises restent attachées à leurs vieilles technologies estimant qu’il est risqué d’adopter les plus récentes, mais elles n’ont pas toujours raison. Dans le cas d’un framework ou d’une bibliothèque par exemple, une ancienne version peut introduire certaines vulnérabilités. Passer aux nouvelles technologies peut donc être le choix le plus judicieux.
« Certains développeurs peuvent réellement produire moins que 0 code »
Dans une équipe, les compétences varient d’un développeur à l’autre, mais les membres de l’équipe doivent se compléter et faire en sorte que chaque ligne de code écrite par chacun d’entre eux puisse permettre de résoudre un problème, pas d’en créer un autre de plus. Certains développeurs peuvent être d’une incompétence qui saute aux yeux. Dans ce cas, notre bloggeur suggère qu’il faut le faire savoir au patron, sinon l’incompétence du collègue pourrait être considérée comme la vôtre également.
Les estimations sont inutiles
Une chose que Sonmez croit et qu’il estime que même les meilleurs managers pourraient ne pas savoir, c’est que les estimations qui se projettent au-delà de deux heures dans le futur sont sans valeur. Il explique cela par le fait que presque chaque projet représente un territoire pratiquement inexploré, et que l'imprévu peut se produire à tout moment. Si les superviseurs veulent toutefois faire des estimations, les développeurs devraient soit tenter de les convaincre que cela n’est pas utile, soit insister sur un découpage très fin des tâches de sorte que les estimations ne couvrent que de courtes périodes.
Les analystes d’affaires et les chefs de projet ont-ils encore leur place dans un projet de développement de logiciel ?
Là où le bloggeur s’est montré radical, c’est au sujet de la place qu’occupent les analystes d’affaires et les chefs de projet dans le développement de logiciel. Sonmez reconnaît avant tout qu’il y a absolument des analystes et chefs de projet efficaces, mais il estime que dans la plupart des cas, ils ne sont pas vraiment utiles. Il voit plutôt ces métiers dans un contexte où « tout le monde faisait du développement en cascade et les développeurs ne parlaient pas aux clients directement » et en plus où on avait « besoin de quelqu'un pour créer un énorme diagramme de Gantt », explique le bloggeur.
Il croit que le métier de business analyst est superflu, dans la mesure où les développeurs devraient parler directement aux clients. Il estime qu'il serait plus avantageux pour le client comme pour le développeur, s'il n'y avait aucun intermédiaire entre les deux parties. Il considère le métier d’analyste comme un métier boiteux qui fait une moitié du travail du développeur, mais qui ne peut pas faire l’autre moitié. En ce qui concerne les chefs de projet, Sonmez pense que les patrons devraient savoir que ceux-ci n’ont pas leur place dans un monde Agile, parce qu’au final, ils finissent par se mettre sur le chemin de tout le monde en voulant se montrer importants.
Source : Simple Programmer
Et vous ?
Que pensez-vous de 7 réalités que les patrons devraient savoir selon le bloggeur ?
Partager