mercredi 27 juin 2012

Pourquoi utiliser la plateforme Jazz ?

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


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 :

  1. de concevoir des documents textuels, 
  2. de modéliser des diagrammes (cas d’utilisation ou processus métier), et
  3. 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.
Le pilotage de projet avec RTC consiste, suivant la méthode de développement choisie (scrum, traditionnelle, personnalisée) à attribuer des éléments de travail aux développeurs. Ces éléments de travail peuvent être soit des story (des éléments de travail mesurés en charges/points) ou des tâches (des éléments de travail mesurés en heures nécessaires). Les développeurs reçoivent dans leur espace de travail les tâches qui leurs sont attribués et pourront commencer à effecuté leurs tâches suivant leurs disponibilités. Tout au long de l'avancement, le travail effectué sera transmis au serveur et associé à l'élément de travail.
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'application
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

  • 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,
Et ainsi obtenir un rapport qualité, clair et détaillé reprenant l'ensemble des éléments d'un projet