Rational France - Livre Blanc - Repenser la production de logiciels en enterprise avec CLM v0.9
1. 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, rigolet.j@fr.ibm.com
Rational Team Concert, IBM Rational Software
2. Collaborative Enterprise Software Delivery
Page 2
Sommaire Développement discordant de logiciels d'entreprise
Alors que les entreprises s'adaptaient à des marchés en constante
évolution, la mutation des applications d'entreprise a eu un effet
2 Développement discordant de
secondaire : elle a donné lieu à la constitution d'équipes dispersées. En
logiciels d'entreprise
effet, ces équipes sont le plus souvent organisées autour
2 Le crescendo de Jazz d'environnements d'exécution, de rôles, de technologies, de données,
d'architecture, et non autour des personnes qui constituent les équipes.
3 Composition et Le développement d'applications d'entreprise n'a jamais été aussi simple ;
distribution sur différents toutefois, les projets ne devraient pas échouer en raison d'un manque
systèmes d'avancement visible ou d'une pléthore de technologies et de styles de
développement, qui représentent un coût trop élevé.
4 Des équipes sur
différents airs Tirant parti des idées avancées par Grady Booch et Alan Brown sur les «
Collaborative Development Environments »1 , qui s'imposent comme la
6 Harmonisation avec Jazz
prochaine étape vers les environnements de développement intégrés
Collaborative Lifecycle
Management (CLM) (IDE) ainsi que de son expérience approfondie du développement
d'Eclipse, l'un des premiers projets à avoir été distribué à grande échelle
6 Les accords de Jazz CLM et à temps, IBM a lancé le projet IBM Jazz™ pour fusionner les exigences
croissantes pesant sur les entreprises et les dernières avancées
9 Jazz CLM donne le technologiques en matière d'informatique sociale. En 2006, un petit
tondes métiers à la groupe de développeurs d'outils IBM Power™ et IBM System z ®
production 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
10 Quand Rational
la valeur ajoutée aux outils d'entreprise IBM et fournir une infrastructure
Requirements Composer,
Team Concert et Quality permettant aux équipes de s'organiser autour de personnes, d'artefacts
Manager entrent en scène et de processus. Rapidement présentés, les premiers résultats furent
appelés respectivement Rational Team Concert for System z® et Rational
14 Les avantages pour la Team Concert for Power™ Systems, deux sous-ensembles du produit
production de logiciels Rational Team Concert basés sur la technologie Jazz. Alors que la quête
d’entreprise 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
15 A propos de l’auteur 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 Jazz
Au 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
3. Collaborative Enterprise Software Delivery
Page 3
Highlights 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
L'environnement IDE à langages
rendre cet environnement disponible pour l'ensemble de la communauté
multiples a donné naissance à de
de développement, sous forme de projet en source ouverte. L'explosion
nouveaux outils de collaboration
du marché des accès large bande a favorisé la grande popularité
et a modifié la façon dont les
d'Eclipse sur Internet, ainsi que la collaboration bidirectionnelle, en
développeurs travaillent
s'appuyant sur les téléchargements. Un certain nombre de nouveaux
actuellement.
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èmes
Bien que de nombreuses personnes ne soient pas familiarisées avec les
mainframe et systèmes intermédiaires, nous comptons chaque jour sur
Les systèmes centraux et
eux2. Savez-vous ce qui se passe lorsque vous retirez de l'argent au
intermédiaires ne vous
distributeur, que vous mettez de l'essence dans votre voiture ou que vous
disent peut-être rien, et
attendez votre chèque de fin de mois ? En fait, la plupart de ces
pourtant, vous dépendez
transactions sont traitées de façon ininterrompue sur les serveurs IBM
de leurs fonctions au
Power™ et System z® chaque jour, dans le monde entier.
quotidien.
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).
4. Collaborative Enterprise Software Delivery
Page 4
Highlights 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
Même lorsque les constaterons probablement que les exigences d'environnement local ont
développeurs utilisent le évolué depuis le codage initial de l'application, sa compilation et son
même langage, ils doivent déploiement au sein de l'entreprise. Cette constatation s'applique
naviguer entre différents également à votre entreprise, qui a connu depuis des modifications
systèmes structurelles ou informatiques. Tous les changements qui se sont produits
organisationnels. 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.
Les problèmes de Lorsqu'ils partitionnent de gros projets en petits composants en fonction
développement rencontrés du nombre de personnes, de leur implantation géographique ou de la
dans les petites entreprises plate-forme de développement utilisée, les chefs de projet doivent
existent également dans les coordonner le travail au sein des équipes. Si tous les problèmes
grandes entreprises, mais à mentionnés ci-dessus se présentent dans un contexte de développement
plus large échelle. réduit, ils se posent forcément dans un contexte de développement
d'entreprise, à plus large échelle.
Des équipes sur différents airs
En 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.
5. Collaborative Enterprise Software Delivery
Page 5
Highlights
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).
L'organisation des équipes de Organisation autour des environnements d’exécution
développement s'articule Malgré l'émergence de nouveaux moyens permettant de limiter les
souvent autour des frictions entre les différents environnements d'exécution (architecture par
environnements d'exécution, modèle, langages sans plate-forme tels que Java, ou encore langages
des rôles et de la technologie, orientés métier tels que le langage EGL – Enterprise Generation
des données ou encore de Language), les développeurs d'applications sont encore à l'heure actuelle
l'architecture. 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 technologies
technologieQue 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ées
Lorsque 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 architectures
De 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.
6. Collaborative Enterprise Software Delivery
Page 6
Highlights 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
Jazz CLM peut aider les outils utilisés par les membres des équipes de développement
entreprises à résoudre les d'applications d'entreprise.
problèmes de fourniture de
logiciels 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 CLM
Créant de la cohésion et La technologie Jazz CLM permet aux acteurs des différentes catégories
favorisant l'optimisation professionnelles susmentionnées de coordonner leur travail tout au long
des projets de du cycle de vie de la fourniture de logiciels et de relever les nombreux
développement de défis auxquels les entreprises sont confrontées lors de la
logiciels, Jazz CLM livraison (respect des délais, qualité et fourniture du plus profitable à
soutient à la fois la l'entreprise). En offrant une infrastructure extensible capable de réaliser
productivité des une intégration dynamique et la synchronisation entre les personnes, les
développeurs et la artefacts et les processus, Jazz CLM est à même de créer une cohésion,
collaboration au sein de d'améliorer et d'accélérer les projets de développement de logiciels.
l'entreprise.
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.
7. Collaborative Enterprise Software Delivery
Page 7
Highlights 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
Dans notre exemple sur la employés, le deuxième concerne le calcul de la paie et le troisième
gestion de la paie, nous concerne la gestion des déclarations légales. Ajoutons que le premier
pouvons constater qu'un composant (celui qui met à jour les absences des employés) a été
système de récemment développé à l'aide d'une application Web Java EE. Cette
développement incluant application est exécutée sur des serveurs distribués qui accèdent à des
de nombreux composants services dorsaux créés en langage EGL et utilisant des données stockées
et intervenants risque dans une base de données relationnelles IBM DB2®, à laquelle les
d'entraîner une livraison employés peuvent accéder pour modifier et afficher leurs données
de logiciels désordonnée. 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é
8. Collaborative Enterprise Software Delivery
Page 8
Highlights 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.
Une vigilance
supplémentaire est
Ce type de structure complexe de fourniture de logiciels est vulnérable
requise pour compenser
aux erreurs, humaines pour la plupart. Pour couronner le tout, la
le manque de
coordination du travail elle-même peut également apporter son lot de
normalisation et de
problèmes. Même si l'on suppose qu'une seule équipe travaille sur
transparence du système
l'application Web et qu'un chef d'équipe distribue le travail, la suppression
de développement logiciel
de code d'absence de l'application Web implique malgré tout l'intervention
d'une entreprise.
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
Sans système de suivi
modifications.
efficace, les développeurs
peuvent continuer à
Les modifications peuvent suivre ce chemin instable pendant une période
apporter des
prolongée, jusqu'à ce que quelqu'un tente d'éditer et tester la version du
modifications à une
système de gestion de la paie actualisé. A ce moment-là, les problèmes
application sans que
sous-jacents remontent à la surface. De nombreux problèmes peuvent se
personne ne le sache
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.
9. Collaborative Enterprise Software Delivery
Page 9
Highlights Jazz CLM donne le ton des métiers à la production
Les 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
Jazz CLM gère les artefacts stocker des artefacts traditionnels (COBOL, RPG, PL/I et programmes
traditionnels et les artefacts HLASM (High Level Assembler), scripts de traitement par lots JCL et CL
plus récents, ce qui permet à (Control Language)), ainsi que des artefacts plus récents (programmes
tous les intervenants d'y EGL, pages Web HTML, JSP (JavaServer Pages) ou JSF (JavaServer
accéder facilement et de les Faces), artefacts WSDL (Web Services Definition Language) ou Java
partager. 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 de
l'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
Rational Team Concert consolidés prenant en charge la gestion de la configuration logicielle
contient des éléments de (SCM). Pour tenir compte de ces processus et étendre les capacités de
travail et des outils SCM qui l'équipe, Rational Team Concert contient des éléments de travail intégrés
fonctionnent à l'unisson. 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é.
10. Collaborative Enterprise Software Delivery
Page 10
Highlights 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
Jazz CLM offre aux équipes la généralement entre les différentes équipes ; or, les informations qu'ils
transparence dont elles ont contiennent sont stratégiques, principalement dans le domaine de la
besoin pour fournir une valeur sécurité ou des réglementations de mise en conformité. Aucune approche
ajoutée à l'entreprise de façon intégrée n'étant fournie pour coordonner les activités de l'équipe ou les
collaborative tout en artefacts, comprendre avec précision l'état actuel de ces documents
décomposant les silos. é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ène
Reprenons 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
Aider les équipes à gagner en exigence peuvent être totalement expliqués dans le contexte de la
efficacité en coordonnant les demande. Les détails de la demande peuvent inclure des documents
activités de l'équipe, et ce, connexes fournis par des experts, ainsi que le délai de mise en
pour tous les aspects liés aux production du nouveau système. La planification intégrée simplifie le suivi
logiciels (développement, de l'état de l'exigence tout au long du cycle de vie du développement et
production, livraison). 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.
11. Collaborative Enterprise Software Delivery
Page 11
Highlights 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,
La productivité des interfaces de programmation ou client ISPF). Ainsi, les intervenants
intervenants du s'affairent à leurs tâches et restent assidus.
développement est optimisée
pour tous les types
d'environnements auxquels ils
sont familiarisés et habitués.
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.
Grâce aux outils Jazz Via des fils de syndication RSS ou des notifications envoyées par e-mail à
CLM, l'équipe obtient des l'aide d'outils de développement d'entreprise basés sur Rational Team
informations sur les Concert, les équipes sont informées de l'affectation des éléments de
tâches de chacun et reste travail et des mises à jour apportées aux éléments existants.
au fait de l'état de la mise
à jour des applications. 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.
12. Collaborative Enterprise Software Delivery
Page 12
Highlights 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
Les règles et les des modifications en cours jusqu'à ce que le développeur demande sa
commandes définies dans diffusion.
Rational Team Concert
peuvent signaler au Pendant la transmission de la mise à jour en cours, le mécanisme RTC
développeur que l'un des applicable à l'équipe de développement EGL est appelé automatiquement
programmes comporte à ce stade du projet. Les règles et les commandes définies sont traitées
une erreur et doit être selon le code fourni. Grâce à la fonction automatique d'avertissement, les
corrigé. 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
Optimiser la qualité des ou de reprise après incident.
projets à l'aide d'un hub
de gestion des tests A ce stade du cycle de développement, lorsque toutes les équipes
partagés intégrant le cycle impliquées ont réussi à mettre à jour toutes les pièces nécessaires à la
de vie à tous les types satisfaction de l'exigence, les multiples composants doivent faire l'objet
d'activités de test et sur d'une vérification. Comme nous le savons, la phase de test a déjà eu lieu.
tous les types de plates- Mais il existe une autre étape importante du cycle de vie du
formes ou presque. 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.
13. Collaborative Enterprise Software Delivery
Page 13
Highlights 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
Eliminer les barrières correspondants.
traditionnelles entre les
outils et ouvrir la voie à de Les multiples combinaisons de couplages disponibles illustrent l'utilisation
nouvelles formes de des interfaces OSLC dans la solution Jazz CLM (voir la Figure 5). Grâce à
collaboration en ces couplages et combinaisons d'informations, les équipes sont en
convenant des mesure d'identifier de nouveaux moyens de réagir rapidement pour
spécifications courantes changer et augmenter l'agilité de l'entreprise.
des ressources du cycle
de vie.
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.
14. Collaborative Enterprise Software Delivery
Page 14
Highlights 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
Permettre aux équipes de apportée et peuvent à tout moment réévaluer et réorganiser le travail. Ils
définir et d’utiliser peuvent également créer des requêtes personnalisées pour suivre
efficacement les l'avancement du projet. Ces requêtes peuvent quant à elles être affichées
exigences tout au long du sur des tableaux de bord utilisateur. Via un client Eclipse ou une interface
projet pour réduire la à base de navigateur, la solution Jazz CLM, qui combine l'utilisation de
refonte et optimiser les Rational Requirements Composer, Team Concert et Quality Manager,
résultats de l'entreprise. 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'entreprise
Grâ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
Jazz CLM permet de
les plates-formes distribuées, via l'amélioration de la gouvernance
mieux tirer parti des
informatique, la diminution des coûts de développement et de
plates-formes de
maintenance et l'optimisation de la qualité des logiciels produits. En outre,
l'entreprise en vue de
les logiciels Rational Requirements Composer, Team Concert et Quality
gérer et partager en toute
Manager, disponibles en association avec les fonctions des systèmes IBM
transparence les artefacts
Power™ et System z®, peuvent être utilisés tels quels ou adaptés aux
de développement,
styles de développement de l'entreprise, à sa gouvernance et à son
assurer le suivi des
infrastructure informatique, sans affecter les procédures en cours
projets et permettre aux
d'utilisation, mais bien au contraire, en aidant les équipes à fournir des
équipes de gagner en
logiciels d'entreprise de qualité supérieure.
efficacité.
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.