Le logiciel de vol du 737 Max est défectueux, car Boeing a confié le travail à des ingénieurs payés 9 $/h ?


Oui, selon d’anciens employés du groupe

De récents tests sur simulateur effectués par la FAA que les problèmes logiciels du modèle le plus vendu de Boeing sont plus complexes. Les actions de la société ont chuté cette semaine après que l’organisme de réglementation de l’aviation civile aux États-Unis ait découvert que le traitement des données par l’ordinateur de bord du 737 Max pouvait causer un décrochage soudain et imprévisible que les pilotes avaient beaucoup de mal à corriger pour reprendre rapidement le contrôle de l’avion. Les effets de ce dysfonctionnement sont similaires à ceux qui ont été observés avec la version initiale et défectueuse du MCAS (ou Maneuvering Characteristics Augmentation System) du Boeing 737 Max – son système de stabilisation en vol – même s’ils ont des origines différentes.

Depuis la découverte de cette nouvelle défaillance, l’autorité de réglementation de l’aviation civile aux USA a ordonné à l’avionneur américain d’apporter de nouvelles modifications à la conception de son jet, des changements qui vont probablement rallonger le processus de certification du 737 MAX modifié quand on sait que cet avion représente plus de 75 % du carnet de commandes de la société. Mais, pour le moment, il est difficile de savoir si l’atténuation de cette faille exige une simple mise à jour du logiciel du bord ou des changements plus en profondeur de l’avion lui-même, sachant que certains experts du milieu tels que Gregory Travis, ingénieur logiciel chevronné et un pilote expérimenté, estiment qu’une mise à jour logicielle ne peut pas compenser les défauts de conception de cet avion et préconisent une révision complète du design de l’appareil.

Néanmoins, un mystère subsiste au cœur de la crise qui frappe actuellement Boeing : comment une société de cette envergure, qui plus est, réputée pour son design méticuleux a-t-elle pu laisser passer des erreurs logicielles apparentes qui ont conduit à deux accidents mortels ?

Des ingénieurs de longue date de Boeing pensent avoir la réponse à cette question. Ils affirment que le logiciel défaillant du 737 Max a été mis au point à un moment où Boeing congédiait des ingénieurs expérimentés et faisait pression sur les fournisseurs pour qu’ils réduisent leurs coûts. Selon eux, c’est la tendance de l’avionneur américain à faire sous-traiter certaines opérations auprès d’entrepreneurs moins bien rémunérés, notamment celles en relation avec le génie logiciel, qui l’a conduit dans cette impasse. Afin de mener à bien certaines opérations clés, notamment celles liées au développement et au test de ses solutions logicielles, Boeing et ses sous-traitants auraient pris l’habitude de faire appel à des travailleurs temporaires, gagnant à peine 9 dollars de l’heure, souvent issus de pays dépourvus de connaissances approfondies en aérospatiale, notamment en Inde.

L’externalisation de services IT serait-elle la véritable responsable des tragédies d’octobre et de mars dernier ? Un développeur devrait-il forcément venir d’un pays très avancé dans un domaine particulier ou avoir des connaissances relatives à ce domaine pour être considéré comme apte à faire du développement logiciel pour une entreprise de ce secteur ?

Un avion de ligne typique comme le 737 Max compte des millions de pièces et des millions de lignes de code. Les ingénieurs qui ont travaillé sur le Max que Boeing a commencé à développer il y a huit ans pour concurrencer un avion rival d’Airbus, se sont longtemps plaints de la pression exercée par les responsables de l’entreprise pour limiter les changements susceptibles d’introduire des délais et des coûts supplémentaires. Mais l’externalisation a longtemps été un point sensible pour certains d’entre eux qui, en plus de craindre des pertes d’emplois, affirment qu’elle a entraîné des problèmes de communication et des erreurs.

« Boeing faisait toutes sortes de choses, tout ce que vous pouvez imaginer, pour réduire les coûts », a confié à ce sujet Rick Ludtke, ancien ingénieur des commandes de vol de Boeing remercié en 2017. « Tout ceci est très compréhensible si vous voyez les choses du point de vue des entreprises. » Mais au fil du temps, il semble d’après lui que cette politique ait eu des conséquences néfastes sur la capacité et la qualité de conception du groupe.

Mark Rabin, un ancien ingénieur en logiciel de Boeing ayant travaillé dans un groupe d’essais en vol qui soutenait le Max, semble partager cet avis. Il a rapporté à ce propos que les ingénieurs de Boeing se contentaient d’écrire le code, alors que ceux de HCL, un éditeur de logiciels basé en Inde qui a des bureaux à Seattle près du site de Boeing, concevaient généralement les spécifications définies par Boeing. Cette façon de faire était, selon lui, contreproductive, rappelant qu’il a fallu faire « plusieurs allers-retours » parce que le travail n’était pas fait correctement.

