Squale : un projet opensource, un projet de recherche, un produit 10 juin 2008 - Fabrice BELLINGARD -
Plan Présentation et historique Rappel : présentation rapide de Squale Naissance de Squale : une coopération Qualixo AF Squale : le projet de recherche Le FUI et les pôles de compétitivité Détails du projet de recherche Roadmap et livrables Squale : le produit Timeline Synthèse sur l écosystème Squale 2
Présentation et historique de Squale
Squale : les grands concepts Squale est un projet qui : s appuie sur des standards (ISO-9126, GQM, McCall), afin de proposer un modèle qualimétrique qui, à partir de données qualité brutes récupérées de différents outils ou systèmes, en analysant le code source principalement Métriques de code Rule checking mais aussi des modèles UML ou du code compilé, voire toute autre information qualité (ex. : bug tracker) sait agréger en différentes pratiques, critères et facteurs de haut niveaux, visant ainsi à fournir : des tableaux de bord synthétiques de la qualité du logiciel, une évolution de cette qualité au cours du temps, des indicateurs économiques de rentabilité de la qualimétrie. 4
Squale : concrètement Développeur Gère son code dans le référentiel Extraction du code Récupération données qualité (application des outils) Calcul des notes 0 1 2 3 Visualisation suivant plusieurs axes : Facteur / critère / pratique Top Composants Consulte le rapport final Agrégation des résultats en utilisant le modèle qualité Equipe projet Revue de code à fréquence prédéfinie : hebdomadaire mensuelle sur pose de jalon 5
Squale : la boîte à outils Outils de production de métriques McCabe, JavaNCSS, CKJM productions de métriques Checkstyle, PMD «Rules Checking» Java C++ test «Rules Checking» C++ Macker, JDepend analyse et respect de l architecture en couche Java UML Quality outil d analyse de modèle UML Quality Center Récupération des résultats des campagnes de tests Certains de ces outils peuvent aussi être installés dans l environnement du développeur : Checkstyle, PMD, JDepend : plug-in Eclipse C++test : client lourd Macker, JavaNCSS : via une tâche Ant 6
Squale : restitutions à plusieurs niveaux Plan d action 7
Squale : démonstration 8
Historique de Squale (1/2) Depuis 2002 réalisation d audits de code par Qualixo chez Air France 2005 décision de co-développer un portail qualimétrique prenant en compte les contraintes AF 2006 : première mise en production chez AF 2006 : versions 1.0, 2.0 et 2.1 2007 : versions 2.2, 3.0, 3.1, 3.2 et 3.3 T4 2007 : décision de passer Squale en open-source 2008 : version 3.4 dernière version «non open-source» mise en production la prochaine version mise en production (T3 2008) sera basée sur le code du Squale OS 9
Historique de Squale (2/2) Chez Air France, au 31/03/2008: 79 applications dans le portail + 45 nouvelles applications sur l exercice écoulé 48 en audit régulier de suivi, le reste en audit de jalon 150+ audits réalisés par mois 4.85 millions de lignes de code sous contrôle régulier Prise en compte des plans d amélioration de la qualité de code 23 projets les ont pris en compte activement + de 10 améliorations de métriques dans l année entre 2 audits réussis un total de 6058 améliorations de métriques dans l année soit une moyenne de 263 par projet actif 10
Pourquoi ouvrir les sources de Squale? Pour Air France : Squale n est pas une application stratégique pour l entreprise Intérêt financier Les coûts de maintenance et d évolution seront supportés par les acteurs de la communauté, non plus seulement par AF Image de marque Pour Qualixo : Produits commerciaux visuellement aboutis mais techniquement pauvres Tendent à décrédibiliser la qualimétrie Aucun standard dans le domaine de la qualimétrie Bénéfice du retour de la communauté open-source Communauté en attente d un logiciel de ce type Aller dans le sens du marché logiciel L open-source devient une composante incontournable 11
Squale : le projet de recherche Le FUI et les pôles de compétitivité Détails du projet de recherche Roadmap et livrables
Le FUI et les pôles de compétitivité (1/2) Fonds Unique Interministériel Fonds pour financer des projets de recherche labellisés par des pôles de compétitivité Projets collaboratifs impliquant entreprises et labo de recherche Logé au sein du FCE (fonds de compétitivité des entreprises) 5 Ministères contributeurs : Écologie, Développement et Aménagement durables Économie, Finances et Emploi Agriculture et Pêche Défense Santé, Jeunesse et Sports Coordination par la DGE (Direction Générale des Entreprises) FUI doté de 720 M sur la période 2006-2008 Infos sur http://www.competitivite.gouv.fr 13
Le FUI et les pôles de compétitivité (2/2) Le Pôle de compétitivité System@tic Paris Région 1 des 7 pôles de compétitivité mondiaux labellisé par le FUI (qui compte en tout 71 pôles) Objectif affiché : «Faire de l Ile-de-France l un des quelques territoires visibles au niveau mondial sur le thème de la conception, de la réalisation et de la maîtrise des systèmes complexes.» Dynamiser l économie de la région, attirer des investisseurs, créer des emplois durables, développer les centres de recherche et les synergies avec les entreprises 5 groupes thématiques, dont «Logiciels Libres» Quelques chiffres : ~ 340 établissements impliqués dans le réseau du Pôle 100.000+ emplois directement impliqués, 330.000+ concernés Budget 2006 des projets de R&D du Pôle : > 280 M /an Infos sur http://www.systematic-paris-region.org 14
Et Squale dans tout ça? Squale : A été présenté au bureau exécutif du groupe thématique Logiciel Libre de System@tic, et a reçu son soutien début 11-2007 Puis a été labellisé par le directoire du pôle System@tic 28-11-2007 Avant d être analysé par les soins de la DGE Q1 2008 Pour finalement être accepté pour financement dans le cadre du 5 ème appel à projets du FUI mai 2008 Aujourd hui : les conventions vont être signées avec les financeurs le projet de recherche a officiellement commencé 15
Squale : le projet de recherche Le FUI et les pôles de compétitivité Détails du projet de recherche Roadmap et livrables
Les différents partenaires Industriels Air France DSI Arnaud Poivre, responsable du centre de compétences Tests et qualité logicielle PSA Peugeot Citroën DSI Thierry Bey, responsable entité Langages, Qualité et Processus de Développement PME Qualixo (pilote du projet) Philippe Vaillergues, expertise en qualimétrie Paqtigo Amin Popote, expertise en gouvernance du SI Académiques INRIA Lille Stéphane Ducasse, spécialiste en maintenance et génie logiciel Laboratoire LIASD Université Paris 8 Françoise Balmas, spécialiste en compréhension, représentation et animation de programmes 17
Organisation : rôles des partenaires et work packages Modèle de qualimétrie simple Bases de connaissances Coûts, qualité ++ Modèle de qualimétrie élaboré WP-1 WP-2 Modèle technicoéconomique Animation, dissémination WP-4 WP-3 Développement Communauté utilisateurs 18
WP 1 : Modèles qualimétriques Acteurs : INRIA (pilote), LIASD, Qualixo Objectif : Améliorer les modèles qualimétriques existants et leur mode de visualisation / représentation Découpage : WP 1.1 : Caractérisation des pratiques sensibles via métriques pour Java et C++ Étendre la liste des métriques existantes et les caractériser WP 1.2 : Visualisation graphique pratiques Représentation donnant un sens immédiat à la pratique WP 1.3 : Modèle enrichi d agrégation des pratiques pour Java et C++ Améliorer les formules d agrégation permettant de passer des métriques aux facteurs de haut niveau 19
WP 2 : Modèles technico-économiques Acteurs : INRIA (pilote), LIASD, Qualixo, Paqtigo Objectif : Définir les modèles permettant de corréler les indicateurs techniques à des indicateurs économiques Découpage : WP 2.1 : Modèle de «l'effort» de création/modification de composants à partir de métriques WP 2.2 : Modèle d estimation de l effort d amélioration de la qualité suite à un diagnostic qualimétrique Permettant de déterminer des plans d action de remédiation WP 2.3 : Modèle d estimation du retour sur investissement de la qualimétrie Suffisamment générique pour devenir un standard mais suffisamment paramétrable pour s adapter aisément 20
WP 3 : Développement en open-source Acteurs : Qualixo (pilote), AF, PSA, INRIA, LIASD Objectif : Améliorer l application Squale existante en se basant sur : - les travaux de recherche des WP 1 et 2 - les besoins exprimés par les grands comptes Découpage : WP 3.1 : Ordonnanceur et interfaces récupération de métriques WP 3.2 : Implémentation modèles de calcul et d agrégation WP 3.3 : IHM administration paramétrage WP 3.4 : IHM de restitution : navigation, tableaux de bords, WP 3.5 : Moteur de visualisations graphiques des pratiques WP 3.6 : Moteur de plan de remédiation avec charges WP 3.7 : Interface avec le projet System@tic «Helios» WP 3.8 : Animation communauté développeurs 21
WP 4 : Dissémination et animation communauté utilisateurs Acteurs : Qualixo (pilote), Paqtigo Objectif : Faire valider largement les résultats des 3 premiers WP par les utilisateurs, bénéficier de leur retour et de leurs données Découpage : WP 4.1 : Animation communauté Mettre en place les moyens de communication Assurer la bonne dissémination des résultats du projet WP 4.2 : Constitution base de connaissances partagée Sauvegarder, dans une base de donnée centralisée, les données brutes et agrégées générées par Squale Utiliser ces données pour : comparer des applications entre elles alimenter la recherche sur les modèles (WP1 et WP2) 22
Squale : le projet de recherche Le FUI et les pôles de compétitivité Détails du projet de recherche Roadmap et livrables
Roadmap et livrables du projet de recherche Sortie de Squale OSS - Application fonctionnelle Documents sur la caractérisation des pratiques et la visualisation Travaux sur Squale - Amélioration de la visualisation - Intégration des modèles technicoéconomiques - Intégration des travaux sur l agrégation des métriques Document du modèle d estimation du ROI en première version Travaux sur Squale - Intégration des travaux sur les métriques Document du modèle enrichi d agrégation en première version Documents des modèles technico-économiques en première version Finalisation de Squale - Application fonctionnellement complète - Interface avec le projet Thales Tous les modèles qualimétriques et technico-économiques sont validés 24
Squale : le produit
Timeline : alignement sur le projet de recherche 2008 Version 4.0 Version 4.1 En production chez Air France En production chez PSA Squale ASP / SaaS Version 5.0 2009 Version 5.1 Version 6.0 2010 Version 6.1 Version 7.0 26
Synthèse sur l écosystème Squale
Ecosystème Squale Squale projet open-source http://www.squale.org Projet communautaire ouvert à tous Utilisateurs Contributeurs et committers Infrastructure nécessaire au développement du projet open-source : Bug tracker et Wiki Serveur d intégration continue Référentiel Maven Mailing-listes etc. Licence approuvé par l OSI Première version officielle fin 2008 Squale projet de recherche http://recherche.squale.org Dédié aux partenaires du projet de recherche Espace de communication nécessaire à l équipe CR de réunions Documents de gestion Détails des WP Planning Livrables Brainstorming Résultats déversés dans le projet open-source lors de leur livraison Squale produit Qualixo http://www.qualixo.com Société offrant des services autour de Squale : Implantatation du logiciel dans une démarche qualimétrique Support et maintenance Offre ASP / SaaS Assure l évolution de Squale en y implantant : son expertise du domaine de la qualimétrie les besoins des grands comptes 28
Merci de votre attention Des questions? 29