L’industrie du logiciel est en constante évolution, dictée en partie par les nouveaux besoins des métiers et par les possibilités des nouvelles technologies. Ces demandes imposent de nombreux challenges. Il faut répondre aux attentes, s’adapter aux besoins dans les meilleurs délais, sinon la concurrence s’en chargera ; respecter de nombreuses normes et procédures, gages de qualité de nos produits et de notre savoir-faire ; fournir des logiciels fiables et sécurisés afin de garder la confiance des clients, mais de préserver aussi un niveau de compatibilité avec les éditions précédentes des applications.
Dans un environnement de plus en plus concurrentiel, nous n’avons pas d’autres choix que de considérer toutes ces problématiques avec beaucoup d’attention. Alors que les attentes des utilisateurs augmentent, nous devons faire face en interne à nos propres impératifs. Notamment, s’aligner sur ces attentes qui deviennent de plus en plus difficiles avec des budgets consacrés en priorité à la maintenance des applications existantes. Mais aussi réaliser les applications dont le développement se complexifie, faisant appel à de nombreuses technologies.
L’arrivée de l’interopérabilité entre les applications et les architectures de type SOA ne simplifient pas le travail de la direction informatique. Enfin, il faut gérer les équipes. Face à cette complexité croissante, les équipes de développement augmentent en taille, sont réparties sur différents sites, comprennent des ressources à l’étranger. Des problèmes de communication, de culture entre les différentes parties apparaissent (ou s’intensifient), engendrant des retards, des coûts supplémentaires.
Fournir une nouvelle version de logiciel dans ces conditions devient quasiment imprévisible. Sans oublier qu’une bonne partie du budget IT est dépensé dans la maintenance des versions antérieures.
L’industrie du développement n’est pas réputée pour sa fiabilité. De nombreuses études effectuées sur ces 20 dernières années l’ont à chaque fois prouvé :
En améliorant l’efficacité sur la gestion du cycle de vie des applications (Application Lifecycle Management en anglais, ou ALM), l’entreprise parviendra à adresser tous ces problèmes.
Le concept d’ALM existe depuis de nombreuses années, et repose sur des concepts bien établis. Il attire cependant aujourd’hui de plus en plus l’attention auprès des entreprises, car c’est une solution efficace dont la mise en oeuvre est grandement simplifiée grâce à l’arrivée de nouvelles solutions. Nous entrons dans l’ère de la démocratisation de l’ALM.
L’ALM est un ensemble de disciplines qui dirigent la conception, la réalisation et la gestion des applications pour l’intégralité de leur cycle de vie.
Ce sont des disciplines connues, l’important ici consiste à les connecter les unes avec les autres au sein d’un cycle de livraison qui se veut itératif. Ce procédé permet de s’adapter plus tôt aux changements, à corriger plus tôt les défauts, tout en maintenant le niveau de qualité. Toutefois, ce type de gestion de projet se révélant plus complexe qu’un cycle en V, l’outillage et l’automatisation deviennent indispensables.
Par gestion du cycle de vie des applications, on entend les 3 domaines suivants :
Cet article se penche sur les premier et deuxième points. Après cette définition de l’ALM, quels sont les bénéfices que l’on peut attendre de la mise en place d’une solution d’ALM ?
Les nouvelles générations de solutions ALM sont des produits accessibles par leur simplicité et leur coût afin de s’adresser à l’ensemble des équipes. La courbe d’apprentissage doit être réduite, les fonctions doivent pouvoir être mises en oeuvre les unes après les autres en fonction des contraintes des projets. Enfin, elles ne sont pas réservées à des projets de taille importante et ne nécessitent plus d’experts pour les déployer, les adapter et les maintenir.
Un des axes d’amélioration, parmi ceux qui souvent remontés par les clients, est la planification des projets. Actuellement, Microsoft Project -ou tout outil équivalent- est souvent utilisé pour la planification initiale. Et beaucoup moins pour le suivi du projet, car il s’avère souvent difficile de demander aux autres membres de l’équipe quel est leur état d’avancement. Excel ou un outil de suivi des temps interne prend alors le relais.
Or, il est intéressant d’automatiser cette remontée d’information. En effet, pour rester à l’écoute du changement, pour mener des projets itératifs où les différentes phases sont réalisées en parallèle, la gestion de projet doit être réactive.
Ces solutions sont faites pour outiller les processus définis au sein de l’entreprise, par exemple pour obtenir une certification CMMI de niveau 3. Les projets dits « Agile » demandent plus de suivi que les projets traditionnels en « V » du fait de l’intégration des différentes phases du projet.
Pour respecter les contraintes de traçabilité et d’audit définis par les entreprises. Comment garantir l’intégrité des données ?
En fournissant un référentiel sécurisé pour l’ensemble des données du projet : documents de spécifications, anomalies, code source, rapports…
Sans oublier de s’intégrer avec les référentiels existants au sein de l’entreprise.
Partager |
|
![]() Eric le Loc’h, avant-vente chez Microsoft ![]() Loïc Baumann, Architecte logiciel, expert en technologies Microsoft chez Winwise |



