Assez avec le logiciel Holy Wars!

Apr 29 2023
Continuons et améliorons-nous dans la livraison de logiciels fonctionnels qui satisferont, voire raviront, nos clients. Il s'avère que les chrétiens, les juifs et les musulmans adorent tous le même dieu.

Continuons et améliorons-nous dans la livraison de logiciels fonctionnels qui satisferont, voire raviront, nos clients.

Photo de Lyman Hansel Gerona sur Unsplash

Il s'avère que les chrétiens, les juifs et les musulmans adorent tous le même dieu. Là où ils ne sont pas d'accord, c'est sur le détail de ce que ce dieu a pour le petit-déjeuner et sur sa politique en matière de barbe et de jours fériés.

Vous voyez, il s'avère également que les «artisans du logiciel», les «ingénieurs en logiciel» et les «développeurs de logiciels agiles» vénèrent tous le même dieu. Nous ne sommes simplement pas d'accord sur les détails les plus fins de la manière dont notre dieu s'attend à ce que nous obtenions exactement les mêmes résultats que nous semblons tous d'accord pour lesquels nous devrions nous efforcer.

Il n'y a aucun désaccord sur le fait que le premier commandement de notre dieu mutuel est que tu n'écriras pas de logiciel dont ton client n'a pas voulu.

Nous ne contestons pas non plus que nous devrons itérer pour converger vers le logiciel le plus utile et le plus utilisable.

Nous sommes également d'accord sur le fait que les tests doivent avoir lieu le plus tôt possible et aussi souvent que possible si nous voulons éviter de perdre la majeure partie de notre temps à corriger des bugs qui se sont glissés sur le net.

En effet, sur tous les points importants, nous sommes d'accord sur tout. (Eh bien, quiconque dont l'opinion compte est d'accord, de toute façon.)

Là où nous ne sommes pas d'accord, c'est sur le fait de savoir si nous devrions les appeler "cas d'utilisation" ou "histoires d'utilisateurs", et si nous devrions d'abord écrire nos tests ou les écrire après le code, ou si nous devrions réserver du temps pour pratiquer délibérément ces compétences ou si nous devrions rejoindre un organisme professionnel accrédité et obtenir une certification. Et ainsi de suite.

Les croyances sous-jacentes, les fondements de ce que nous faisons et pourquoi nous le faisons, sont restées inchangées pendant des décennies. L'Ancien Testament du développement de logiciels est un texte religieux partagé entre tous ceux qui le font bien.

Au cas où vous auriez besoin d'un rappel, voici les dix commandements du développement logiciel :

  1. Tu n'écriras pas de logiciel dont ton client ne voulait pas
  2. Tu itéreras tes solutions, indéfiniment si nécessaire
  3. Tu testeras tôt et souvent
  4. Vous gérerez les versions et les configurations de vos logiciels, même lorsque vous travaillez seul
  5. Tu ne sauteras pas directement dans l'écriture de code si tu n'as pas réfléchi un peu à la conception
  6. Tu n'écriras pas de code difficile à changer
  7. Tu n'intégreras ni ne publieras de code non testé
  8. Tu ne créeras pas d'interfaces utilisateur difficiles à utiliser
  9. Tu traiteras les exigences fonctionnelles et non fonctionnelles de la même manière
  10. Tu automatiseras les tâches souvent répétées et partageras le code souvent répété

Chacun de nos commandements implique une discipline, avec ses propres compétences, ses propres pratiques, ses propres normes et son propre corpus de connaissances. Nous pouvons être en désaccord sur le détail de la façon exacte de suivre chaque commandement, mais fondamentalement, sous tout cela, nous adorons tous le même dieu.

Alors, assez avec les guerres saintes ! Continuons et améliorons-nous dans la livraison de logiciels fonctionnels qui satisferont, voire raviront, nos clients.