Le bon vieux temps du développement logiciel sans méthodologie, sans cahier des charges précis et surtout sans tests est révolu (depuis un certain temps déjà). Différentes études et experts (Barry Boehm en tête) précisent que sans gestion d’exigences claires et sans campagnes de tests précises, les projets informatiques ont de fortes chances de coûter beaucoup plus cher, de risquer des dommages d’exploitation ou même d’être abandonnés en cours de route.
La plateforme Jazz développée par IBM Rational a le bon goût de tenter d’aider nos chères équipes de développement à contourner ce problème. En bref, elle consiste en 3 outils accessibles au moins pour chacun à travers une interface Web – au moins car Rational Team Concert est aussi accessible via un IDE, mais nous y reviendrons plus tard – qui sont Rational Requirements Composer, Rational Team Concert et Rational Quality Manager.
Rational Requirements Composer (RRC), comme son nom l’indique, est un outil de conception d’exigences. Il permet à partir d'une fenêtre de navigateur :
RRC fournit aussi un processus de revue et de validation collaborative des exigences. Ce processus permet de partager les documents simplement avec tous les acteurs du projet. Ces acteurs reçoivent par mail une demande d’approbation avant une certaine date, ils peuvent se connecter à leur espace en ligne puis valider ou refuser les exigences conçues avant transmission à l’équipe de développement.
En bref, RRC permet de collaborer de manière interactive, organisée et avec différents niveaux d’approbation à la conception des 3 types de documents décrits précédemment.
Rational Team Concert (RTC) est l’outil le plus complet de la plateforme Jazz. Il regroupe dans une même application accessible au travers d'un navigateur ou d'un IDE (Eclipse ou Visual Studio):
Ceci offre l'avantage de savoir à tout moment ce qui a été développé, par qui, pourquoi, et si une erreur est identifiée, à quel ensemble de lignes de code elle est due.
La dernière des trois applications de la plateforme Jazz est Rational Quality Manager (RQM). C’est un outil de gestion de la qualité avec la capacité d’organisation des ressources et des campagnes de test, mais aussi de conception et d'exécution de tests aussi bien manuel qu'automatique.
Il offre aussi un reporting en temps réel sur la qualité des développement afin de transmettre un rapport qualité qui peut lier exigences, éléments développés et résultats des tests.
Du fait de la plateforme, ces éléments de travail peuvent être partagés entre les 3 applications, et plus généralement entre toutes les applications qui accèdent à la plateforme Jazz.
Les développeurs ont directement accès aux exigences qui définissent et précisent le travail qui doit être effectué.
Les testeurs peuvent associer directement leurs tests avec les besoins métiers
Le management sait si chaque besoin métier a été mis en oeuvre et si il a été testé et validé
Si une anomalie est identifiée, elle est automatiquement reliée
Par cet intermédiaire, on peut avoir dans chaque outil une vue claire de tous les éléments du cycle de vie du développement et savoir par exemple:
La plateforme Jazz développée par IBM Rational a le bon goût de tenter d’aider nos chères équipes de développement à contourner ce problème. En bref, elle consiste en 3 outils accessibles au moins pour chacun à travers une interface Web – au moins car Rational Team Concert est aussi accessible via un IDE, mais nous y reviendrons plus tard – qui sont Rational Requirements Composer, Rational Team Concert et Rational Quality Manager.
Rational Requirements Composer
Rational Requirements Composer (RRC), comme son nom l’indique, est un outil de conception d’exigences. Il permet à partir d'une fenêtre de navigateur :
- de concevoir des documents textuels,
- de modéliser des diagrammes (cas d’utilisation ou processus métier), et
- de dessiner les IHM et les séquences d’IHM de l’application en développement.
RRC fournit aussi un processus de revue et de validation collaborative des exigences. Ce processus permet de partager les documents simplement avec tous les acteurs du projet. Ces acteurs reçoivent par mail une demande d’approbation avant une certaine date, ils peuvent se connecter à leur espace en ligne puis valider ou refuser les exigences conçues avant transmission à l’équipe de développement.
En bref, RRC permet de collaborer de manière interactive, organisée et avec différents niveaux d’approbation à la conception des 3 types de documents décrits précédemment.
Rational Team Concert
Rational Team Concert (RTC) est l’outil le plus complet de la plateforme Jazz. Il regroupe dans une même application accessible au travers d'un navigateur ou d'un IDE (Eclipse ou Visual Studio):
- un outil de pilotage de projet dynamique à base d’éléments de travail,
- un outil de suivi de version (type Git, CVS ou SVN),
- un outil de suivi des anomalies (type Mantis ou Bugzilla),
- un outil de génération/compilation continue.
Ceci offre l'avantage de savoir à tout moment ce qui a été développé, par qui, pourquoi, et si une erreur est identifiée, à quel ensemble de lignes de code elle est due.
Rational Quality Manager
La dernière des trois applications de la plateforme Jazz est Rational Quality Manager (RQM). C’est un outil de gestion de la qualité avec la capacité d’organisation des ressources et des campagnes de test, mais aussi de conception et d'exécution de tests aussi bien manuel qu'automatique.
Il offre aussi un reporting en temps réel sur la qualité des développement afin de transmettre un rapport qualité qui peut lier exigences, éléments développés et résultats des tests.
Quel avantage à avoir RRC(exigences), RTC(pilotage) et RQM(qualité) dans une même plateforme ?
RRC, RTC et RQM, même si ils peuvent être utilisés séparément fonctionnent tous suivant la même méthodologie. La création et l’assignation d’éléments de travail générique (exigences, code ou test).Du fait de la plateforme, ces éléments de travail peuvent être partagés entre les 3 applications, et plus généralement entre toutes les applications qui accèdent à la plateforme Jazz.
Une traçabilité des actions en temps réel
Le partage des actions entre ces 3 outils clés du cycle de vie de développement d'une application offre naturellement une traçabilité entre toutes les équipes participants aux développement de l'applicationLes développeurs ont directement accès aux exigences qui définissent et précisent le travail qui doit être effectué.
Les testeurs peuvent associer directement leurs tests avec les besoins métiers
Le management sait si chaque besoin métier a été mis en oeuvre et si il a été testé et validé
Si une anomalie est identifiée, elle est automatiquement reliée
- au test qui l'a identifiée,
- au code qui l'a générée et
- à l’exigence qui l’a initiée.
Par cet intermédiaire, on peut avoir dans chaque outil une vue claire de tous les éléments du cycle de vie du développement et savoir par exemple:
- quelle exigence a été développée,
- quel élément de développement a été testé,
- quel test a validé quelle exigence,
- …