Squale est un projet initié conjointement par Air France et Qualixo, visant à déterminer les modèles de qualimétrie puis développer l’outillage open source permettant d’agréger les métriques issus d’outils externes pour fournir :
ses tableaux de bord synthétiques de la qualité du logiciel
l’évolution de cette qualité au cours du temps
la corrélation entre cette qualité mesurée et les coûts de maintenance permettant in fine de mesurer le retour sur investissement des démarches qualimétriques.
Il existe aujourd’hui beaucoup d’outil d’analyses et de parsing de code qui fournissent des métriques techniques de bas niveau, très spécialisées et difficilement compréhensibles par le profane. Ces métriques peuvent être
syntaxiques (rule checking checkstyle en Java par ex),
structurelles (complexité cyclomatique par ex),
orientées objet (profondeur d’héritage…),
d’architecture (respect du modèle en couche),
de modèle UML (couplage…),
de tests (couverture…)
ou génériques (méta-modèle de visualisation, métriques de performance/robustesse..)
caractéristiques des méthodes, classes et packages de l’application.
La combinaison de ces métriques permet de noter des pratiques (patterns) entre 0 et 3 qui agrégées permettront de quantifier des facteurs globaux comme la maintenabilité, l’évolutivité, la réutilisabilité de l’application.
Grâce à une approche tableaux de bord et à des méta-modèles de visualisations du code de l’application, le projet propose des restitutions adaptées à chaque utilisateur : développeur, chef de projet, responsable de TMA, Responsable Achat, DSI, Qualiticien.
Le projet stocke et retrace l’évolution de cette qualité dans la durée permettant notamment de mesurer/contrôler l’éventuelle dégradation de qualité en maintenance.
Le troisième axe du projet est consacré à la corrélation entre coûts effectifs (maintenance et développement initial) et qualité mesurée selon deux modèles : un modèle a posteriori et un modèle prédictif utilisant l’historique.
Les langages visés par cette première phase de Squale sont le Java et le C++ mais l’outil réalisé sera paramétrable pour tous les langages (en pluggant les outils de parsing/production de métriques spécifiques au langage et en paramétrant le modèle de calcul de pratiques et d’agrégation de métriques).
L’outil sera placé sur une forge à visibilité mondiale (OW2 par exemple) avec l’ambition de fédérer une communauté de développeurs.
Les promoteurs du projet animent le club qualimétrie France des responsables qualimétrie de beaucoup de grands groupes français. Au delà de ce cercle –garant de l’atteinte rapide d’une masse critique d’utilisateurs-, l’objectif du projet est de constituer une communauté d’utilisateurs/contributeurs au paramétrage sur l’outil à visibilité mondiale.
Squale prévoit notamment de récupérer les caractéristiques anonymisées de tous les projets analysés –sur la base du volontariat- afin de se constituer une base de connaissances permettant d’affiner les modèles qualimétriques et économiques au cœur de l’outil.
Rejoint récemment par l'Inria-Futurs de Lille et PSA, SQUALE bénéficie de l’expérience conjuguée de Grands Comptes, d'Universitaires et de PME dans l’application de démarches qualimétriques au sein des projets.