L'externalisation des développements informatiques
analysé via l'HyperEspace du Danger.
![]()
Bernard Homès M. Sc., membre (Belge) de l'IEC est consultant, conférencier international et spécialiste reconnu en tests de logiciels. Il est aussi membre du bureau Français de l'IEEE (Assistant VP), et du Comité Aviseur de conférences sur la qualité logicielle, et participe au groupe de travail de mise à jour de la norme IEEE Std 1074-1997 (Standard for Developing Software Life Cycle Processes.
NDLR
Résumé
L'émergence de sociétés de services étrangères, dans des pays où une main d'uvre qualifiée à bas prix existe, liée à une réduction des coûts de communication, permet des réductions importantes des coûts de développement des logiciels. Ces pratiques, associées à une réduction des tests effectués en interne augmentent de manière inconsidérée les dangers liés à l'utilisation des logiciels.
L'état des choses
L'utilisation de ressources externes à l'entreprise pour effectuer des développements informatiques est une réalité bien ancrée dans nos économies et dans nos mentalités. Elle a donné lieu à la création de sociétés de services en ingénierie informatique (SSII) qu'il ne revient pas à cet article à mettre en doute.
Régies
Ces SSII mettent à disposition de leurs clients des ressources et des compétences pour exécuter, en leur lieu et place et à leur profit, des développements logiciels. Ce système, appelé communément « régies » est actuellement en place tant dans nos entreprises qu'au niveau de nos ministères. Il est considéré uniquement comme un prêt de main d'uvre (similaire à de l'interim) et les ressources mises à disposition sont dirigées par et sous la responsabilité du client. Ce sont des exécutants qualifiés et leur production est propriété du client.Divers causes ont amené à l'explosion des délais et des coûts des développements informatiques directement supportés par les clients. D'une part les coûts de main d'uvre (taux horaire) importants, mais surtout des délais non tenus en sont les causes principales. L'origine des délais est souvent à imputer à des spécifications imparfaites, à des soucis techniques (technologies immatures, surévaluation des possibilités, etc). Le résultat est que 75% des projets ne se terminent ni dans les temps ni dans les délais, voire sont abandonnés, que les directions financières voient les coûts de réalisation augmenter et le retour sur investissement informatique en chute libre.
A juste titre les actionnaires et les responsables des entreprises souhaitent mettre un frein à cette hémorragie.
Forfaits
La solution proposée est de rapatrier les ressources humaines &endash; qui déjà n'appartenaient pas à la société cliente &endash; dans leurs SSII respectives et de leur faire exécuter le même travail à distance et dans les locaux de la SSII.Il y a donc un transfert de responsabilités depuis le client vers le sous-traitant. Ce dernier s'engage à réaliser des développements spécifiés pour un montant pré-déterminé. La mise en concurrence des diverses SSII entraîne une poussée sur les coûts, théoriquement sans impact sur les services fournis.
Il est évident que la réduction des coûts pour la production d'un logiciels déterminé ne peut s'effectuer qu'au dépend soit des services fournis (réduction des actions entreprises pour le même prix) soit au dépend des frais de production, c'est à dire du prix de la main d'uvre.
En France, les SSII utilisent les forfaits pour rentabiliser des ingénieurs informaticiens débutants. L'encadrement et l'interface avec le client est effectué par des personnels expérimentés, mais la réalisation effective est du ressort de débutants (sous) payés et peu qualifiés. Les délais n'étant généralement pas tenus et les tests étant positionnés sur le chemin critique, ces derniers sont réduits à la portion congrue et passent souvent à la trappe.
La politique généralement pratiquée par les SSII est de comptabiliser toute demande du client comme une modification nécessitant révision des coûts et délais, de façon à amortir les autres corrections. L'économie souhaitée par le client est rapidement nullifiée, surtout si les spécifications n'étaient pas correctement définies.
Il en résulte, pour le client, un danger de dépassement des coûts et des délais, alors même que cette solution avait été envisagée pour se prémunir de ces risques.
Les Dangers de l'externalisation des forfaits
L'externalisation des forfaits permettrait à la société cliente de se concentrer sur son métier principal (son cur de métier), et à la SSII de mettre en uvre son savoir faire technique. Les difficultés ne manquent cependant pas pour chacune des parties : la SSII ne connaît pas le métier de son client, ni ses méthodes de travail, voire les habitudes de ses utilisateurs ; le client &endash; en se débarrassant des équipes techniques &endash; limite d'autant la maîtrise qu'il a d'un logiciel qui, à terme, devra lui fournir un avantage économique.Les divers problèmes peuvent généralement trouver une solution facile : il suffit de décrocher son téléphone, les interlocuteurs partagent les mêmes langues et valeurs culturelles, sont dans le même fuseau horaire et si besoin peuvent se déplacer à peu de frais.
Le nombre restreint de clients et le nombre important de SSII permet de garantir que les SSII chercheront à maintenir des liens privilégiés avec leurs clients, d'une part pour préserver le marché (très juteux) des maintenances correctives et adaptatives, d'autre part pour garantir leur part au sein d'un marché réduit.
L'expérience des clients dans ce type d'externalisation est généralement réduite, l'attrait des économies potentielles en garanti cependant un développement important dans le futur.
Lors de la livraison des logiciels par les SSII aux clients, le client a besoin de s'assurer que le produit livré correspond bien à ce qui a été commandé. Comme ces produits ne sont jamais mis en uvre directement au niveau de toute l'entreprise, il est nécessaire de prévoir des périodes de validation. Ces périodes dites (par exemple) de VSR &endash; Vérification de Service Régulier &endash; s'effectuent généralement par un nombre réduit d'utilisateurs mettant en uvre un petit nombre de cas de tests. Souvent aucune vérification du niveau de performance en charge n'est effectué avant la mise en production à grande échelle, avec les dangers que l'on peut imaginer.
L'externalisation des développement revient à mettre dans les mains d'une tierce partie l'avenir de la société. L'externalisation des tests, ou leur absence fait courir un risque encore plus important car seuls les tests permettent de vérifier que les développements correspondent aux besoins.
Les dangers ici sont bien présents au niveau des différents axes de l'HyperEspace :
Niveau Statistique : le développement de logiciels est encore une activité manuelle, non industrielle, dépendant fortement des problèmes et des spécificités à traiter. La disponibilité proche d'experts techniques partageant la même culture permet de réduire ce risque.
Niveau Epistémique : les modèles d'algorithmes et de conception, ainsi que le partage des méthodes obtenu par une culture commune permet de limiter, mais pas d'éliminer, ce risque. Il est à la charge du client de vérifier que les prétentions de la SSII sont justifiées. Ceci nécessite de la part du client la présence d'experts techniques ou l'utilisation de sociétés spécialisées dans la vérification et les tests de logiciels.
Niveau Finalités : les finalités d'une SSII sont l'obtention de nouveaux marchés et l'augmentation de son chiffre d'affaires. Le marché national étant réduit il est raisonnable de penser que les SSII nationales ne se risqueront pas à avoir un client insatisfait. De plus la carotte qu'est l'attribution des marchés de maintenance permet aux SSII d'envisager de récupérer dans ces marchés les manques à gagner subis lors du développement.
Niveau Déontologique : les législations sur la propriété industrielle, voire la sécurité des informations, sont d'application pour les sociétés nationales et les recours sont aisés. Des contrôles pouvant être effectués aisément auprès des sous-traitants, par les donneurs d'ordres, les règles et réglementations peuvent facilement être appliquées. Les lois et règlements sur la confidentialité des informations personnelles par exemple sont les mêmes pour toutes les sociétés nationales.
Niveau Axiologique : comme toutes les sociétés nationales, les SSII partagent un système de valeurs similaires. Les transferts de personnels &endash; et de connaissances &endash; étant aisés, tout manquement risque d'être rapidement découvert.
L'externalisation en Off-Shore
L'explosion des délais et des coûts de développement à amené les clients à souhaiter solutions encore meilleur marché, ce qui a été rendu possible par la réduction des coûts de communication internationales et par l'avènement du réseau mondial Internet.
La solution proposée est évidente : à partir du moment où les équipes de développement ne sont plus localisées chez le client, elles peuvent être délocalisées n'importe où sur la planète, que ce soit de l'autre côté de la rue, à 100, 1000 voire 10000 kilomètres.
Cette solution permet de diminuer très fortement les coûts de main d'uvre. A première vue l'on se trouve dans une simple évolution du concept de forfait, mais il y a des aspects qu'il est bon de prendre en compte : la barrière de la langue, de la culture, la confidentialité des informations, les dangers de perte de savoir faire pour n'en citer que quelques uns.
Les Dangers de l'Off-Shore
L'utilisation de sociétés off-shore (Inde, Pakistan, Philippine) pour effectuer les développements logiciels est une tendance qui se manifeste de plus en plus et permet de bénéficier des coûts de main d'uvre moindres pratiqués à l'étranger. Cependant, une société externalisant ses développement à l'étranger cumule les difficultés. Outre les problèmes de différence de langues (amenant des problèmes de compréhension), de gestion et de planification habituels, les sociétés faisant appel à ces solutions devraient posséder des documentations de tests (plans, dossiers, procédures) leur permettant de valider les développements effectués et de contrôler efficacement les logiciels fournis. L'externalisation des tests revient à mettre dans les mains d'une tierce partie l'avenir de la société, ainsi qu'un nombre non négligeable de ses secrets de fabrication.
Les dangers ici sont bien présents au niveau des différents axes de l'HyperEspace :
Niveau Statistique : l'expérience montre que la sous-traitance peut fonctionner pour des produits peu différenciés. Le développement de logiciels est encore une activité manuelle voire artisanale, non industrielle, dépendant fortement des individus, problèmes et spécificités à traiter. L'aspect statistique peut aussi jouer en faveur des sociétés off-shore : le client sollicitant un développement perd son caractère privilégié dans un marché mondial. Des sociétés de développement indiennes de plusieurs dizaine de milliers de développeurs ont une indépendance envers leur clients que ne possèdent pas les SSII nationales. Elles sont en position de force car l'argument de prix joue fortement en leur faveur.
Niveau Epistémique : l'application de modèles économiques provenant du monde industriels (production à bas coûts à l'étranger) pourraient amènera nécessairement les pouvoirs publics à la mise en place de normes pour les logiciels similaires aux normes (p.ex. NF ou CE) en place pour divers objets d'importation. L'utilisation de modèles nationaux pour la validation de certaines valeurs est un exemple simple : en France les codes postaux sont numériques sur 5 positions, en Belgique ils sont numériques sur 4 positions, au Canada ils sont alpha numériques sur 6 positions &endash; en deux séries de 3 caractères - , composés d'une lettre, suivie d'un chiffre puis d'une lettre pour le premier triplet et d'un chiffre, d'une lettre et d'un chiffre pour le second triplet. Ce sont cependant des cultures - francophones &endash; similaires. Autre exemple : la culture occidentale utilise une lecture de gauche à droite, donc un graphique croissant sera plus faible à gauche et plus important à droite. Dans les pays musulmans et en Israël, où la lecture s'effectue de droite à gauche, le même concept est inversé, résultant en des représentations graphiques peu compréhensibles pour des occidentaux.
Niveau Finalités : les finalités d'une société off-shore, en développant en sous-traitance des logiciels, sont l'obtention de nouveaux marchés et l'augmentation de son chiffre d'affaires, cela au niveau planétaire. Pour le client faisant appel à ces sociétés off-shore, l'objectif est de bénéficier de logiciels développés à un moindre coût. Les logiciels étant de plus en plus un moyen de développer un avantage économique (coût, temps de réponse, ) il est important de noter que la dépendance de nos économies envers l'étranger tendra à s'accroître. Nos économies seront ainsi plus fragilisées.
Niveau Déontologique : les législations sur la propriété industrielle, voire la sécurité des informations, ne sont pas une priorité dans des économies en développement, contrairement à nos économies. Les contrôles et tests pouvant être effectués par les sous-traitants n'étant pas effectués par les donneurs d'ordre, aucun contrôle n'est réalisé. Il est possible que les sociétés de développement off-shore pourront mettre au point des applications concurrentes à celles développées pour leurs clients, simplement en réutilisant les composants optimisés pour différents clients.
Niveau Axiologique : Les sociétés off-shore ont certainement des professionnels de haut niveau, qui ont probablement effectué leurs études dans des universités occidentales. Cependant rien ne garanti que les valeurs de ces professionnels correspondent aux valeurs de notre société. Les exemples de malversations à caractère criminel sont déjà importants au sein de notre civilisation, il tombe sous le sens que la mise à disposition de personnes mal intentionnées d'informations économiques, techniques ou scientifiques à caractère confidentiel est la porte ouverte à des dangers importants.
Comment éliminer ces dangers ?
Les dangers des régies
Les risques des régies sont similaires à ceux que prend chaque société développant un logiciel informatique pour ses besoins propres. En cas d'ambiguïté des spécifications, la personne qui les a rédigé, voire les utilisateurs peuvent être interrogés pour lever ce doute.
Les axes épistémiques, axiologiques et finalités sont partagés par les internes et par les personnels en régie de par leur proximité physique (ils sont dans les mêmes locaux).
Des dangers sont cependant présents quand le respect de règles déontologiques de développement n'est pas imposé avec rigueur, ou quand des tests ne permettent de valider les développements.
Les dangers des forfaits nationaux
Les risques d'externalisation sont importants, surtout dans la mesure où le client se débarrasse de ses responsabilités de vérification du bon fonctionnement des applications développées. S'il se repose entièrement sur les dires de son fournisseur, il s'expose à des dangers qui menaceront la survie financière de son entreprise.
Les lois du marché étant les mêmes pour les différents acteurs, des recours judiciaires sont cependant possibles.
Les dangers de l'Off-Shore
Parmi les dangers de la sous-traitance de forfaits de développement vers des sociétés off-shore, il est nécessaire de prendre en compte (liste non limitative) :
la différence de fuseau horaire et/ou de jours de congés hebdomadaires rendant les communications orales plus difficiles (le week-end des pays musulmans s'effectue les jeudi et vendredi, ne laissant plus que 3 jours de travail simultané)
les limitations imposées par certains pays sur l'exportation de technologies sensibles utilisables à des fins militaires (type de processeurs, techniques de cryptographie, etc)
les besoins de sécurisation des liaisons informatiques entre sous-traitant et maître d'uvre (sécurisation des liaisons, chiffrement des données, ), de sécurisation physique des informations chez le sous-traitant alors que ce dernier est dans un autre pays,
les aspects de respect des normes internationales (ISO15xxx,CMM et CMM-I) et les différences d'interprétation de celles-ci en fonction des spécificités locales,
les risques de conflits économiques ou non entre les pays des parties en présence,
les garanties de non utilisation, par le sous-traitant, d'autres sons-traitants ainsi que la preuve du respect par le sous-traitant des lois sur la copie des logiciels.
A ces aspects, il est nécessaire d'ajouter les dangers évoqués pour les forfaits nationaux. En outre, il faut noter que les rapports de forces sont inversés, au bénéfice de la société off-shore. De plus les recours légaux sont nettement plus restreints et sensiblement plus longs et coûteux.
Pour éliminer ces dangers, il est nécessaire que les clients mettent en place des équipes de tests (internes ou externes) qui partagent leurs valeurs et qui peuvent effectuer &endash; en régie ou sous forme de forfaits nationaux &endash; les vérifications nécessaires à valider les développements effectués. La mise en place d'équipes d'audit pouvant vérifier sur place les dangers évoqués ci-dessus permet aussi de réduire ces derniers.
Propositions
La mise en place, au niveau national ou européen, de programmes de certification des applications comme ceux mis en uvre par le FDA (pour ce qui traite des aspects médicaux aux USA) ou la FAA (pour les aspects de l'aviation), ou la mise en place de logos industriels (cf certified for Microsoft) permettant d'assurer un fonctionnement minimal est une solution qui peut être envisagée. Elle forcerait une vérification du fonctionnement des applications sur base de critères définis. Une telle solution est en cours d'installation pour les logiciels de la santé au Québec.
L'instauration d'obligations de garanties gratuites annuelles, voire d'une durée supérieure (elles est déjà décennale pour les constructions), avec obligation de correction permettrait de limiter les tentations de fournir un logiciel de qualité douteuse.
La certification des SSII dans le cadre de programmes tels ISO 9000 ou CMM ne permet pas de garantir la qualité des résultats produits. De tels programmes de certification ne permettent que de garantir que des processus sont suivis. Par contre, la certification des développeurs au sein d'ordres professionnels - similaires à l'Ordre des Médecins par exemple &endash; liés à l'obligation d'inclure des testeurs certifiés dans toute équipe de développement permettrait de limiter les dangers en rendant les développeurs directement responsables de leurs actions.
L'obligation de prise d'assurance &endash; similaires aux assurances responsabilité civile des constructeurs - permettrait de limiter les risques des SSII en garantissant aux clients une rétribution financière. De telles assurances permettraient aussi de couvrir les risques encourus par les développeurs et les testeurs dans le cadre de la certification de ces derniers.
La sensibilisation des managers et responsables informatiques est un mode de sensibilisation, mais ne doit pas être le seul, surtout que les interlocuteurs sont confrontés à des impératifs économiques et à des sollicitations de toutes parts.
La participation et l'implication de l'Institut Européen de Cindynique permettra de fournir une vue indépendante et experte, en tant que conseil auprès des autorités et/ou auprès des sociétés d'assurances.
Bernard Homès
Consultant,
bhomes@tesscogroup.com
Source : IDC, pertes mensuelles potentielles 363 millions de USD soit plus de 4 milliards d'euros en 2002