15
Livre blanc : La production collaborative de logiciels d'entreprise Avril 2011 Des silos à l’agilité: Repenser la production de logiciels en enterprise avec la solution IBM Jazz Collaborative Lifecycle Jean-Yves Rigolet, [email protected] Rational Team Concert, IBM Rational Software

Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Livre blanc : La production collaborative de logiciels d'entrepriseAvril 2011

Des silos à l’agilité: Repenser la production de logiciels en enterprise avec la solution IBM Jazz Collaborative LifecycleJean-Yves Rigolet, [email protected] Team Concert, IBM Rational Software

Page 2: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 2

Sommaire

2 Développement discordant de logiciels d'entreprise

2 Le crescendo de Jazz

3 Composition et distribution sur différents systèmes

4 Des équipes sur différents airs

6 Harmonisation avec Jazz Collaborative Lifecycle Management (CLM)

6 Les accords de Jazz CLM

9 Jazz CLM donne le tondes métiers à la production

10 Quand Rational Requirements Composer, Team Concert et Quality Manager entrent en scène

14 Les avantages pour la production de logiciels d’entreprise

15 A propos de l’auteur

Développement discordant de logiciels d'entrepriseAlors que les entreprises s'adaptaient à des marchés en constante évolution, la mutation des applications d'entreprise a eu un effet secondaire : elle a donné lieu à la constitution d'équipes dispersées. En effet, ces équipes sont le plus souvent organisées autour d'environnements d'exécution, de rôles, de technologies, de données, d'architecture, et non autour des personnes qui constituent les équipes. Le développement d'applications d'entreprise n'a jamais été aussi simple ; toutefois, les projets ne devraient pas échouer en raison d'un manque d'avancement visible ou d'une pléthore de technologies et de styles de développement, qui représentent un coût trop élevé.

Tirant parti des idées avancées par Grady Booch et Alan Brown sur les « Collaborative Development Environments »1 , qui s'imposent comme la prochaine étape vers les environnements de développement intégrés (IDE) ainsi que de son expérience approfondie du développement d'Eclipse, l'un des premiers projets à avoir été distribué à grande échelle et à temps, IBM a lancé le projet IBM Jazz™ pour fusionner les exigences croissantes pesant sur les entreprises et les dernières avancées technologiques en matière d'informatique sociale. En 2006, un petit groupe de développeurs d'outils IBM Power™ et IBM System z®

expérimentés a constitué le groupe de travail initial. L'objectif de ce groupe était d'explorer la façon dont la technologie Jazz peut apporter de la valeur ajoutée aux outils d'entreprise IBM et fournir une infrastructure permettant aux équipes de s'organiser autour de personnes, d'artefacts et de processus. Rapidement présentés, les premiers résultats furent appelés respectivement Rational Team Concert for System z® et Rational Team Concert for Power™ Systems, deux sous-ensembles du produit Rational Team Concert basés sur la technologie Jazz. Alors que la quête de l'intégration et de l'évolutivité se poursuivait, toutes les solutions d'exécution et les équipes dédiées à leur conception furent combinées en vue de créer un outil complet de gestion du cycle de vie des applications capable d'accélérer la distribution de logiciels d'entreprise sur différentes plates-formes.

Le crescendo de JazzAu départ, le développement d'applications d'entreprise s'effectuait sur des systèmes centraux. Les développeurs créaient des applications en partageant un système commun sur lequel ils pouvaient directement modifier, compiler et déployer du code. Avec un système commun représentant le centre du développement d'applications d'entreprise, les workflows de développement de projets sont devenus le principal environnement de développement collaboratif.

Bientôt, de nouveaux outils de développement, prenant comme base de nouveaux langages, ont permis de créer des applications PC. La productivité des développeurs a augmenté en même temps que la complexité des systèmes, puisque les développeurs devaient importer et exporter des artefacts pour les différents outils, faussant le travail d'équipe et la collaboration.

1 A.W. Brown et G. Booch, Collaborative Development Environments, Chapitre 1 de Advances in Computers Vol. 53, pages 1-26, Academic Press, Juin 2003

Page 3: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 3

Highlights

L'environnement IDE à langages multiples a donné naissance à de nouveaux outils de collaboration et a modifié la façon dont les développeurs travaillent actuellement.

Les systèmes centraux et intermédiaires ne vous disent peut-être rien, et pourtant, vous dépendez de leurs fonctions au quotidien.

Au début des années 2000, une nouvelle forme d'environnement de développement intégré (IDE) a modifié tout cela. Il s'agit de l'environnement IDE à langages multiples. Une plate-forme extensible de création d'outils de développement (la plate-forme Eclipse) a permis de rendre cet environnement disponible pour l'ensemble de la communauté de développement, sous forme de projet en source ouverte. L'explosion du marché des accès large bande a favorisé la grande popularité d'Eclipse sur Internet, ainsi que la collaboration bidirectionnelle, en s'appuyant sur les téléchargements. Un certain nombre de nouveaux outils de collaboration ont rapidement proliféré (messagerie instantanée, conférences Web, partage de fichiers, wiki et blogs) ; cela a facilité le travail des équipes et a accéléré le cycle de fourniture de logiciels. Ces outils ont également fait naître de nouvelles tendances en matière de développement et modifié les méthodes de travail des services informatiques et des développeurs. Les équipes de développement qui étaient autrefois regroupées en un même lieu collaborent désormais au sein d'équipes plus restreintes, dispersées dans le monde entier. Cette tendance n'a pas épargné le groupe de développement de Jazz, constitué d'équipes polyvalentes restreintes dispersées géographiquement sur tous les continents.

Le groupe de développement de Jazz a suivi avec attention et traversé ces mutations, et a rentabilisé ces nouvelles orientations que les entreprises ont prises. En réponse à cette évolution, IBM a élaboré un environnement capable de répondre aux besoins des personnes, de lever les contraintes pesant sur la productivité des équipes et de fournir une vision globale des aspects et étapes jalonnant le processus de fourniture du cycle de vie des logiciels. La plate-forme Jazz Collaborative Lifecycle Management permet aux intervenants comme aux acteurs de l'informatique de tirer parti du travail d'équipe et des concepts interactifs pour définir les exigences, concevoir, tester et fournir des produits dans un environnement de développement collaboratif omniprésent de sorte à accélérer la réactivité et augmenter l'agilité de l'entreprise.

Composition et distribution sur différents systèmesBien que de nombreuses personnes ne soient pas familiarisées avec les mainframe et systèmes intermédiaires, nous comptons chaque jour sur eux2. Savez-vous ce qui se passe lorsque vous retirez de l'argent au distributeur, que vous mettez de l'essence dans votre voiture ou que vous attendez votre chèque de fin de mois ? En fait, la plupart de ces transactions sont traitées de façon ininterrompue sur les serveurs IBM Power™ et System z® chaque jour, dans le monde entier.

Au fil des ans, les développeurs ont ajouté des applications et de la puissance à ces systèmes, afin de répondre aux demandes croissantes. Ces ajouts successifs se sont traduits par la présence d'un grand nombre d'artefacts différents, destinés à être exécutés sur les premiers ordinateurs, mais qui coexistent désormais avec les technologies les plus récentes (Java™ Platform, applications Enterprise Edition (Java EE), composants JavaScript et XML (AJAX) et artefacts Web 2.0). Un examen approfondi des artefacts présents sur un système peut expliquer la façon dont les dépendances complexes ont été conçues entre les différents logiciels qui constituent l'historique informatique d'une entreprise.

2 60-80% des données d’entreprise resident actuellement sur des mainframes (estimations fournies par Meta Group).

Page 4: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 4

Highlights

Même lorsque les développeurs utilisent le même langage, ils doivent naviguer entre différents systèmes organisationnels.

Les problèmes de développement rencontrés dans les petites entreprises existent également dans les grandes entreprises, mais à plus large échelle.

La durée de vie d'une application exécutée sur un système IBM Power™ ou System z® peut varier entre 10 et 40 ans. Votre système de gestion de la paie peut très bien avoir été élaboré autour de programmes écrits avant votre naissance. Cela peut poser de réels problèmes de maintenance (lors de recherches d'historique d'une application, ou de l'intégration de nouveaux employés, par exemple).

Si nous examinons l'exemple du système de gestion de la paie (l'application qui a peut-être été codée avant votre naissance…), nous constaterons probablement que les exigences d'environnement local ont évolué depuis le codage initial de l'application, sa compilation et son déploiement au sein de l'entreprise. Cette constatation s'applique également à votre entreprise, qui a connu depuis des modifications structurelles ou informatiques. Tous les changements qui se sont produits au fil des années ont inévitablement eu un impact sur le code source de l'application d'origine. Cela signifie que votre entreprise a fini par disposer de milliers de ressources liées, devant être gérées simultanément. Cette tâche est monumentale.

Et pour rendre le travail de chacun encore plus complexe, les applications que nous utilisons ont elles aussi évolué. Les analystes métier ont dû apprendre à jongler avec des exigences en constante évolution, dont l'impact s'est fait ressentir sur le travail des architectes et des développeurs, qui n'ont eu d'autre choix que de consolider les liens avec l'architecture et les autres parties de code existantes ou en passe d'exister. Même s'ils utilisent le même langage, les développeurs sont en contact avec de nombreuses entreprises dont ils ont conservé les artefacts en fonction de leurs besoins. Cette grande diversité rend plus difficiles les recherches d'artefacts, l'identification des relations appropriées et leur maintenance.

Autre problème auquel sont confrontés les développeurs : le grand nombre d'organisations des données et de systèmes de fichiers. Lorsqu'ils partitionnent de gros projets en petits composants en fonction du nombre de personnes, de leur implantation géographique ou de la plate-forme de développement utilisée, les chefs de projet doivent coordonner le travail au sein des équipes. Si tous les problèmes mentionnés ci-dessus se présentent dans un contexte de développement réduit, ils se posent forcément dans un contexte de développement d'entreprise, à plus large échelle.

