Le développement offshore peut-il tenir enfin ses promesses ?

Par Corné Human, Product Line Manager, Borland Software Corporation

D’après les recherches menées par le cabinet renommé « Standish Group », deux tiers des projets logiciels dans le monde sont considérés comme des échecs ; plus de la moitié dépasse les budgets alloués et 84 % se concluent par des dépassements de toutes natures. Pour beaucoup d'entreprises, le développement offshore semblait apporter une réponse intéressante pour contourner ces problèmes — et notamment celui du coùt.

Malheureusement, force est de constater que la plupart de ces projets ne font guère mieux que leurs équivalents purement locaux... La cause majeure de ce problème récurrent est que, très souvent, le seul vecteur de communication des objectifs du projet à l'ensemble de l'équipe reste... le traitement de texte. En d’autres termes, la plupart des équipes de développement ne peuvent s’appuyer que sur des documents statiques et unidimensionnels pour prendre connaissance des besoins.

Inconvénients de communiquer les exigences en format documentaire

Les documents Word ne sont pas le meilleur véhicule pour ces informations dans la mesure où ils ne permettent pas de relayer efficacement les instructions à tous les intervenants et à toutes les fonctions impliqués dans un projet donné. Il est notamment impossible d’utiliser cette méthode sommaire pour représenter l’ensemble du processus métier que reflète le logiciel. Pourtant, ces documents qui ne devraient être que l'une des composantes informationnelle, finissent invariablement par devenir le « réceptacle » privilégié également pour les processus.

Les projets offshore mettent clairement en lumière tous les inconvénients d'une approche essentiellement orientée sur le traitement de texte et des systèmes inefficaces de gestion des besoins dans la mesure où ils introduisent de nouvelles variables et challenges : terminologie spécifique d’entreprise, ambiguïté des exigences, divergences d’interprétation, fuseaux horaires, différences géographiques et linguistiques, etc.

Dans ce contexte, la clarté de chaque étape est particulièrement cruciale dans la mesure où il n’est pas possible de tenir les traditionnelles réunions en face à face pour prendre en compte les subtilités ni les complexités propres aux projets de développement de logiciels. Il devient rapidement très difficile de communiquer les exigences propres à chaque projet («la voix du client»), et encore plus problématique de coordonner les changements en cours de projet et de les relayer à chaque développeur dès qu’ils surviennent.

Bien que le changement soit une constante, beaucoup d’entreprises sont toujours cruellement sous-équipées pour y faire face… Les notifications oubliées ou connues avec retard sont légions…Cependant, certaines entreprises, encore minoritaires, commencent à déployer des modèles de processus métiers de haut niveau et des outils de gestion du changement pour automatiser et rationaliser les flux, les tâches et les prises de décisions.

Ce manque de suivi du changement contribue sans aucun doute aux défauts de performance des projets logiciels dans l’atteinte de leurs objectifs métiers ou financiers. Même les logiciels les mieux écrits sont appelés à être sans cesse modifiés en fonction des demandes de changement ; les avantages financiers initiaux de l’offshoring et de l’externalisation sont la plupart du temps perdus en raison de ces coùts récurrents.

Une solution de gestion des besoins pour «rapprocher» les ressources offshore

Certaines entreprises ont entrepris de gérer le changement tout au long du cycle de vie de leurs logiciels en mettant en œuvre un processus discipliné pour optimiser la synergie entre les implémentations informatiques et les besoins métiers. Ces derniers sont alors formellement articulés, priorisé et actés par tous les intervenants : utilisateurs, acteurs fonctionnels et informatiques, etc. Dès lors, le projet peut démarrer sur la base d’une parfaite compréhension mutuelle (personne ne pourra s’en dédire à mi-chemin en déclarant : «Mais pourtant, je croyais que ça devait faire ça ! »), et surtout, l’adoption de processus disciplinés et cohérents simplifie la gestion des changements de besoins qui se présenteront immanquablement au cours du cycle de vie du projet.

