BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Le serment des développeurs

Le serment des développeurs

Favoris

Notre société exige un engagement vers un comportement professionnel ; nous avons besoin d'un serment pour les programmeurs, car des vies et des fortunes dépendent de la bonne construction et fonctionnement des logiciels, affirme Robert Martin. Selon lui, cela devra se traduire par l'appartenance à une association professionnelle.

Robert Martin, l'un des signataires du Manifeste Agile, a suggéré que les programmeurs adoptent un code de déontologie dans son Obligation of the programmer :

(...) il demeure que nous, programmeurs, sommes dans une position de pouvoir énorme que les personnes que nous servons ne comprennent pas bien ; et que nous ne comprenons pas mieux.

Avec de grands pouvoirs viennent de grandes responsabilités. Nous, en tant que programmeurs, devrions reconnaître cette responsabilité et accepter d'être des serviteurs consciencieux de notre société. Nous devrions définir les limites et les normes de notre comportement. Nous, les programmeurs, nos employeurs, et non nos gouvernements, devons décider ce que signifie l'acceptation du pouvoir et des responsabilités qui ont été placés entre nos mains.

Dans un article, publié en novembre 2014, Martin a partagé ses premières idées pour un code de déontologie. Il a suggéré plusieurs points qui devraient être inclus :

  • Nous ne causerons pas de dégâts intentionnels

  • Notre logiciel sera bien écrit pour son objectif et sa pérennité

  • Nous nous comportons avec honneur et discipline

L'article suggère un serment pour les programmeurs basé sur celui de l'Ordre des ingénieurs.

Nils Löwe a écrit la responsabilité en tant que développeur de logiciels pour créer un bon logiciel fiable :

Au cours des dernières décennies, nous avons beaucoup appris à propos de la construction de bons logiciels fiables. La crise du logiciel nous a montré nos limites techniques et, en tant que bons ingénieurs, nous avons inventé des processus et des méthodes pour maîtriser cette complexité. Malheureusement, nous avons oublié de regarder au-delà de nos défis techniques et de reconnaître notre responsabilité croissante.

Nous, développeurs de logiciels, avons accumulé une énorme quantité d'influence dans un temps relativement court. Mais nous n'avons eu que peu de temps pour faire face à la responsabilité de cette influence.

Dans son article, Löwe parle de son Manifesto of Responsible Software Development qui vise à encourager les réflexions et les discussions sur les responsabilités des développeurs de logiciels.

En novembre 2015, Robert Martin a publié le serment du programmeur. Son serment vise à « défendre et préserver l'honneur de la profession d'informaticien ». Le serment commence par :

  1. Je ne produirai pas de code dangereux.
  2. Le code que je produis sera toujours mon meilleur travail. Je ne permettrai pas consciemment l'accumulation de défauts dans mon code que ce soit dans son comportement ou sa structure.
  3. Je produirai, avec chaque version, une preuve rapide, sûre et répétable que chaque élément du code fonctionne comme il se doit.
  4. (...)

Dans l'article le code dont j'ai encore honte sur FreeCodeCamp, Bill Sourour raconte son histoire pour l'écriture d'un logiciel de quiz en ligne qui recommande un médicament. Alors que le site Web sur lequel il travaillait était un site d'information générale sur les médicaments, la demande du client était de toujours proposer leurs produits. À la fin de son article, il conclut :

En tant que développeurs, nous sommes souvent l'une des dernières lignes de défense contre les pratiques potentiellement dangereuses et anti-éthiques.

Plus le logiciel continue de prendre en charge tous les aspects de notre vie, plus il est important pour nous de prendre position et de veiller à ce que notre éthique soit toujours présente dans notre code.

Martin a ouvert l'Agile Summit Greece 2017 qui vient de se tenir à Athènes avec "Le Serment du Scribe".

InfoQ a interrogé Martin sur la nécessité d'un serment pour les programmeurs, ce que le serment vise à atteindre et la façon de l'appliquer.

InfoQ : Pourquoi avons-nous besoin d'un serment pour les programmeurs ?

Robert Martin : Notre civilisation dépend beaucoup plus des logiciels que la plupart des gens, même les programmeurs, le comprennent. De nos jours, les vies et les fortunes dépendent de la bonne construction et fonctionnement des logiciels. Chaque fois que des vies et des fortunes sont en jeu, notre société exige un engagement vers un comportement professionnel. Un serment est simplement la déclaration de cet engagement.

InfoQ : Vous avez publié le serment du programmeur en 2015. Comment les gens ont-ils réagi ?

Robert Martin : De nombreux programmeurs étaient enthousiasmés. D'autres pensaient que c'était stupide. Je ne pense pas que la réaction importe peu. Ce qui compte est la pensée du quidam - et par extension celle du législateur. A la fin, tout à chacun demandera l'engagement vers un comportement professionnel, et demandera que ce comportement soit suivi et contraint.

InfoQ : Le serment commence avec "Je ne produirai pas de code dangereux". Pourriez-vous développer ce sujet ?

Robert Martin : Il y a deux types de danger qu'un développeur peut apporter à ses utilisateurs. Le premier est le plus évident. Le logiciel peut défaillir. Il paraît tout à fait raisonnable que nous promettions de faire de notre mieux pour livrer des logiciels qui ne défaillent pas.

Le second type de danger que les développeurs imposent à leurs utilisateurs est de mettre en danger la structure du logiciel. Les utilisateurs attendent que les logiciels soient simple à modifier. C'est du _soft_ware (doux, NdT) après tout. Les utilisateurs ont besoin que leurs logiciels s'adaptent à la vitesse d'évolution de la société et des technologies. Il paraît tout à fait raisonnable de promettre de faire de notre mieux pour garder les logiciels "léger".

InfoQ : Le serment suggère que les développeurs devraient faire leur possible pour maintenir une haute productivité. Comment peuvent-ils y arriver en livrant du logiciel de bonne qualité ?

Robert Martin : Ah, c'est une question piège. Garder un haut niveau de qualité est la manière de maintenir une bonne productivité. L'idée que la qualité et la productivité sont opposées est le grand mensonge que nous nous sommes racontés au fil du temps.

Tout programmeur a eu l'expérience d'être ralenti par du code mal structuré ou tordu. Ce code était "facile" à écrire, mais a laissé le système dans un état qui ralentit tout le monde. Plus les autres vont lentement, plus la pression de prendre des raccourcis est forte - des raccourcis qui laissent le système dans un état se dégradant. De la sorte, tout le projet ralentit inexorablement vers une productivité nulle.

Répétez après moi : "Le seul moyen d'aller vite est de bien faire".

InfoQ : Est-ce la bonne chose d'obliger à prêter serment ? Comment le faire ?

Robert Martin : A la fin, cela passera probablement par l'appartenance à une sorte d'association professionnelle. Les employeurs embaucheront uniquement les membres des meilleures (probablement du fait de la loi). L'appartenance peut être révoquée par des violations éhontées du code de conduite de l'association.

Je ne connais aucune initiative pour mettre cela en oeuvre ; mais je pense que c'est inévitable.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT