Introduction à la gestion des cycles de vie des applications
(Application Lifecycle Management – ALM)
….
Evidemment, dit comme cela, cela peut paraître un peu abrupte voire déconcertant … Cycles de vie des applications – Application Lifecycle Management. Mais sous ce nom se cache en réalité l’une des meilleures pratiques logicielles dont l’objectif est de fournir un logiciel de haute valeur et de haute qualité, et ce d’une manière très efficace, rapide et fiable.
Quelles sont les différentes étapes de l’ALM ?
D’un point de vue du développeur, il est courant de penser que le cycle de vie d’un logiciel commence et s’arrête lors du checkout et du commit des modifications du code.
La réalité est tout autre, comme nous le voyons tous les jours, et couvre beaucoup plus.
Le cycle de vie des applications commence à partir de la création du projet jusqu’à la livraison en production, comprenant plusieurs étapes dont le développement n’est qu’une petite partie parmi, entre autres, les tests, les documentations et la génération d’installateurs.
L’ensemble de ces opérations permet de livrer un logiciel de haute valeur et de haute qualité pour le client.
Quel est le problème avec la livraison de logiciels ?
- Les opérations sont nombreuses, souvent manuelles et sur différents environnements techniques mal maitrisés,
- Le corollaire est que ces opérations dépendent de quelqu’un (responsable déploiement, chef de projet, expert quelconque). La question est donc : que se passe t’il lorsque cette personne est absente?
- extrêmement répétitives, ces tâches sont une plaie sur le long terme,
- la réalisation d’une documentation souvent lourde est nécessaire,
- une courbe d’apprentissage lente pour l’ajout de nouveaux membres à l’équipe,
- des besoins humains supplémentaires sont nécessaires à l’équipe
- Le code source et les paramétrages ne sont pas nécessairement stockés dans le même endroit, mais peuvent être générés à partir de partout et par n’importe qui, n’importe quand : qui contrôle quoi ?
- Aucune vraie traçabilité,
- Des délais de livraison très long : il peut se passer des jours entre la validation et le déploiement,
- Des erreurs sont plus enclines à apparaître.
Quels sont les objectifs de l’ALM ?
Comment?
- Configuration et installation d’un outil d’intégration continue (TFS, Hudson, CruiseControl),
- Mettre au cœur de l’outil l’analyse de qualité (règles de gestion, Sonar, FxCop) ainsi que les tests, le tout avec de l’automatisation,
- Mettre sous contrôle de source tous les paramètres ou fichiers de configuration pour tous les hôtes cibles,
- Lister toutes les autres opérations manuelles, les automatiser et les chaîner entre elles,
- Modifier le processus de développement pour s’appuyer davantage sur les tests d’acceptation,
- Réduire les délais de feedback (testeurs, clients ….).