Commentaires
12/7/2023

Lecture: The Soul Of A New Machine (partie 3)

Sorti en 1981, au moment d'une effervescence marquée de l'informatique aux USA, ce livre documente le développement d'un nouveau "minicomputer" au sein de la société Data General. (Partie 3)

Avant de poursuivre, je vous recommande la lecture des parties 1 et 2.

Dans cet article, le dernier de la série, j'ai voulu aborder quelques aspects techniques vaguement couverts dans le livre, et remettre cela dans le contexte de l'époque. Enfin, je ne pouvais pas ne pas parler du masochisme omniprésent dans le projet Eagle.

La technique : fabrication d'un ordinateur

Une des 7 cartes du Processeur d'Eagle (dimensions en inch)
  • Le processus de développement adopté sur Eagle est pour le moins léger et chaotique : des specifications sont écrites en début de projet, puis les ingénieurs sont lâchés comme des lions dans une arêne avec pour objectif de créer toute la machine.
  • Les plus fins techniciens des ingénieurs semblent être ceux qui ont le plus de mal à ne pas chercher la perfection et à savoir arrêter les frais au bon moment. Le management prend des décisions qui sont alors mal vécues. Cela participe de l’ambiance de défiance qui est déjà partiellement installée et perpétuée (volontairement) par le management a des fins de Mushroom Management.
  • Plusieurs personnes dans le livre réalisent la traduction des instructions assembleur en langage binaire. Ce genre de passage est particulièrement intéressant à lire, car c’est la que se trouve la frontière entre le hardware et le software. A cette époque il n’y avait pas de normalisation (des circuits, des OS, etc.). Quand on développait un ordinateur, on redéveloppait l’électronique, l’OS, les instructions assembleurs et le lien entre tout cela. Un travail colossal.
  • Les ingénieurs de l'équipe Eagle n’ont pas du tout pris en compte que la machine devrait être produite en série une fois la conception et le debug terminés ! Arrive alors un moment où ils vivent avec la peur permanente de découvrir à la fin que leur design est trop complexe pour les fabricants, et que tout le projet (et leurs rêves) tombe à l'eau. Ce qui ne les empêche pas de poursuivre tout de même leur besogne, avec la stratégie de l’autruche.
  • Lors du développement d'Eagle, un nouveau composant très pratique fait son apparition sur le marché : le PAL (ancêtre du FPGA). La décision est prise, malgré le risque technologique d'intégrer une telle nouveauté, d'utiliser des PAL au sein d'Eagle. A un moment donné au cours du projet, la seule entreprise qui produit des PAL fait faillite. Tout le design est à revoir... Il aura fallu 1 an complet pour que la situation avec ce fournisseur puisse se stabiliser, et pour que DG approvisionne les PAL nécessaires à sa production d'Eagle. Ce risque industriel (bien identifié) qui s'est déclenché a fait, à lui seul, doubler la durée du Projet !
  • L’équipe de développement du microcode a poussé sans relâche pour avoir le droit de se développer un outil leur permettant de tester de manière automatique si le microcode était OK ou non. Le développement d’un tel outil est un projet en soit alors cela avait été dans un premier temps refusé. Finalement accordé, il est clair que cela a fait gagner beaucoup de temps par la suite. Cela a permis aux développeurs de s’affranchir d’attendre l’électronique finale (mise au point) pour commencer à debugger leur code.
  • Il y a une infinité de "petites" tâches qui doivent être réalisées au cours de la conception de l'ordinateur. Typiquement, ce sont des tâches Systèmes : penser à l'architecture générale de la machine avant même de la développer, s'assurer qu'elle soit compatible des périphériques autres développés au sein de l'entreprise, définir des performances claires, définir un coût de revient et s'assurer de ne pas le dépasser, concevoir le cordon d'alimentation de l'armoire, etc. Des tâches que personne ne souhaite faire car il est plus plaisant de travailler sur l'une des cartes du Processeur, une main sur le fer à souder et l'autre sur l'analyseur logique. Pourtant, l'ordinateur est un tout et toutes ces tâches doivent être faites. Elles seront réalisées dans l'ombre par le Chef de Projet, Tom West.
  • Les ingénieurs parlent souvent de "Kludge" : mot valise/acronyme désignant un produit "clumsy but good enough". C'est à dire un système très moche, instable, rapiécé, mais qui fait le boulot et qu'on peut alors livrer aux clients. Les ingénieurs n’en sont pas fan, les managers non plus mais ils poussent tout de même à faire sortir de tels produits. On peut imaginer un kludge dans le cas d'Eagle : une carte électronique sur laquelle sont rajoutés des straps en pagaille pour corriger des bugs de dernière minute.