Sur la base de leurs CV publiés sur les réseaux sociaux, les ingénieurs de HCL ont aidé à développer et à tester le logiciel d’affichage du vol du 737 Max, tandis que des employés d’une autre société basée en Inde, Cyient, s’occupaient du logiciel des simulateurs de vol. Dans une publication, un employé de HCL souligne dans sa description de tâches qu’il a fourni « une solution de contournement rapide afin de résoudre un problème de production, ce qui a permis de ne pas retarder le test en vol du 737-Max », un retard qui aurait pu coûter cher à Boeing.

Les concepteurs d’avions comme Airbus ou Boeing délèguent depuis longtemps une grande partie du travail à des fournisseurs qui suivent ses plans détaillés de conception. Assurant que l’externalisation apporte une plus-value en termes d’efficacité en travaillant 24 heures sur 24 en plus de soutenir les ventes, de nombreuses sociétés s’appuient sur des spécialistes offshore pour les accompagner dans leurs opérations. Avec un dollar fort, le prix constitue un moteur important de cette externalisation : les ingénieurs en Inde gagnaient environ 5 dollars l’heure – 9 ou 10 dollars maintenant -, contre 35 à 40 dollars pour les Américains avec un visa H1B.

Mais, Vance Hilderman, un consultant en sécurité avionique comptant trois décennies d’expérience déplore le fait que « l’ingénierie a commencé à devenir une marchandise ». Les firmes américaines d’avionique en particulier se sont déplacées de manière agressive, transférant à l’international plus de 30 % de leurs activités de génie logiciel, contre 10 % pour les entreprises basées en Europe ces dernières années, a ajouté Hilderman.

À ce propos, Mark Rabin, licencié par Boeing en 2015, a mentionné un responsable qui avait déclaré lors d’une réunion que Boeing n’avait pas besoin d’ingénieurs expérimentés, car ses produits étaient matures : « J’ai été choqué de constater que, dans une salle occupée par deux cents ingénieurs, principalement des ingénieurs de haut niveau, on nous disait qu’on n’avait pas besoin de nous ».

Pour clarifier la situation, Boeing a rappelé que les ingénieurs de HCL et Cyient ne sont pas impliqués dans les opérations de remise à niveau du MCAS, le dispositif de stabilisation en vol du 737 Max dont le dysfonctionnement serait vraisemblablement à l’origine du crash d’un jet de Lion Air en octobre et d’un autre de la compagnie Ethiopian Airlines en mars dernier. Boeing a également déclaré qu’il ne s’appuie sur aucune des deux sociétés susmentionnées pour résoudre un autre problème logiciel révélé après ces deux accidents mortels – le dysfonctionnement d’un voyant lumineux dans le poste de pilotage : il ne fonctionne pas sur tous les appareils, alors qu’il le devrait.

Dans un communiqué, HCL a déclaré qu’il a « une relation d’affaires solide et de longue date » avec le géant Boeing : « Nous sommes fiers du travail que nous faisons pour tous nos clients. Cependant, HCL ne commente pas le travail spécifique que nous réalisons pour nos clients. HCL n’est associé à aucun problème en cours avec le 737 Max », a précisé l’entreprise indienne. Signalons au passage qu’en 2011, l’avionneur américain a ajouté Cyient, autrefois Infotech, à la liste de ses « fournisseurs de l’année » pour la conception, l’analyse de contraintes et le génie logiciel des Boeing 787 et 747-8.

Le rapprochement entre Boeing et les sociétés indiennes n’étaient, semble-t-il, pas dénué d’intérêt, car il aurait permis à l’avionneur américain de remporter plusieurs commandes d’avions militaires et commerciaux en Inde, un pays qui favorise généralement le géant Airbus. En 2017, Boeing a obtenu un contrat de 22 milliards dollars avec SpiceJet pour la fourniture de 100 737 Max qui représentait la plus importante commande de Boeing jamais passée par une compagnie aérienne indienne. Et bien avant cela, en 2005, en échange d’une commande d’Air India de 11 milliards de dollars, Boeing avait promis d’investir 1,7 milliard de dollars dans des sociétés indiennes. C’était une aubaine pour Cyient, HCL et d’autres éditeurs de logiciels indiens désireux de percer dans le marché de l’aérospatiale.

Le 737 Max est rapidement devenu le produit phare après sa mise en service. Il dérive de la mise à jour d’un modèle vieux de 50 ans et les modifications devaient être limitées pour permettre à Boeing de produire les nouveaux avions avec le minimum de contraintes, que ce soit au niveau de la chaîne de montage ou pour les compagnies aériennes. La conception de cet avion a violé le principe de base de la redondance, notamment en matière de sécurité, et la société n’a apparemment jamais testé le comportement du logiciel de vol de son appareil dans son intégralité. Pour Peter Lemme qui a conçu les commandes de vol automatisées du Boeing 767, le projet 737 Max fut « un échec stupéfiant ». D’après lui, « beaucoup de gens auraient dû penser à ce problème – pas une seule personne – et poser des questions à ce sujet ».

Lire aussi : Boeing prévoyait d’attendre trois ans avant de résoudre son problème d’alerte de sécurité sur le 737 Max

Sources : Developpez.com par Christian OlivierBloomberg


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *