Sie sind auf Seite 1von 13

BlackPaper

Open Wide Technologies

Usine de dveloppement : tude comparative


Pour complter notre premier article sur lusine de dveloppement1, il apparat utile de faire un tour dhorizon des solutions existantes dans ce domaine et de voir de quelles manires elles rpondent aux besoins voqus. Cet article dresse le bilan dune tude mene sur 6 produits candidats au titre dusine de dveloppement.

Question de dfinition
Avant tout, jai choisi demployer lappellation usine de dveloppement (ou usine logicielle ) car elle correspond bien lide dindustrialisation. Malheureusement, chacun met un peu ce quil veut derrire ce nom gnrique. Pour rajouter la confusion, les termes de forge et d ALM dsignent des notions qui sapparentent fort ce quon peut attendre dune usine logicielle. Avant donc de se lancer dans une tude, il est important de prciser sur quoi elle porte : sans prtendre tre une dfinition de rfrence, cest la dfinition suivante qui a servi de repre pour la prsente tude. Lide de dpart tant dappliquer limage de lindustrie matrielle au monde du dveloppement logiciel, rcapitulons les lments de lanalogie que javais expose dans mon article prcdent pour citer les domaines couverts par notre usine : pilotage : recueil des demandes (exigences sur le produit), planification des travaux et suivi des activits, approvisionnement : fourniture de la matire premire (ou des pices dtaches), savoir le code source et les composants techniques, fabrication : chane de production proprement dite qui transforme la matire premire en produits (construction des excutables partir de la compilation du code source), contrle qualit : tests du bon fonctionnement des produits et de leur respect des critres de qualit, distribution : diffusion des produits auprs des clients (logistique de livraison / rseaux de distribution), support : rponse aux questions des utilisateurs (internes ou externes), gestion des anomalies et actions correctives.

Cf. article Lusine de dveloppement : du cauchemar la ralit sur le site Improve Foundations

http://www.improve-foundations.com/wp-content/uploads/2012/06/BlackPaper_OWT_Usine_Developpement.pdf

Usine de dveloppement : tude comparative

On le constate demble, une telle analogie considre lusine au sens large et va bien au del de la chane de montage. Cette vision correspond plutt celle du supply chain management qui sintresse autant aux flux et leur synchronisation quau seul process de fabrication. En rsum, il sagit de dfinir un cadre au sein duquel clients, fabriquant et fournisseurs se retrouvent autour dun ou plusieurs produits. On est donc loin de la simple procdure de build ! A partir de l, rien nempche dutiliser les appellations forge ou ALM , pour peu que lon garde en tte les six domaines que nous venons de citer. Nous verrons toutefois quon est souvent loin du compte, les forges ayant tendance se limiter au gestionnaire de source habill dun bug tracker et les solutions d ALM tant trs focalises sur les fonctions de pilotage au point de ngliger celles de construction.

Critres de ltude
Mme si les six domaines dfinis ne sont pas forcment dgale importance, ils constituent donc un point de dpart pour valuer des solutions candidates au titre d usine de dveloppement . Nanmoins, comme peu de produits sont organiss selon cette vision et quil convient de rentrer dans le concret, nous nous sommes intresss des fonctions dune granularit plus fine pour favoriser une analyse systmatique. Voici donc une description des fonctions et caractristiques que nous avons tudies : Fonction Gnralits & administration Intgration des outils (portail) Niveau dintgration des diffrents outils constituant lusine de dveloppement Description

Niveau dintgration des diffrents outils Facilit dinstallation Efforts et constituant lusine de dveloppement comptences ncessaires pour linstallation Arborescence de projets Le produit sait-il grer des projets organiss en sous-projets ? La cration de projet se fait-elle en une seule opration concernant tous les outils ? Dispose-t-on de modles de projets rutilisables ? La gestion des utilisateurs et des habilitations est-elle suffisamment aboutie et intgre ? Existe-t-il un systme de notification par mail ? Est-il paramtrable ?

