01net Pro Entreprise informatique
Actualités gestion et logiciel informatique professionnel
Offre et recherche Emploi informatique internet
Salon conférences inofrmatique IT ebusiness 01
Le Cloud Computing
Vidéos reportage entreprise acteur informatique
Retrouvez tous les services 01Net dédiés aux professionnels !
Télécharger logiciels Pro et progiciels
Livres blancs e-commerce informatique et nouvelles technologies
Retrouvez l'ensemble des dossiers de la rédaction 01net Entreprise
Les synthèses des bonnes pratiques sur les sujets IT du moment

Apprenez à gérer le cycle de vie de vos applications

Bien implantée dans les pays anglo-saxons, la gestion du cycle de vie des applications (ALM) reste une discipline encore méconnue en France. Cette solution nécessite de profonds changements dans les mentalités et les structures organisationnelles des équipes de toute l'entreprise.
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

L'industrie du logiciel semble frappée d'une fatalité : les échecs récurrents des projets informatiques. La fameuse étude Chaos Report du Standish Group montrait en 1994 que seulement 16 % des projets informatiques pouvaient être considérés comme réussis, c'est-à-dire livrés dans les temps, sans dépassement de budgets et conformes aux besoins utilisateurs.

Douze ans plus tard, la même étude montre une situation un peu moins catastrophique, puisque le taux de succès atteint 35 %. Les causes des échecs sont pourtant bien connues : besoins mal formulés, spécifications incomplètes ou inadéquates, manque de communication, documents de projets sans liens, sans traçabilité, manque de réactivité, pas de gestion du risque, outils trop complexes, mal intégrés ou trop chers, méthodes en inadéquation avec les outils et les hommes… L'enjeu est bel et bien aujourd'hui d'industrialiser les développements, c'est-à-dire de gérer le cycle de vie des applications.

Toutes les couches du projet sont impliquées

L'ALM (Application Lifecycle Management) regroupe plusieurs disciplines : depuis l'idée du projet – avec sa prise en compte dans une gestion de portefeuille de projets, la planification et le suivi, le recueil et l'expression des besoins impliquant les exigences, la conception de l'application avec la modélisation, le codage avec le développement, les tests qui prennent en charge la qualité, la gestion des objets du projet qui tient compte de la configuration, la gestion des activités, celle du changement, la pondération et l'arbitrage avec une prise en compte des risques, le déploiement, la maintenance et le pilotage des applications – jusqu'au retrait final de l'application (voir schémas pages suivante).

Le marché de l'ALM est un marché relativement jeune (une dizaine d'années) et en croissance constante. Selon un sondage publié par le cabinet d'études Forrester, en mars 2008, près de la moitié des entreprises utilisent déjà des processus ALM et près de la moitié restante en a connaissance. Cette proportion se vérifie dans les pays anglo-saxons et en Allemagne, mais la France se distingue par un retard important : seules 22 % des entreprises hexagonales utilisent déjà l'ALM et 26 % ne sont même pas au courant de l'existence de cette technologie ! Pourtant, en général, notre pays n'est pas en reste. La France a tendance à adopter rapidement les nouvelles technologies (Ajax, Web 2.0…) contrairement aux Etats-Unis, qui s'attachent d'abord aux solutions plus structurantes comme l'ALM, selon Marc Cherfi, consultant chez Octo Technology.

Une réorganisation forcée des équipes de développement

Pour l'heure, les offres ALM manquent encore de maturité, notamment en termes d'intégration et de simplicité. Mais elles apportent d'ores et déjà d'indéniables bénéfices pour la qualité et la productivité des développements. La mise en place d'une telle gestion du cycle de vie des applications nécessite un cadre méthodologique et une forte implication des équipes. Avec cette démarche, certains rôles pourront peut-être disparaître, d'autres vont apparaître ou muter. Des processus seront abandonnés, d'autres créés. La nouvelle répartition des tâches s'accompagnera d'une réorganisation des équipes, voire de l'entreprise tout entière. Ce sera l'occasion d'adopter une approche méthodologique ou une démarche d'amélioration.

De tels changements organisationnels ne se feront pas sans friction. Sans doute faut-il y voir le frein culturel voire idéologique à l'adoption de l'ALM dans les entreprises françaises. Mais l'Histoire est en marche et c'est le prix à payer pour passer du stade du développement artisanal à celui du développement industriel.

Un marché encore jeune en Europe

La France accuse un retard dans l'adoption de l'ALM, notamment face aux Anglo-Saxons, qui se lancent plus rapidement vers des solutions structurantes de ce type.

Glossaire

Désigne l'ensemble des disciplines qui conduisent à l'aboutissement d'une application : gestion des exigences, modélisation, développement, tests, gestion de configuration, gestion du changement. Plus qu'une simple collection d'outils, la gestion du cycle de vie orchestre les différents processus du développement. Dans une vision étendue à l'entreprise, l'ALM prend en compte les gestions du portefeuille de projets, de l'assurance qualité et de la performance des applications.

Solution qui collecte les besoins des utilisateurs, les hiérarchise, gère leurs priorités, leurs changements et assure la traçabilité avec les autres objets du projet qui lui sont liés (modèles, code, cas de tests). C'est la version moderne du cahier des charges. Concerne l'analyste fonctionnel ou l'analyste métier.

Etape d'identification, de contrôle et de maintien de tous les objets d'un projet (éléments de configuration) : matériel, logiciels et ses composants, documentations… Concerne les équipes de développement, de tests et d'exploitation.

Réunit les outils de contrôle et de gestion des demandes de changements concernant les services ou l'infrastructure informatiques : correction d'anomalie, ajout de fonctionnalité… Par extension, la gestion de changement permet d'orchestrer les processus du cycle de vie via un workflow.

Externalisation de la phase de tests jusqu'à la recette finale. Prestation réalisée en général par une SSII.

Externalisation de la phase de maintenance ou infogérance d'une application. Prestation réalisée par une société externe.

à lire aussi