Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Une histoire de développeurs, de disruption et de survie à l’ère des data :
Le Projet Unicorn
Un roman de Gene Kim

Ce livre édité par les Éditions Quanto (Presses de l’École polytechnique fédérale de Lausanne) sera mis en vente le jeudi 24 septembre 2020. Disponible au format Epub sans DRM chez certaines librairies en ligne.

Article mis en ligne le 23 septembre 2020
dernière modification le 25 septembre 2020

par Laurent Bloch

Ce roman plein de rebondissements et d’affrontements à l’issue indécise se déroule au sein d’une entreprise américaine de vente au détail de pièces détachées et de produits de maintenance pour automobiles, Parts Unlimited, d’une valeur de quatre milliards de dollars. Les développeurs y défendent leur vie contre bureaucrates et financiers à courte vue, et pour cela ils doivent révolutionner l’entreprise de la cave au grenier. Mais les décisions des actionnaires sont sans appel !

L’auteur, Gene Kim, a exercé en tant que chercheur à l’Université d’Arizona (Tucson) et à l’Université Purdue, mais il a aussi participé à la création de trois entreprises, dans les secteurs DevOps et cyber-sécurité. C’est dire qu’il possède une solide expérience tant des aspects théoriques que de la vie quotidienne des applications informatiques. Publié aux Éditions Quanto (Presses de l’École polytechnique fédérale de Lausanne), disponible au format Epub sans DRM chez certaines librairies en ligne.

L’incident déclencheur

Au premier chapitre, Parts Unlimited est victime d’un grave incident informatique : la paie de septembre est fausse, plusieurs milliers d’employés n’ont pas pu être payés ou ont reçu des montants erronés. La direction exige que tombent des têtes, et l’héroïne du roman, Maxine Chambers, cheffe développeuse chevronnée et talentueuse, est désignée pour porter le chapeau (avec quelques autres) : d’un poste opérationnel à haute responsabilité, elle est mutée à la documentation du projet Phoenix, « le projet maudit de l’entreprise depuis des années, tristement célèbre pour avoir empêtré des centaines de développeurs sans résultat. » L’objectif de Phoenix est l’intégration des services commerciaux de l’entreprise et le développement de la vente en ligne afin de résister aux nouvelles entreprises nées sur l’Internet et aux géants de la vente sur le Web, mais jusqu’à ce jour il n’en est sorti que des pannes de réseau, des serveurs engorgés et des bases de données corrompues.

Une entreprise mal gérée, comme beaucoup

En fait, le paysage informatique de Parts Unlimited sera familier à quiconque aura traîné ses guêtres quelques années dans cet univers :

 L’informatique n’est pas traitée comme un actif stratégique et un moteur de développement, mais comme un centre de coûts et un « service support ».
 Quand les dirigeants trouvent que l’informatique coûte cher, ils l’externalisent, en totalité ou par parties. Puis ils constatent que les prestataires sont encore plus chers et assez mauvais, alors on réintègre ce qui avait été externalisé, avec de nouveaux personnels qui ne connaissent pas le terrain et commettent des bourdes.
 Le travail des informaticiens est perçu comme celui de terrassiers : si cinquante terrassiers ne vont pas assez vite pour créer un remblai, on les fouette plus fort. Et si cela ne suffit pas, on en ajoute cinquante de plus. Mais l’informatique, qui mobilise le cerveau plus que les bras, ne fonctionne pas ainsi, ajouter à un projet des personnels qui ne le connaissent pas va surtout créer des incohérences, des pannes et des retards supplémentaires.
 Après quelques années de ces errements, le système d’information de l’entreprise est un vaste foutoir, pour corriger on empile des échelons hiérarchiques et des règles de workflow qui ne font qu’ajouter aux lenteurs et aux blocages, cependant qu’au sommet on se gargarise avec les mots à la mode (IA, deep learning, Big Data...) alors qu’il n’y a rien derrière.

Risque de désertion des actionnaires

Il suffit de quelques années de ces pratiques, assaisonnées d’impulsions narcissiques de dirigeants plus ou moins lucides, pour que les actionnaires se disent que leur argent serait mieux placé ailleurs, et envisagent la vente des meilleurs actifs et le rétrécissement du périmètre, voire la liquidation de l’entreprise.

Comme l’auteur est américain, il ne méprise pas les actionnaires, il sait que sans eux l’entreprise n’aurait pas les moyens d’investir à hauteur suffisante pour tenir face à la concurrence. À charge pour la direction de l’entreprise de montrer que leur confiance est bien placée.

Impuissance