Cration transverse de nouveaux projets

Templates de projet

Gestion des utilisateurs et de leurs droits

Notifications par mail

Usine de dveloppement : tude comparative

Fonction de recherche gnrale

Existe-t-il une fonction de recherche gnralise ? Est-elle efficace ? Quelle est la qualit de la documentation ? Comment couvre-t-elle lusine de dveloppement dans son ensemble ? Le produit est-il multilingue ?

Documentation

Multilinguisme Travail collaboratif Trackers personnalisables

Quel est le niveau de fonctionnalit des trackers ? Sont-ils suffisamment paramtrables ? Le produit propose-t-il le dcoupage de tches en sous-tches ? Le produit gre-t-il des liens entre les lments des trackers ? Les liens entre projets sont-ils supports ? Est-il possible de crer et utiliser des forums ? Y a-t-il des fonctions de wiki ou de documentation collaborative au sens large ? Trouve-t-on des fonctions de messagerie instantane ?

Tches arborescentes (sous-tches)

Gestion des rfrences

Forums

Wiki

Messagerie instantane Gestion de projet Dfinition de roadmap Fonctions de planification

Peut-on dfinir et consulter une roadmap ? Quel est le niveau des fonctions de planification ? Le produit gre-t-il les ressources (quipes) et leur disponibilit (calendrier) ? Est-il possible et facile de suivre lavancement des travaux ? Le produit gnre-t-il des vues graphiques ?

Gestion de la disponibilit des ressources Suivi davancement

Vues graphiques

Usine de dveloppement : tude comparative

Calendrier

Le produit inclut-il une gestion de calendrier ? Le produit est-il adapt une conduite agile des projets (avec Scrum notamment) ? Est-il possible de produire des rapports personnaliss (paramtrs par lutilisateur) ?

Support de Scrum

Production de rapports (personnalisables) Rfrentiel Rfrentiel de bibliothques

Le produit intgre-t-il un rfrentiel de bibliothques (tel que Nexus ou Archiva) ? Le produit intgre-t-il le rfrentiel de code source Subversion ? Le produit intgre-t-il un autre systme de rfrentiel de code source (tel que Git) ? Y a-t-il une interface web pour accder au contenu du rfrentiel de sources ?

Rfrentiel de code SVN

Rfrentiel de code (autres solutions, i.e. GIT) Navigation dans le rfrentiel en mode web Intgration continue Intgration de Maven Pilotage des builds Contrle Qualit Tests unitaires Tests automatiss dIHM Tests dintgration/monte en charge

Maven est-il pris en compte voire intgr ? Y a-t-il moyen de piloter les builds (via une console dintgration continue) ? Le produit prend-t-il en compte lexcution de tests unitaires ? Une solution pour les tests automatiss des IHM est-elle propose ? Des solutions pour les tests dintgration et/ou de monte en charge sont-elles proposes ? Le produit comprend-il des fonctions daudit de code (qualimtrie) ?

Audit de code Publication Repository Maven

Le produit propose-t-il la publication dans un rfrentiel de composants ?

Usine de dveloppement : tude comparative

Dpt de fichiers

Existe-t-il une zone de dpt de fichiers organise ? Trouve-t-on un espace documentaire o classer des documents (par sujets et par versions) ? Existe-t-il une section de type blog pour notamment communiquer des actualits ?

Espace documentaire

Section blog / news Modes dutilisation En installation autonome

Le produit peut-il tre install librement en mode standalone ? Le produit est-il propos avec un service dinfogrance ? Le produit est-il accessible en mode SAAS (rien installer) ?

En mode infogr En SAAS

Types de projets

Quelles technologies sont supportes pour les dveloppements ? Le produit peut-il cohabiter avec dautres outils ? Est-il possible de ladapter, le complter ?

Ouverture / extensions / adaptations