Des équipes sur différents airsEn matière de création d'applications d'entreprise, il est essentiel d'affecter les bonnes personnes aux bonnes tâches. Dans certains cas, il existe un écart entre les personnes possédant des connaissances commerciales et d'autres dotées d'une expertise technique. Dans le domaine du développement, d'autres écarts peuvent être constatés autour de la structure du système.

Page 5: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 5

Highlights

L'organisation des équipes de développement s'articule souvent autour des environnements d'exécution, des rôles et de la technologie, des données ou encore de l'architecture.

Figure 1. Equipes cloisonnées

Bien que les entreprises soient de taille, de culture, d'histoire très variées, IBM a identifié quatre tendances organisationnelles principales qui affectent l'organisation des équipes de développement (ou plutôt leur manque d'organisation, dans certains cas).

Organisation autour des environnements d’exécutionMalgré l'émergence de nouveaux moyens permettant de limiter les frictions entre les différents environnements d'exécution (architecture par modèle, langages sans plate-forme tels que Java, ou encore langages orientés métier tels que le langage EGL – Enterprise Generation Language), les développeurs d'applications sont encore à l'heure actuelle regroupés en fonction des systèmes sur lesquels ils travaillent. Il est naturel que la formation et l'expérience rapprochent les personnes, mais la constitution d'équipes sur la base de ces points communs risque d'affecter leur adaptation aux nouvelles technologies.

Organizing autour des roles et des technologiestechnologieQue les rôles s'articulent autour de l'analyse métier, du développement, de l'assurance qualité, de la création et du déploiement, ou d'une combinaison de ces quatre domaines, on constate que les outils, les langages et les plates-formes utilisés peuvent varier considérablement et sont souvent confiés à des équipes distinctes, parfois dispersées géographiquement. Résultat : beaucoup de tâches administratives et d'incertitudes quant à la répartition des différents workflows entre les intervenants.

Organisation autour des donnéesLorsque les données ont enregistré une forte évolution (d'un PDS —Partitioned Data Set— de système de fichiers System z® traditionnel vers une base de données relationnelles avancée, par exemple), l'accès aux données, voire même les routines d'accès sont généralement gérés par une personne ou une équipe dédiée n'ayant que peu de liens avec l'activité, si ce n'est aucun.

Organisation autour des architecturesDe nombreuses applications, qui utilisent différentes technologies et sont exécutées sur différentes plates-formes, doivent être constamment vérifiées et mises à jour. Pour gérer les tâches de vérification et de maintenance, les équipes sont souvent organisées en fonction de l'architecture utilisée et de l'approche de modernisation adoptée.

Page 6: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 6

Highlights

Jazz CLM peut aider les entreprises à résoudre les problèmes de fourniture de logiciels d'entreprise.

Créant de la cohésion et favorisant l'optimisation des projets de développement de logiciels, Jazz CLM soutient à la fois la productivité des développeurs et la collaboration au sein de l'entreprise.

Harmonisation avec Jazz Collaborative Lifecycle Management (CLM)Les plates-formes IBM Power™ et System z® sont extrêmement puissantes : elles peuvent être utilisées de façon efficace et fiable au sein d'une large gamme de structures de développement très variées. Toutefois, il n'est pas impossible que des problèmes se posent sur ces plates-formes. La technologie Jazz permet de les résoudre à l'aide des outils utilisés par les membres des équipes de développement d'applications d'entreprise.

Ce document n'a pas pour but de fournir des informations approfondies sur la technologie Jazz elle-même, mais d'indiquer de quelle façon cette technologie peut vous aider à résoudre les problèmes de développement d'applications d'entreprise. Parce que la fourniture de logiciels est une tâche complexe et ardue, un développement d'applications d'entreprise réussi exige que les personnes, les artefacts et les processus fonctionnent ensemble, de concert.

Figure 2. Connexion des analystes, architectes, développeurs et testeurs

The accords de Jazz CLMLa technologie Jazz CLM permet aux acteurs des différentes catégories professionnelles susmentionnées de coordonner leur travail tout au long du cycle de vie de la fourniture de logiciels et de relever les nombreux défis auxquels les entreprises sont confrontées lors de la livraison (respect des délais, qualité et fourniture du plus profitable à l'entreprise). En offrant une infrastructure extensible capable de réaliser une intégration dynamique et la synchronisation entre les personnes, les artefacts et les processus, Jazz CLM est à même de créer une cohésion, d'améliorer et d'accélérer les projets de développement de logiciels.

En développant la plate-forme Jazz et ses produits intégrés, nous avons tout d'abord effectué des recherches dans la totalité des outils de la plate-forme de développement d'applications d'entreprise IBM Rational® Software Delivery Platform afin de déterminer de quelle façon cette technologie pouvait générer de la valeur. Ces recherches ont notamment inclus l'examen de certains des principaux outils de développement IBM (IBM Rational Business Developer, IBM Rational Application Developer, IBM Rational Developer for System z® et IBM Rational Developer for IBM Power™), ainsi que celui d'outils utilisés par un plus grand nombre de développeurs.

Page 7: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 7

Highlights

Dans notre exemple sur la gestion de la paie, nous pouvons constater qu'un système de développement incluant de nombreux composants et intervenants risque d'entraîner une livraison de logiciels désordonnée.

Ensuite, l'équipe a tenu compte des acteurs ( analystes commerciaux, chefs de projet, développeurs, testeurs ou chargés de la gestion des applications déployées). Une nouvelle technologie doit à la fois permettre d'optimiser la productivité des développeurs et leur venir en aide (au niveau de leur rôle et de leur collaboration avec les membres de l'équipe, dispersés géographiquement). Elle doit également soutenir la façon actuelle de travailler de tous les acteurs de la fourniture de logiciels, tout en offrant une infrastructure leur permettant de s'adapter à l'évolution des processus et de les partager.

Au cours des dernières années, le groupe de développement de Jazz, qui n'a cessé d'accueillir de nouveaux membres, a examiné certains des problèmes auxquels les équipes de développement sont actuellement confrontées et a cherché à les résoudre. Pour bien comprendre ces problèmes, examinons de nouveau notre exemple de système de gestion de la paie.

Le système simplifié, illustré dans la Figure 3, est constitué de trois composants principaux : le premier concerne la gestion des absences des employés, le deuxième concerne le calcul de la paie et le troisième concerne la gestion des déclarations légales. Ajoutons que le premier composant (celui qui met à jour les absences des employés) a été récemment développé à l'aide d'une application Web Java EE. Cette application est exécutée sur des serveurs distribués qui accèdent à des services dorsaux créés en langage EGL et utilisant des données stockées dans une base de données relationnelles IBM DB2®, à laquelle les employés peuvent accéder pour modifier et afficher leurs données d'absence. Les données relatives aux absences et les entrées provenant d'autres sources sont ensuite utilisées par le processus de calcul de la paie (exécuté sur une plate-forme System z®) et exécutées mensuellement par un programme de traitement par lots JCL (Job Control Language) en code COBOL. A la fin de ce processus, les informations de paie sont imprimées ; certaines d'entre elles sont collectées et transmises à une application IBM Power™ en charge de la collecte des déclarations d'impôts.

Figure 3. Système de gestion de la paie simplifié

Page 8: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 8

Highlights

Une vigilance supplémentaire est requise pour compenser le manque de normalisation et de transparence du système de développement logiciel d'une entreprise.

Sans système de suivi efficace, les développeurs peuvent continuer à apporter des modifications à une application sans que personne ne le sache

Maintenant que nous connaissons ce contexte de développement, examinons le déroulement d'une journée type pour l'équipe chargée de ces tâches. Après avoir reçu une demande de mise en conformité vis-à-vis des exigences légales et donc de suppression d'un code d'absence, le chargé de développement ou l'architecte doit d'abord identifier les parties du système concernées et les équipes correspondantes. Après s'être entretenu avec l'auteur de la demande de façon à bien comprendre les exigences en question, il peut alors utiliser, dans les meilleurs cas, un outil d'analyse de l'impact tel que le logiciel IBM Rational Asset Analyzer (RAA) pour découvrir les effets potentiels. Ensuite, en fonction des résultats obtenus, il informe les équipes chargées des composants correspondants qu'elles doivent les mettre à jour, les concevoir, les tester et les produire pour une date donnée.

Ce type de structure complexe de fourniture de logiciels est vulnérable aux erreurs, humaines pour la plupart. Pour couronner le tout, la coordination du travail elle-même peut également apporter son lot de problèmes. Même si l'on suppose qu'une seule équipe travaille sur l'application Web et qu'un chef d'équipe distribue le travail, la suppression de code d'absence de l'application Web implique malgré tout l'intervention de plusieurs membres de l'équipe. Un autre facteur rend également leur collaboration plus difficile : l'utilisation de différents outils de développement, de différents systèmes de suivi des bogues et de différents référentiels de codes. Ce manque de normalisation et de coordination de la planification entre les équipes exige qu'elles redoublent de vigilance et assurent un suivi méticuleux des différents aspects du travail effectué.

Après avoir supprimé le code d'absence de l'application Web, les membres de l'équipe doivent mettre à jour le reste du système de gestion de la paie afin de se conformer à la nouvelle exigence. Il n'existe pas de dépendance directe entre ces deux composants ; par conséquent, ces deux opérations peuvent s'effectuer simultanément, mais les membres de l'équipe sont-ils tenus informés des modifications apportées ? Là encore, un manque de transparence rend incertaine la transmission des modifications.

Les modifications peuvent suivre ce chemin instable pendant une période prolongée, jusqu'à ce que quelqu'un tente d'éditer et tester la version du système de gestion de la paie actualisé. A ce moment-là, les problèmes sous-jacents remontent à la surface. De nombreux problèmes peuvent se poser : cela va d'une incompatibilité de définition de longueur d'enregistrement entre un programme COBOL et JCL aux problèmes d'intégration au sein du système global.

Page 9: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 9

Highlights

Jazz CLM gère les artefacts traditionnels et les artefacts plus récents, ce qui permet à tous les intervenants d'y accéder facilement et de les partager.

Rational Team Concert contient des éléments de travail et des outils SCM qui fonctionnent à l'unisson.

Jazz CLM donne le ton des métiers à la productionLes applications d'entreprise doivent gérer de nombreux artefacts différents, et les outils dont disposent les développeurs doivent fonctionner de façon efficace et transparente à la fois. La gestion des différents styles de développement d'entreprise implique que les produits à technologie Jazz (IBM Rational Team Concert, par exemple) puissent stocker des artefacts traditionnels (COBOL, RPG, PL/I et programmes HLASM (High Level Assembler), scripts de traitement par lots JCL et CL (Control Language)), ainsi que des artefacts plus récents (programmes EGL, pages Web HTML, JSP (JavaServer Pages) ou JSF (JavaServer Faces), artefacts WSDL (Web Services Definition Language) ou Java EE) au sein d'un même emplacement, et que ces artefacts puissent être partagés par les différents membres des équipes. RTC prend en charge tous ces formats, et peut stocker ces artefacts indépendamment del'outil de développement utilisé.

Cet aspect du développement d'entreprise facilite aussi la création d'applications. Rational Team Concert permet aux développeurs de créer des applications exécutées sur différentes plates-formes, notamment IBM Power™ ou System z®, quel que soit l'emplacement du serveur Rational Team Concert.

Dans le contexte des plates-formes IBM Power™ et System z®, les services informatiques ont mis au point depuis des années des processus consolidés prenant en charge la gestion de la configuration logicielle (SCM). Pour tenir compte de ces processus et étendre les capacités de l'équipe, Rational Team Concert contient des éléments de travail intégrés et des outils SCM qui fonctionnent à l'unisson. Le composant SCM de Rational Team Concert Developer for Enterprise Platforms permet de développer localement des artefacts, dans l'environnement de développement client, à l'aide de logiciels IBM Rational Developer for System z® ou Power™ ; il permet également de développer des artefacts à distance, sur le système de fichiers de l'entreprise (dans ce cas, le client n'est utilisé qu'à des fins de gestion). Le composant SCM peut également être utilisé pendant toutes les phases du cycle (édition, test, création et débogage), dans un contexte de développement multi-plateformes.

La technologie Jazz fournit la technologie et l'infrastructure de base qui permettent de définir des opérations à base de processus. Elle peut être facilement étendue afin de répondre aux besoins d'une entreprise en matière d'environnement de développement. De nouveaux composants peuvent être ajoutés aux déploiements RTC afin d'apporter des éléments de travail spécifiques à l'entreprise (tâches, défauts, éléments d'amélioration et de planification). Chacun de ces composants peut être associé à un processus spécifique défini spécialement pour ces types d'éléments de travail. Les intervenants de l'entreprise peuvent créer de nouveaux éléments de travail grâce aux formulaires d'entrée et aux modèles technologiques. Les informations et rapports consolidés permettent aux utilisateurs d'obtenir une vue plus transparente des systèmes informatiques complexes et des projets de développement. Ils peuvent également bénéficier d'une meilleure vue d'ensemble des différents projets, qu'il s'agisse d'un projet de maintenance ou d'un nouveau développement, et sont à même d'identifier les risques potentiels et de garantir tant la qualité que la traçabilité.

Page 10: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 10

Highlights

Jazz CLM offre aux équipes la transparence dont elles ont besoin pour fournir une valeur ajoutée à l'entreprise de façon collaborative tout en décomposant les silos.

Aider les équipes à gagner en efficacité en coordonnant les activités de l'équipe, et ce, pour tous les aspects liés aux logiciels (développement, production, livraison).

Lorsque les entreprises de développement créent des artefacts, elles génèrent des volumes élevés de documents décrivant les artefacts déployés et les artefacts retirés de la production. Ces documents circulent généralement entre les différentes équipes ; or, les informations qu'ils contiennent sont stratégiques, principalement dans le domaine de la sécurité ou des réglementations de mise en conformité. Aucune approche intégrée n'étant fournie pour coordonner les activités de l'équipe ou les artefacts, comprendre avec précision l'état actuel de ces documents équivaut à chercher une aiguille dans une botte de foin.

Jazz CLM offre cette vue intégrée à tous les intervenants du cycle de vie du développement, quelle que soit la phase à laquelle ils interviennent (recensement des exigences, création et test des applications, automatisation des processus, traçabilité et reporting).

Quand Rational Requirements Composer, Team Concert et Quality Manager entrent en scèneReprenons une fois de plus notre exemple de système de gestion de la paie. Le travail pourrait être simplifié grâce à l'utilisation d'un nouvel ensemble d'outils à base de technologie Jazz, conçus pour le développement d'entreprise. Le chargé de développement commence par la suppression du code relatif aux absences. Malgré la simplicité de cette exigence, il existe de nombreuses raisons (la mise en conformité légale, par exemple), pour lesquelles l'entreprise pourrait devoir assurer le suivi minutieux du recensement, et il serait inapproprié voire dangereux de faire la demande via un moyen de communication informel et dépourvu de suivi tel que la messagerie électronique ou instantanée.

A l'aide de Rational Requirements Composer, les détails de cette exigence peuvent être totalement expliqués dans le contexte de la demande. Les détails de la demande peuvent inclure des documents connexes fournis par des experts, ainsi que le délai de mise en production du nouveau système. La planification intégrée simplifie le suivi de l'état de l'exigence tout au long du cycle de vie du développement et permet de garantir que les intervenants (y compris les sous-traitants) du groupe informatique chargés des artefacts requis pour l'exécution du travail ne bloquent pas le processus.

Une fois l'exigence prête à être implémentée, un certain nombre de stratégies peuvent entrer en jeu, comme l'intégration directe d'outils telle que celle fournie entre Requirements Composer et Team Concert ou encore la mise en place d'un couplage lorsqu'un outil intermédiaire est requis pour modéliser l'architecture avec Rational Software Architect. Quelle que soit la méthode choisie, tous les outils collaborent et relient les artefacts de développement dont les équipes de développement dépendent. Les services Open Lifecycle Collaboration Services, dont la structure est fournie par la solution Jazz CLM, rendent tout cela possible.

En utilisant Rational Team Concert Developer for Enterprise Platforms pour procéder à l'implémentation du développement pour tous les langages et plates-formes de l'entreprise, le chargé de développement crée, directement dans le client, un ou plusieurs éléments de travail pouvant impliquer des outils d'entreprise spécifiques tels que Rational Developer for zEnterprise (voir la Figure 4), ou encore un simple navigateur Web.

Page 11: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 11

Highlights

La productivité des intervenants du développement est optimisée pour tous les types d'environnements auxquels ils sont familiarisés et habitués.

Grâce aux outils Jazz CLM, l'équipe obtient des informations sur les tâches de chacun et reste au fait de l'état de la mise à jour des applications.

Cette méthode d'interaction avec les produits Jazz CLM et d'obtention des informations dont les utilisateurs ont besoin pour effectuer leurs tâches est fournie dans un environnement familier et générateur de productivité (navigateur, Eclipse ou Visual Studio, ligne de commande, interfaces de programmation ou client ISPF). Ainsi, les intervenants s'affairent à leurs tâches et restent assidus.

Figure 4. Rational Developer for zEnterprise basé sur RTC

A l'aide du même outil, le chargé de développement demande à un membre de l'équipe de fournir davantage de détails sur les composants du système de gestion de la paie affectés par les modifications. Il réaffecte ensuite les éléments de travail associés aux équipes chargées d'effectuer les différentes mises à jour.

Via des fils de syndication RSS ou des notifications envoyées par e-mail à l'aide d'outils de développement d'entreprise basés sur Rational Team Concert, les équipes sont informées de l'affectation des éléments de travail et des mises à jour apportées aux éléments existants.

Le développeur ou le responsable de l'équipe chargé du code EGL prend connaissance de la nouvelle tâche et actualise la charge de travail de l'équipe affichée dans la vue centrale. Il peut ensuite réaffecter un élément de travail à un autre développeur. En visualisant et en comprenant le contexte complet de la tâche qui lui est affectée, le développeur EGL peut rapidement commencer son travail, ou, en fonction de ce qui a été affecté dans la planification intégrée et les charges, il peut choisir de la mettre en attente ou de la programmer pour une itération ultérieure. Lorsqu'il lit la description de la tâche, il peut accéder aux références au programme EGL (présentées via des liens hypertexte), aux éléments de travail associés, bloqués ou non, et, par exemple, aux enregistrements qui doivent être mis à jour.

Page 12: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 12

Highlights

Les règles et les commandes définies dans Rational Team Concert peuvent signaler au développeur que l'un des programmes comporte une erreur et doit être corrigé.

Optimiser la qualité des projets à l'aide d'un hub de gestion des tests partagés intégrant le cycle de vie à tous les types d'activités de test et sur tous les types de plates-formes ou presque.

Les développeurs EGL peuvent désormais utiliser ces liens pour charger et ouvrir l'éditeur EGL dans le programme et commencer directement leur travail. Ils se trouvent donc dans un environnement qu'ils connaissent bien et bénéficient des outils de productivité et d'assistance de contenu pour l'exécution de leurs tâches. Lorsqu'ils ont clairement documenté les mises à jour de code EGL réalisées dans l'éditeur de tâches, ils peuvent affecter l'état résolu aux éléments de travail correspondants, afin d'indiquer qu'ils sont terminés.

Dès que la mise à jour de code EGL est associée à la tâche, elle peut être transmise aux autres membres de l'équipe EGL. Elle s'affiche dans la vue des modifications en cours jusqu'à ce que le développeur demande sa diffusion.

Pendant la transmission de la mise à jour en cours, le mécanisme RTC applicable à l'équipe de développement EGL est appelé automatiquement à ce stade du projet. Les règles et les commandes définies sont traitées selon le code fourni. Grâce à la fonction automatique d'avertissement, les paramètres de contrôle peuvent signaler au développeur que l'un des programmes porte un nom incorrect et doit être modifié. Cela évite à l'équipe de développement de devoir corriger ultérieurement le nom du programme et de répéter les étapes requises.

Le nouveau système mis à jour est sur le point d'être intégré à une unité cohérente ; il sera ensuite compilé et testé avant d'être déployé sur les systèmes demandés, sur lesquels les composants seront exécutés. Pour simplifier ce processus très complexe, l'élaboration d'un système multi-plateformes hétérogène passe par un catalyseur unique : la solution Jazz CLM, qui utilise différents groupes d'instruments.

Planifiée ou manuelle, l'intégration réalisée par l'équipe Rational Team Concert dans notre exemple de système de gestion de la paie inclut les étapes suivantes : extraction du code de tous les composants mis à jour à partir d'un flux unique, fourniture d'une vue fonctionnelle cohérente du système de gestion de la paie dans son intégralité et création d'une liste des langages de programmation utilisés (COBOL, EGL et JSP). Les applications concernées sont recompilées et testées, et avant leur redéploiement sur un système IBM Power™, System z® ou distribué, les résultats sont automatiquement fournis aux collaborateurs. Au cours de cette opération, des instantanés des états actuels sont pris en vue d'une utilisation ultérieure, comme pour les opérations de maintenance de code ou de reprise après incident.

A ce stade du cycle de développement, lorsque toutes les équipes impliquées ont réussi à mettre à jour toutes les pièces nécessaires à la satisfaction de l'exigence, les multiples composants doivent faire l'objet d'une vérification. Comme nous le savons, la phase de test a déjà eu lieu. Mais il existe une autre étape importante du cycle de vie du développement qui requiert la vérification des mises à jour. Ainsi, une fois toutes les pièces de code promues et le nouveau système déployé en vue d'être contrôlé, évalué et validé par l'assurance qualité, la mise à jour peut remplacer la version actuelle. Rational Quality Manager offre à ses utilisateurs la possibilité de modéliser le programme de vérification et l'exécution des tests.

Page 13: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 13

Highlights

Eliminer les barrières traditionnelles entre les outils et ouvrir la voie à de nouvelles formes de collaboration en convenant des spécifications courantes des ressources du cycle de vie.

Pour une équipe seule, il est relativement facile d'assurer le suivi de l'exécution des tests. Mais dès lors que la coordination des tests est prise en charge par un système d'entreprise complexe constitué de différents environnements d'exécution et basé sur le travail de différentes équipes hétérogènes, les choses prennent rapidement une autre tournure : une partie du système peut alors facilement passer inaperçue. C'est ici qu'entre en jeu le couplage des tests aux exigences. Cette stratégie permet en effet de réduire les risques associés à la possible omission de tests et de garantir la qualité du système avant son incorporation au système existant ou le remplacement de ce dernier. Les analystes commerciaux profitent également de ces couplages. En effet, ils les aident à identifier les exigences invalidées dans le système lorsque les tests viennent à échouer. Cette transparence entre l'assurance qualité, l'analyse métier et le développement de code peut ouvrir la voie à de nouveaux processus de développement, par exemple, la suppression temporaire de fonctions d'entreprise basées sur les mises à jour du code défectueux par le simple examen des tests avortés et des artefacts correspondants.

Les multiples combinaisons de couplages disponibles illustrent l'utilisation des interfaces OSLC dans la solution Jazz CLM (voir la Figure 5). Grâce à ces couplages et combinaisons d'informations, les équipes sont en mesure d'identifier de nouveaux moyens de réagir rapidement pour changer et augmenter l'agilité de l'entreprise.

Figure 5. Données couplées du cycle de vie (OSLC)

OSLC est une communauté ouverte aux participants de l'industrie ainsi q'un ensemble de spécifications pour les données couplées du cycle de vie. L'objectif de cet effort communautaire est de définir les descriptions publiques et ouvertes des ressources, les formats et les services RESTful mais aussi les interfaces servant à partager les artifacts de développement utilisés par les équipes, comme les demandes de changement, les scénarios de test, les tâches et défauts, les exigences et modèles pour aider les équipes en charge de la production des produits et des logiciels par l'utilisation combinée des outils du cycle de vie.

Page 14: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 14

Highlights

Permettre aux équipes de définir et d’utiliser efficacement les exigences tout au long du projet pour réduire la refonte et optimiser les résultats de l'entreprise.

Jazz CLM permet de mieux tirer parti des plates-formes de l'entreprise en vue de gérer et partager en toute transparence les artefacts de développement, assurer le suivi des projets et permettre aux équipes de gagner en efficacité.

Pour toutes les équipes impliquées dans cette mise à jour, le travail est pratiquement terminé. Le chargé de développement et l'analyste métier à l'origine du développement, qui ont souscrit un abonnement aux différents éléments de travail du projet, sont informés de chaque modification apportée et peuvent à tout moment réévaluer et réorganiser le travail. Ils peuvent également créer des requêtes personnalisées pour suivre l'avancement du projet. Ces requêtes peuvent quant à elles être affichées sur des tableaux de bord utilisateur. Via un client Eclipse ou une interface à base de navigateur, la solution Jazz CLM, qui combine l'utilisation de Rational Requirements Composer, Team Concert et Quality Manager, offre un ensemble d'outils qui augmente la visibilité du projet (allant des notifications simples aux tableaux de bord et rapports hautement spécialisés et présentant des données mixtes). La fonction la plus utilisée est le plan d'itération, dans lequel tous les collaborateurs peuvent consulter le statut exact des éléments de travail d'un projet entier en fonction des données en temps réel basées sur la tâche en cours de réalisation.

Les avantages pour la fourniture de logiciels d'entrepriseGrâce à l'utilisation de la solution Jazz CLM combinant Rational Requirements Composer, Team Concert et Quality Manager au sein de l'espace d'entreprise, toutes les personnes impliquées dans le développement peuvent désormais collaborer, partager et échanger des données avec leurs collègues, afin de faciliter le processus de fourniture de logiciels, de contrôler leur production, d'obtenir des informations en retour sur ce qu'elles envisagent de faire, de garantir la qualité du système d'entreprise en cours de développement et de faciliter la réaction au changement.

La solution Jazz CLM permet de consolider le développement multi-plateformes (incluant la technologie IBM Power™ et System z®) ainsi que les plates-formes distribuées, via l'amélioration de la gouvernance informatique, la diminution des coûts de développement et de maintenance et l'optimisation de la qualité des logiciels produits. En outre, les logiciels Rational Requirements Composer, Team Concert et Quality Manager, disponibles en association avec les fonctions des systèmes IBM Power™ et System z®, peuvent être utilisés tels quels ou adaptés aux styles de développement de l'entreprise, à sa gouvernance et à son infrastructure informatique, sans affecter les procédures en cours d'utilisation, mais bien au contraire, en aidant les équipes à fournir des logiciels d'entreprise de qualité supérieure.

L'utilisation de Jazz CLM pour la gestion et le partage de tous les artefacts de développement au sein des équipes, dans un environnement familier et transparent, permet d'exploiter pleinement toute la puissance et l'évolutivité de votre architecture de développement intermédiaire et centrale, quel que soit le site, le fuseau horaire ou le nombre de personnes que compte votre personnel. Ces plates-formes offrent une qualité de service élevée, augmentant l'efficacité du travail accompli par vos équipes pluridisciplinaires et par vos partenaires commerciaux.

Page 15: Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9

Collaborative Enterprise Software DeliveryPage 15

Les produits intégrés basés sur la technologie Jazz tels que RTC, RRC et QM sont déployés en environnements d'entreprise ; par conséquent, le développement d'applications dans les grandes entreprises peut en bénéficier pour afficher davantage de transparence et de rationalisation ; la livraison de logiciels peut ainsi devenir plus prévisible que jamais par le passé.

Pour plus d'informationsPour en savoir plus sur les logiciels IBM Rational Requirements Composer, Rational Team Concert et Rational Quality Manager, contactez votre représentant IBM ou votre partenaire commercial IBM, ou consultez le site Web :http://www-01.ibm.com/software/rational/products/rtc/

Pour en savoir plus sur la technologie IBM Jazz, visitez le site :www.jazz.net

Pour en savoir plus sur les solutions de modernisation d'entreprise IBM, visitez le site :http://www-01.ibm.com/software/rational/solutions/em/

A propos de l'auteurJean-Yves Rigolet est un ingénieur logiciel travaillant au service de la Division Rational du groupe IBM Software Group. Fort de 20 années d'expérience dans le domaine des outils de développement d'applications, dans un grand nombre d'environnements et de plates-formes de programmation, notamment IBM Telecom Web Services Toolkit, VisualAge Pacbase et VisualAge Generator, il travaille actuellement dans les locaux parisiens du laboratoire logiciel d'IBM France en tant que Scrum Master au sein de l'équipe Rational Team Concert. Auteur de divers articles sur l'agilité et le développement d'entreprise, Jean-Yves a également été convié à aborder la stratégie collaborative de la modernisation d'entreprise et l'adoption de l'approche agile lors de conférences et autres événements internationaux.

Avant de rejoindre les membres de l'équipe Rational, Jean-Yves a consacré plusieurs mois à l'élaboration d'une pratique Workplace et Eclipseau service de l'initiative des services Software Group Lab Services, et a fait le tour de l'Europe grâce à un atelier qu'il a lui-même mis en place et animé.

Dès le début de sa carrière et avant de rejoindre IBM, Jean-Yves s'est forgé une solide expérience des applications d'entreprise via la création d'applications d'entreprise pour le compte de CGI Informatique (société achetée par IBM lorsqu'il a rejoint les membres de nos laboratoires).

© Copyright IBM Corporation 2011IBM CorporationSoftware GroupRoute 100Somers, NY 10589U.S.A.Produced in the United States of AmericaMarch 2011All Rights ReservedIBM, the IBM logo, ibm.com, Rational and Sametime are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. Other company, product, or service names may be trademarks of IBM or other companies.A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtmlThe information contained in this document isprovided for informational purposes only. Whileefforts were made to verify the completenessand accuracy of the information contained in thisdocumentation, it is provided “as is” without warranty of any kind, express or implied.