En exil, donc, sur le projet Phoenix, Maxine se morfond parce qu’elle ne peut rien faire : pour accéder à la moindre information technique il faut passer par un système de tickets (pas toujours le même !) qui prend un temps fou, aux points clés il faut obtenir des autorisations hiérarchiques encore plus chronophages, et de toute façon, une fois obtenus les coups de tampon administratifs, les procédures qui lui permettraient d’assembler les différentes pièces de Phoenix sur son ordinateur (l’opération de build, leitmotiv de toute la première partie du roman) ne fonctionnent pas.

En effet, les multiples équipes de développement du projet, entassées sans rien y comprendre dans des open spaces par une direction qui croyait en la vertu des gros bataillons, et enfermées dans des silos hiérarchiques, ont travaillé chacune avec leurs méthodes et leurs outils, sans coordination les unes avec les autres, et pour tout arranger les meilleurs développeurs, qui avaient une connaissance orale de l’architecture générale, ont depuis longtemps quitté le projet, voire l’entreprise, sans mettre leur savoir par écrit. Les praticiens du SI reconnaîtront une situation familière.

Rébellion

Maxine va trouver une issue, qui lui sera indiquée par Kurt, responsable d’assurance qualité. Kurt a compris qu’il n’y avait rien à espérer des circuits bureaucratiques officiels, et il organise la circulation clandestine des informations utiles. Il remet à Maxine un épais dossier qui contient les clés de licence, les identifiants pour accéder aux environnements de développement et tout ce qu’il faut pour générer un build de Phoenix. Munie de ces informations indispensables, Maxine va pouvoir construire une instance de Phoenix, commencer à travailler et, ce faisant, commencer à débusquer les incohérences et les goulots d’étranglement du projet, bref, donner la mesure de ses talents de programmeuse.

En fait, Kurt anime un petit groupe clandestin au sein de l’entreprise, la Rébellion, qui réunit des personnalités diverses de Parts Unlimited, mais surtout des « militants de base », des développeurs, des responsables d’exploitation ou de sécurité opérationnelle, tous décidés à sortir Parts Unlimited de sa léthargie en court-circuitant les procédures officielles. Maxine va bien sûr se joindre à eux.

Leurs adversaires ? Les bureaucrates confits dans l’immobilisme et la hiérarchie, et surtout, plus dangereux, les membres de l’état-major qui pensent que le meilleur moyen de s’attirer les bonnes grâces des actionnaires serait de vendre des actifs, de licencier le personnel correspondant, et ainsi de leur distribuer de l’argent. Ce serait une stratégie de décroissance de Parts Unlimited, considérée comme radicalement obsolète. La Rébellion veut relever ce défi, ce sera une lutte d’appareils.

Le redressement ou la mort !

Maxine et ses nouveaux amis vont entreprendre leur travail de résurrection du système d’information de l’entreprise en commençant par les composants les plus pourris. Maxine est une adepte de la programmation fonctionnelle, familière du langage Lisp : en appliquant ces principes, on arrive à découpler les différents composants du système, ce qui permet de les corriger et de les améliorer sans interférer avec les autres composants. En procédant ainsi les membres de la Rébellion vont réussir à dénouer petit à petit l’immense et inextricable plat de spaghettis en quoi consiste le SI de Parts Unlimited. Mais l’ennemi ne renonce pas à ses plans néfastes : je ne divulgâche pas la fin...

Un roman pour les développeurs

Bon, l’intrigue de ce roman se déroule dans un univers de développeurs, il emploie leur jargon et parle des objets de leur travail quotidien, que le commun des mortels ne connaît pas. Si le notion de build ne vous dit rien, si un passage tel que celui-ci : « ne perds pas de temps à essayer d’accepter des noms de fichiers contenant des espaces dans tes Makefiles, c’est trop compliqué. Impose l’utilisation d’un autre caractère. » ou celui-là : « Il y a dix ans, se souvint-il, j’ai perdu mon fichier de configuration Emacs et je n’avais pas de sauvegarde récente. Je n’ai pas eu le courage de tout reprendre à partir de zéro… alors j’ai simplement changé d’éditeur ! » n’évoquent rien pour vous, il va falloir sauter pas mal de passages (entre parenthèses, c’est très mal d’abandonner Emacs).

Mais si vous faites l’effort de sauter par dessus ces obstacles, ou si vous êtes tout simplement de la partie, ce roman vous plongera au cœur des problèmes de l’industrie contemporaine. Parce que pour les entreprises traditionnelles, il n’y a pas trente six alternatives si elles veulent survivre face aux entreprises créées dès le départ autour de leur SI, telle Amazon : soit elles s’imposent les transformations qu’imposent Maxine et ses petits camarades à Parts Unlimited, soit elles disparaissent.