Les outils de gestion des besoins permettent d’automatiser la communication simultanée des changements auprès de tous les membres affectés des équipes de développement et favorisent également l'information des intervenants qui ont manifesté leur intérêt sur un besoin particulier. Par exemple, un collaborateur du service marketing – bien que n’étant pas directement impliqué par le projet – peut manifester son intérêt (à travers le système de gestion des besoins) pour les fonctionnalités de facturation dans la mesure où il souhaite s’assurer que les clients bénéficient d’un service de remboursement automatique en cas d’erreur de facturation.

La plate-forme de gestion des besoins garantit également que tous les changements et ordres de mission sont ratifiés par une personne ayant l'autorité requise ; en d'autres termes, les nouvelles charges ne sont encourues que lorsque leur pertinence a été clairement établie.

Le point de départ de ce processus consiste à accepter que les changements sont inévitables et que leurs coùts induits ne peuvent être maîtrisés qu’avec une mécanique précise d’évaluation des conséquences et de communication en temps réel avec tous les intervenants concernés.

Un système performant d’analyse d’impact permet de clairement mesurer l’étendue des conséquences d’un changement sur les processus, les modules livrables associés et les coùts et délais. En outre, seul un système automatisé peut assurer la traçabilité de l’intégralité du processus et fournir une analyse d’impact pertinente – et l’on sait à quel point ce domaine est rarement bien couvert dans les environnements actuels.

Les intervenants impliqués par une proposition de changement peuvent être très facilement localisés — puis connectés à une conférence téléphonique ou vidéo — pour débattre de la faisabilité et des implications de la modification et des autres alternatives en cas de facteurs prohibitifs.

La mise en œuvre de pratiques avancées de gestion des besoins permet également un meilleur contrôle des projets ; après avoir établi la « baseline » des besoins dès l’initialisation du projet (définissant le jeu de fonctionnalités à développer pour réussir), cette synthèse est approuvée formellement par l’utilisateur final (le client du logiciel), le détenteur du budget et l’équipe de projet — et le sera à nouveau après accord sur chaque changement majeur.

A chaque changement, l’équipe peut visualiser l’ancienne et la nouvelle version pour valider si les spécifications sont toujours conformes à tous les objectifs originaux. De cette façon, toute déviation par rapport aux objectifs stratégiques peut immédiatement être localisée et évitée si elle peut conduire à un déraillement du projet.

Cette nouvelle visibilité et ce meilleur contrôle sont particulièrement importants lorsque les intervenants sont disséminés dans le monde entier dans la mesure où chacun a accès — où qu’il soit — à toutes les informations utiles pour remplir sa mission dans un environnement sécurisé. Chaque intervenant est ainsi plus performant en sachant que la « voix du client » lui est bien parvenue dans un énoncé clair et cohérent grâce au référentiel central des exigences client.

Ce processus permet également de synchroniser les procédures de test avec les changements fonctionnels. Quand la communication repose simplement sur du traitement de texte, les chefs de projets ont souvent de grandes difficultés à communiquer les nouveaux besoins de test rendus nécessaires par chaque modification. Dans le meilleur des cas, cela n’est « que » problématique mais cela peut avoir des conséquences beaucoup plus lourdes, notamment de responsabilité légale quand il s’agit de projets concernant les sciences de la vie, le médical, la défense ou d’autres secteurs à forte composante réglementaire.

Ces processus et technologies permettent également aux entreprises qui mènent simultanément plusieurs projets de capitaliser sur leur expérience pour optimiser leur productivité grâce à des tableaux de bord de performance. Pour la première fois, il devient possible de documenter les apprentissages clés et les pratiques d’excellence afin que chaque nouveau projet bénéficie de l’expertise acquise lors des précédents.

La gestion de projets dans un contexte en perpétuelle mutation représente un challenge pour toutes les disciplines qui se pose avec une particulière acuité dans l’univers du développement logiciel où les experts doivent « écrire l’avenir » en exploitant les leç ;ons apprises dans un passé proche, lui-même en constante évolution... Grâce à l’association de pratiques performantes de gestion des besoins et d’outils automatisés pour les supporter, le développement offshore semble disposer aujourd’hui d’une plate-forme qui lui permettra finalement de tenir ses promesses.

Print Page