L'ordinateur au sein de la Société Américaine

"Hey Donovan, tu me rajouterais pas 16Ko de mémoire pour enregistrer le fichier sur lequel je travaille ?"
  • Le livre fait déjà état de considérations qui nous parlent particulièrement en 2023. Il y est évoqué que dans les années 1960, le gouvernement des USA souhaitait profiter de la capacité de stockage de données des ordinateurs pour centraliser tout un tas d'informations sur ses citoyens (impôts, état civil etc.). Une farouche opposition s'est manifestée afin d'empêcher cela. Les arguments du Contre tournaient autour de la sécurité des données vis-à-vis d'attaquants extérieurs (une organisation voulant mettre la main illégalement sur les informations de revenus des citoyens par exemple), ainsi que sur leur confidentialité (crainte que le gouvernement lui-même n'utilise cela pour faire de la surveillance de masse).
  • Des questions se posaient également sur le remplacement de l'Homme par la Machine. Des emplois vont-ils disparaitre ? Quel est l'intérêt de remplacer l'être humain par une machine si le fait de faire fonctionner et maintenir cette machine requiert 3 fois plus de personnes ?
  • Ces super ordinateurs vont-ils faire le Bien ou le Mal ? Créer des hyper-conglomérats et multinationales toutes puissantes ? Ou permettre à l'être humain d'explorer l'Espace et améliorer ses conditions de vie ? Une étude de l'époque demande d'ailleurs aux ingénieurs développant ces machines d'exercer de la retenue et de la vertue. Cela vous rappelle quelque chose

L'Humain

Une légende est-elle réellement nécessaire ?
  • Un certain masochisme ambiant est clairement là. Les personnes qui travaillent sur Eagle se tuent a la tâche afin d'être là où les choses se passent, sur des "beaux" projets, et pratiquer leur passion. En échange, ils savent tous qu’ils n’auront aucun remerciements, stock options ou même congés. Le plaisir de construire quelque chose qui a du sens l’emporte. Leur adhésion est totale jusqu'au burn-out, ou, pour les plus chanceux, jusqu'à la réalisation qu'ils n'ont aucune vie en dehors de "la machine".
  • Un des ingénieurs en lead sur le hardware va même jusqu'à dire que le jour où il ne viendra plus travailler avec la peur au ventre le matin, mélange d'appréhension et de fascination pour les problèmes qu'il va devoir gérer sur Eagle (qui est en cours de mise au point), c'est qu'il aura perdu la joie d'être ingénieur. Comme un enfant jouant au Jenga. Au bout d'un moment, cette personne finit par avoir elle-même son burn-out. Son enthousiasme l'a quitté. Son travail est devenu tout simplement un job.
  • L'épopée de la réalisation d'Eagle est comparée par Tom West à un jeu de flipper : Quelle est la récompense d'avoir gagné (mis sur le marché un ordinateur) ? Uniquement le droit de rejouer (créer un autre ordinateur).
  • Les personnes (ingénieurs ou pas) qui travaillent sur la machine ont toutes à cœur de livrer un quelque chose dont ils seront fiers, et qui n'a jamais été fait auparavant :
« The game around here is getting a machine out the door with your name on it »

Je termine cette série d'articles sur The Soul Of a New Machine en vous disant que le livre est loin de se résumer à ces quelques passages.

Les thèmes qui transparaissent dans ce livre sont nombreux et entremêlés, comme dans toutes activités humaines : motivations floues des protagonistes et figurants, dynamiques de groupe positives ou toxiques, naïveté et désillusions, considérations techniques et politiques, joies et désespoir, rivalités internes à l’entreprise et externes… plus ou moins tout y passe.

J’en conseille réellement la lecture au plus grand nombre.

Aurélien NARDINI

Un Système Sans Problème est une ressource de connaissances et de savoir-faire pratiques, avec exemples concrets.

Que vous soyez Chef de Programme, Chef de Projet, Architecte Système, Ingénieur, Manager dans l'Industrie, Etudiant ou Curieux de l'Ingénierie, vous êtes au bon endroit.

Au travers d'articles publiés régulièrement, découvrez ou révisez les Processus, Méthodes, Outils et Astuces utiles pour concevoir et piloter dans les domaines du Software, Firmware, de l’Électronique, et de la Mécanique.
 
Parce-qu'un produit fiable et industrialisable ne s'improvise pas !