Une pondration a t prcise pour relativiser limportance de certains critres par rapport dautres. videmment, la dfinition de ces critres est toujours discutable, surtout quelle dpend des contextes dusages, mais cest le lot de toute tude de reposer sur ce genre de choix. Ces critres ont donc t valus sur chacune des solutions, partir de la documentation officielle et de tests des fonctionnalits sur le produit en action. Une note de 0 5 a t attribue selon que lon a constat que la fonction tait : inexistante (0) embryonnaire ou peu utilisable (1) partiellement implmente (2) oprationnelle pour les cas courants mais avec certaines lacunes (3) aboutie et efficace (4) particulirement bien faite, avec des options complmentaires intressantes (5)

Usine de dveloppement : tude comparative

2,2 5

FusionForge
Le premier produit a avoir t tudi est FusionForge, qui est un successeur de GForge, lui-mme hritier du fameux SourceForge. Cest un produit open source crit en PHP.

Le diagramme suivant rsume les notations issues de ltude pour les pans fonctionnels dfinis :

Sans grande surprise, si FusionForge propose une couverture correcte des fonctions dune forge traditionnelle, il ignore les aspects construction, intgration continue, contrle qualit. Un travail spcifique est donc ncessaire pour le complter. En contrepartie, il a lavantage de rester gnrique, ouvert toute nature de projets. Cest un pro duit qui convient bien pour des usages assez peu ambitieux ou des contextes o les comptences et les budgets permettent la construction dune usine de dveloppement maison . Ltude lui attribue la note moyenne de 2,2 sur 5.

Usine de dveloppement : tude comparative

2,5 5

Redmine
Redmine est un concurrent direct de FusionForge. Cest une forge open source base sur les technologies Ruby.

Redmine obtient une note moyenne de 2,5 et souffre globalement des mmes lacunes que FusionForge puisquen loccurrence, ce nest pas une usine de dv eloppement telle que nous lavons dfinie. En tant que forge, cest une solution de qualit, porte par un projet open source actif et rput mais il y a des efforts faire pour la transformer en usine logicielle.

Usine de dveloppement : tude comparative

3 5

Tuleap
Tuleap est un produit qui se dfinit comme une suite dALM open source, elle-mme issue de la forge Codendi et porte par une socit franaise ddie.

En consquence, la couverture fonctionnelle est plus complte, plus aboutie et la note moyenne atteint la valeur de 3 :

Ltude rvle que le produit comporte des fonctions volues autour des trackers, avec de bonnes possibilits de personnalisation, du reporting de qualit ainsi quun b on support des mthodes agiles. Malgr cela, les fonctions dintgration continue y fon t figure de parent pauvre : Jenkins est inclus mais on doit se dbrouiller pour lutiliser et le complter notamment avec des outils de contrle qualit et un rfrentiel de composants. Au bilan, Tuleap est un bon candidat pour lusine de dveloppement mais demande quelques efforts complmentaires pour couvrir le primtre.

Usine de dveloppement : tude comparative

3 5

IBM Rational Collaborative Lifecycle Management


Ltude sest ensuite attache valuer une suite dALM de rfrence, savoir celle dIBM. La suite en question sorganise autour de la solution nomme Team Concert , elle-mme reposant sur Jazz , une plateforme implmentant le standard OSLC pour lALM.

On pourrait sattendre ce que ce produit dun autre niveau remplisse haut la main les critres de notre tude mais il nobtient que la note globale de 3 et montre de grandes disparits dans la couverture fonctionnelle :

On constate que si le produit comporte des fonctions superbement implmentes, avec une excellente prise en charge du processus projet, il est ncessaire de le complter pour couvrir tout le primtre de lusine de dveloppement. IBM propose tout ce quil faut (Rational Quality Manager, Rational Build Forge, etc) mais il faudra finalement acqurir, installer et paramtrer tous ces produits pour quils puissent cohabiter. Leur documentation rvle effectivement quil sagit doutils distincts, qui rclament un effort dintgration malgr leur capacit communiquer travers Jazz et OSLC. Si lensemble a un fort potentiel, il sagit finalement dune plate-forme complexe qui nest adapte quaux grosses structures menant des projets de grande envergure.

Usine de dveloppement : tude comparative

3,6 5

Suite Atlassian
Atlassian est un acteur majeur du domaine qui nous concerne. Connu pour son tracker JIRA, lditeur propose les lments susceptibles de constituer une usine logicielle et notamment une suite en mode SaaS, JIRA Studio.

Lensemble obtient la note de 3,6, avec des fonctions de trs bonne facture et une bonne couverture du primtre. On note quelques lacunes, telles que labsence de rfrentiel de composants et des manques sur les outils de qualimtrie. Malheureusement, linstar dIBM, la constitution de lusine dans son ensemble passe par la mise en uvre de nombreux outils distincts et mme si Atlassian a son offre SaaS proposer, elle ne rpond que partiellement au besoin dun outil intgr, simple installer et prendre en main.

10

Usine de dveloppement : tude comparative

4 5

Improve Factory
Improve Factory est propos par la socit Open Wide et repose notamment sur Redmine pour les fonctions de forge.

Le produit obtient la note de 4 et propose une couverture quilibre de lensemble du primtre. Ce bon rsultat tient au fait quil a t conu partir de notre dfinition de lusine de dveloppement. Ses diffrents modules couvrent en effet les six grandes activits en se basant sur des outils open source reconnus dans leurs domaines respectifs (Redmine, Maven, Hudson, Sonar, Nexus). Sa valeur ajoute rside dans lintgration, avec une procdure dinstallation simple et unique ainsi que des ponts entre les outils (tels que lassistant unifi de cration de projet et le partage des habilitations). Ce bon rsultat doit tre nuanc par le fait que lusine cible spcifiquement les dveloppements Java mais le produit a le potentiel pour largir son spectre dans ses futures versions.

11

Usine de dveloppement : tude comparative

Bilan
Bien que cette tude puisse aider choisir une solution dusine de dveloppement, elle cherche surtout mettre en vidence la disparit des produits vis--vis du besoin tel que nous lavons dfini. On constate en effet que ce quon appelle les forges et les suites dALM couvrent rarement la totalit du primtre et lusine logicielle cl en main reste un produit rare. Les solutions compltes paraissent pourtant bien utiles tant il est difficile et coteux pour une entreprise dinvestir dans la construction et ladministration dun environnement complet alors mme que les bonnes pratiques et les outils existent sur chacune des activits. Le regain dintrt actuel pour ce sujet permet cependant desprer des progrs et larrive sur le march de solutions compltes, matures et simples mettre en uvre.

Frdric Esnault Directeur Technique Open Wide Technologies

Improve Factory est la solution d'usine de dveloppement d'Open Wide Technologies. Base sur des outils reconnus tels que Redmine, Subversion, Maven, Hudson, Sonar, et Nexus, elle fait la part belle l'open source tout en proposant un niveau d'intgration qui permet d'tre oprationnel trs rapidement ainsi qu'un accompagnement professionnel. Improve Factory est disponible en 3 offres : bundle installable, serveur infogr et cloud.

A propos dOpen Wide Technologies Filiale du groupe Open Wide, un des leaders franais du logiciel libre, la socit Open Wide Technologies dveloppe et distribue : lusine de dveloppement Improve Factory, une intgration de solutions Open Source pour le pilotage et lintgration continue des projets de dveloppement dapplications en Java, la plateforme Improve Foundations, une distribution oprationnelle de composants Open Source ddie au dveloppement et l'industrialisation de projets en langage Java.

12

Usine de dveloppement : tude comparative

Pour plus dinformations

http://www.improve-foundations.com

Informations presse

Open Wide Technologies : technologies@openwide.fr Tl. : 01 42 68 28 14 technologies.openwide.fr www.improve-foundations.com

MyNtic-PR : Franck TUPINIER ftupinier@myntic-pr.com Tl. : 09 60 15 68 02 www.myntic-pr.com

13

Das könnte Ihnen auch gefallen