Ingénierie logicielle : crise, quelle crise ?

Dans le numéro du magazine "Scientific American" de septembre dernier est apparu un article juteux sur l'ingénierie dite du logiciel. Permettez-moi de vous l'apporter ici, car vous y trouverez des données et des opinions d'intérêt.

De cette façon, nous sommes informés de la crise profonde de la construction de logiciels, mettant en évidence la science apparente, la technologie ou l'histoire contradictoire d'une science qui se développe constamment entre les échecs. Et les exemples d'illustration et les chiffres de dollars multi-zéro ne manquent pas.

D'une part, les experts assurent que dans les années à venir, en ce qui concerne l'utilisation des ordinateurs, de grands changements seront observés. Ils disent que nous sommes face à une explosion de logiciel réel. Par exemple, si le programme informatique du projet Apollo des États-Unis de 1970 avait environ 10 millions d'instructions, le soi-disant Space Shuttle des années 80 est arrivé à 40 millions. Dans le même sens, la quantité de code contenant les produits de consommation a doublé en deux ans.

Plus de lignes de programmes, bien sûr, augmentent considérablement la probabilité de faire des erreurs. Par conséquent, la prolongation possible des projets peut conduire à la suspension de ceux-ci. Selon les statistiques, à partir d'une certaine taille la probabilité de chancellerie peut atteindre 50%, son extension (si elle réussit à terminer!) double.

De plus en plus, l'industrie exige des systèmes distribués, c'est-à-dire des programmes exécutés sur des ordinateurs connectés au même réseau. Les problèmes surviennent lors de l'intégration de ces systèmes. À cet égard, le Consulting Group d'IBM a publié les résultats d'un sondage réalisé dans 24 entreprises de pointe. Les chiffres étaient effrayants: 55% du projet avait un coût supérieur à celui prévu, 68% ont été achevés en dehors de son délai et 88% ont demandé des restructurations profondes. Et l'enquête n'a pas noté une caractéristique importante : dans quelle mesure ils étaient fiables lors de l'exécution des programmes.

Cependant, les chiffres les plus étonnants ont été donnés dans le cas suivant: L'Administration Fédérale d'Aviation (FAA), avec l'intention de renouveler ou de remplacer complètement le système de contrôle du trafic aérien, a consacré cette fonction à la société Federal System Company d'IBM, pour la garantie qu'elle prévoyait comme leader dans le développement de logiciels.

Annonçant la complexité du projet, la DFA était prête à payer 500$ par ligne de programme, montant cinq fois supérieur à la moyenne des industries américaines dans leurs projets de développement. D'autre part, il ne faut pas oublier que l'industrie du Pays Basque, du moins en ce qui concerne le logiciel créé par les Centres Technologiques, reste assez éloignée de cette moyenne de 100$.

Après le lancement du projet, la DFA paie chaque ligne du nouveau logiciel entre 700 et 900$. La raison en est que chaque ligne de code a besoin d'une correction moyenne. Le programme, avec 5 ans de retard, dépasse le budget de plus d'un milliard de dollars.

Il convient de noter que la plupart des entreprises visées à l'article sont liées à l'administration. S'il n'a pas été surprenant du déficit budgétaire américain.

Le cœur de cette crise réside dans le fait que les logiciels, dans une large mesure, sont des produits artisanaux. Jusqu'à ce que le développement de logiciels devienne une véritable activité industrielle, il n'y aura pas de véritable révolution d'information. Cette préoccupation n'est pas d'hier matin. Dans les années 1970, on parlait de programmation structurée; dans les années 80 on parlait de systèmes CASE (Ingénierie de logiciel assistée par ordinateur); actuellement, de programmation orientée objet. Toutes ont été présentées comme la clé de la programmation systématique et productive, mais n'ont pas réussi à perdre la situation actuelle.

D'autre part, à mesure que l'industrialisation de la construction de logiciels progresse, il devient une tâche des pays en développement avec une main d'œuvre bon marché et qualifiée. Ainsi, par exemple, l'Inde a obtenu en 1994 une exportation de logiciels de 360 millions de dollars, une croissance de 60% par rapport à l'année précédente, alors qu'en 1985 les exportations de logiciels en Inde étaient de seulement 6 millions de dollars. Cela ne réduit pas votre dépendance. Architecture des systèmes, c'est à dire, activité à valeur ajoutée plus élevée, car il est fait aux États-Unis.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila