XDepend : 3 questions à Marc Cherfi
Marc Cherfi, membre de l'équipe XDepend animera le stand dédié au logiciel à l’Université du SI les 1er et 2 juillet prochains. Aujourd'hui il nous parle des standards de qualité du logiciel, du positionnement de XDepend sur le marché et de son intervention à l'USI.
Comment peut-on faire émerger des standards de qualité sur un projet au travers de l'analyse de code ?
Deux approches en général s’opposent dans ce genre de démarche :
- Une approche traditionnelle, dite Top Down qui consiste à prétendre l’universalité des règles de qualité et du bon design du code qui s'appliqueraient à tous les projets dans tous les contextes. Cette approche nécessite un investissement initial, pour mettre en place les outils, qui au fil du temps fournissent des informations qui s’avèrent inexploitables ou inadaptées. Vérifiez dans votre projet : Combien d’erreurs ou de warnings dans vos rapports Checkstyle ou PMD sur votre projet ? Pourquoi personne ne s’alarme plus ?
- Une approche plus inspirée des pratiques agiles et de l’amélioration continue des processus, dite Bottom Up. Dans cette approche les standards sont construits de manière itérative et incrémentale par l’équipe de développement tout au long du projet. Ce sont donc les standards que l’équipe se choisit et qui répondent à des problématiques concrètes rencontrées sur le projet. N’oubliez pas, on ne peut améliorer que ce que l'on mesure.
Je considère que cette seconde approche est la plus efficace pour rendre pérennes les actions d'amélioration pour la qualité logicielle.
Dans une telle démarche, nous identifions quatre grandes activités :
- Extraire : Faire émerger l’information à partir du code source ou binaire
- Visualiser : Naviguer dans l’information
- Investiguer : Rechercher des informations précises, recouper et lier des domaines différents (code, test, historique) en fonction des besoins du projet
- Contrôler : Cristalliser le résultat des investigations au travers de règles, de standards à contrôler selon une certaine fréquence
Un outil qui se veut le support d'une telle démarche doit adresser de manière simple et efficace chacune de ces activités.
Comment XDepend se positionne-t-il sur le marché ?
Dans l’écosystème Java, il existe beaucoup d’outils de qualimétrie. Le sujet a connu son heure de gloire il y a de cela quelques années et semble aujourd'hui éculé. Après la vague des extracteurs spécialisés (activité Extraire) comme PMD, Checkstyle, FindBug, l’activité se concentre aujourd’hui sur l’agrégation des indicateurs avec des outils comme Maven ou Sonar, ceci à des fins de contrôle (activité Contrôler).
Cependant, peu d’outils permettent aujourd’hui d’adresser les activités Visualiser et Investiguer. Pourtant elles sont au cœur de la production de standards adaptés et pérennes dans le temps. Au travers notamment du CQL (Code Query Language) et de son IHM innovante (Treemap, matrice de dépendances, ...), XDepend couvre parfaitement ces deux étapes clés.
XDepend est encore un produit nouveau dans l’écosystème Java. C’est un produit qui progresse, avec une nouvelle version tous les mois. Il est actuellement disponible en RC2, et vous verrez que la version 1.0 prévue pour Septembre vous apportera encore plus de bonnes surprises.
Pourquoi animer un stand à l’USI ?
Tout simplement parce que XDepend est à sa manière au cœur des sujets phares de l’USI 2009, aussi bien sur l’aspect « informatique conviviale » que amélioration continue des processus IT. Dans la philosophie de l’USI le stand XDepend s’adresse autant aux Geeks qu’aux Boss.
Vous les Geeks qui pensez avoir un code qui déchire, apportez-le (*) et venez l’observer aux rayons X, vous découvrirez peut-être des choses surprenantes …
Vous les Boss pour qui le code est un lointain souvenir, apportez-le (*) et venez découvrir de manière conviviale les entrailles de vos applications.
Et pour tous ceux qui veulent découvrir XDepend : la puissance de son interface graphique, la précision de son langage d’interrogation CQL, ses facilités d’intégration au sein de vos projets, … venez maltraiter les principaux frameworks du marché (Spring, Hibernate, JDK).
Ce sera aussi l’occasion de nous rencontrer et d’imaginer ensemble le futur d’XDepend . Et enfin pour les incollables de la qualité logicielle et de la plate-forme Java participez à notre jeu concours pour gagner une licence XDepend Pro.
Pour en savoir plus : Site web XDepend : http://www.jarchitect.com Blog : http://javadepend.wordpress.com
(*) Munissez-vous d’une clé USB contenant vos binaires (JAR, WAR ou EAR décompressés)