SlideShare une entreprise Scribd logo
Qualité de code, Sonar, La dette technique et SQALE en 5 minutes   Mikael KROCK
L’ ère des développeurs barbus enfermés dans une pièce noire travaillant seuls est
 maintenant révolue. Nous travaillons dans une industrie ou nous façonnons un produit :
 notre logiciel.

 Il est composé de multiples parties – le code source, il est assemblé et testé au moyens de
 divers outils – IDE, mails, intégration continue - et pour faire cela nous utilisons plusieurs
 systèmes de production – Test Driven Development, Scrum, Lean.

 Dans cette optique-là, nous faisons attention à la qualité de notre code source pour que
 notre produit fini soit de meilleure qualité possible.
 Pour mesurer la qualité du code nous avons en premier lieu, besoin de créer des
 indicateurs (nombre de lignes de code, nombre de commentaires, taux de couverture de
 code.)

 En second lieu, nous avons besoin d'un outil analysant et synthétisant ces indicateurs.
 Sonar nous permet de faire cela de manière assez intuitives et ergonomique.




08/01/2013   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   2
Sonar

 Sonar est une plateforme de gestion de qualité du code source.
 Elle permet de régler des indicateurs de qualité, de gérer plusieurs projets, d'analyser le
 code source et d'afficher des tableaux de bords personnalisés. Sonar est hautement
 configurable et grâce à un système de plugins (libre, gratuit ou payant), il est possible de
 personnaliser l'outil par rapport à son besoin.




                                                                                                                               Pour aller plus loin :

                                                                                                                               • http://www.sonarsource.org/

                                                                                                                                • quelques screencasts

                                                                                                                               http://www.sonarsource.org/screencasts/




             Sonar source in action



08/01/2013             Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   3
Dette technique
 La dette technique est une néologie associant le concept de dette financière au monde du
 développement logiciel.

 On dit que si on livre une fonctionnalité contenant un défaut on a une dette envers le
 client. Plus on attend pour la corriger plus l’intervention sera difficile. Une analogie est fait
 avec les intérêts d’une dette financière avec le risque de ne plus pouvoir payer la somme
 initiale mais juste devoir rembourser les intérêts.

 La dette technique est constituée par la somme des travaux requis pour corriger les
 défauts de l’application (maintenance évolutive ou corrective). Par analogie avec la dette
 financière, plus on attend pour rembourser la dette plus les intérêts coutent cher. A partir
 d’un certain temps, la dette n’est pas remboursable, on ne fait que payer les intérêts.

 Il est possible de catégoriser la dette en 2 catégories :

 Dette technique intentionnelle

 Souvent du respect des délais et cout de réalisation qui sont bien souvent en opposition
 par rapport à la qualité.



08/01/2013   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   4
Dette technique non intentionnelle
C’est ce qui génère de la maintenance (fonctionnalité non comprise ou non livrée ou bug).
Ces dettes techniques peuvent être assumées ou non.
A quoi sert la dette technique ?
La dette technique est donc un concept permettant d’avoir un cout de remédiation pouvant
être comparé entre projets et pouvant être communiquer aux supérieurs ou aux personnes
en charges des budgets.

Les catégories communes de dette technique :
-    Pression du business
-    Manque de process
-    Manque d’implication
-    Manque de tests
-    Manque de documentation
-    Peu de collaboration / synchronisation
-    Développement parallèle
-    Refactorisation du code repoussée

Pour aller plus loin :
•   L'article de Bastien Jaillot sur la dette technique
• Maitrisez votre dette technique avec Xebia
08/01/2013   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   5
Comment mesurer cette dette technique ?

Il existe plusieurs moyen de détecter et de mesurer la dette technique.
Il existe un plugin Sonar de base qui calcule des prémisses de cout de remédiation.
Une entreprise français a développé une méthode propre au calcul de la dette technique,
la méthode SQALE (méthode sous licence Creative Commons).

Calcul de dette technique

Un plugin de base existe pour Sonar, il calcule le cout de remédiation grâce à la formule
suivante :
Debt(in man days) =
• cost_to_fix_duplications +
•    cost_to_fix_violations +
•    cost_to_comment_public_API +
•    cost_to_fix_uncovered_complexity +
•    cost_to_bring_complexity_below_threshold +
•    cost_to_cut_cycles_at_package_level

Pour aller plus loin :
•     http://docs.codehaus.org/display/SONAR/Technical+Debt+Calculation



08/01/2013   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   6
SQALE
(Software Quality Assessment based on Lifecycle Expectations)

 SQALE est une méthode de calcul de dette technique. L'idée générale derrière SQALE est
 de donner un coût de remédiation par sujet générateur de dette technique.
 Parmi les principes de base, SQALE indique que la qualité du code source est une exigence
 technique au même titre que, par exemple, la vitesse de chargement d'un écran. C'est
 donc une exigence quantifiable, mesurable et comparable.
 Par exigence on entend par exemple, le nombre de ligne dans une méthode, le nombre
 d'imbrication if, le nombre de ligne de commentaire.

 SQALE se décompose en 5 étapes consécutives

 1.          Modèle qualité: décrit les indicateurs
 2.          Modèle d'analyse 1 - Les fonctions de remédiations : que faire quand l'indicateur
             n'est pas bon
 3.          Modèle d'analyse 2 - Les cout de remédiation : combien coute une remédiation
 4.          Indices : répartition des données suivants des indices SQALE (Testabilité,
             maintenabilité, portabilité,etc..)
 5.          Agrégation et tableau de bord.



08/01/2013         Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   7
SQALE propose un plugin pour analyser et calculer le cout de remédiation à l'aide de la
plateforme Sonar :




                                                                                                                                Pour aller plus loin :

                                                                                                                                •http://fr.wikipedia.org/wiki/SQALE
                                                                                                                                •http://www.sonarsource.com/products
                                                                                                                                /plugins/governance/sqale/




08/01/2013   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com     8
Conclusion

 Cette première approche des concepts de dette techniques et de SQALE montrent que les
 outils d'amélioration de qualité sont prêts et sont ergonomiques.
 A nous de plonger la dedans pour nous aider à améliorer notre production.
 Vous pouvez également jeter un œil à la présentation de ces concepts par l’équipe de
 SonarSource .
 Have fun!




08/01/2013   Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com   9

Contenu connexe

Tendances

Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
TelecomValley
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
Sylvain Leroy
 
Conférence: L'assurance qualité au-delà de la qualité logicielle
Conférence: L'assurance qualité au-delà de la qualité logicielleConférence: L'assurance qualité au-delà de la qualité logicielle
Conférence: L'assurance qualité au-delà de la qualité logicielle
geosaa
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
Sylvain Leroy
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
Sylvain Leroy
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
TelecomValley
 
Solutions Linux2008 Construire Sa Vision Qualite
Solutions Linux2008 Construire Sa Vision QualiteSolutions Linux2008 Construire Sa Vision Qualite
Solutions Linux2008 Construire Sa Vision Qualite
francois.le.droff
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
Marc Hage Chahine
 
Indicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanshipIndicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanship
Christophe Moustier
 
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
TelecomValley
 
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
XP Day CH
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
TelecomValley
 
IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...
IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...
IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...
TelecomValley
 
Qualite1
Qualite1Qualite1
Qualite1
Rachid Lajouad
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012
agnes_crepet
 
Clean Architecture et Code patrimonial
Clean Architecture et Code patrimonialClean Architecture et Code patrimonial
Clean Architecture et Code patrimonial
Agile Montréal
 
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
OCTO Technology
 
Contractualisation agile : Saison 2 (atm)
Contractualisation agile :  Saison 2 (atm)Contractualisation agile :  Saison 2 (atm)
Contractualisation agile : Saison 2 (atm)
Michel Lejeune
 
Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...
Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...
Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...
TelecomValley
 
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
TelecomValley
 

Tendances (20)

Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
 
Conférence: L'assurance qualité au-delà de la qualité logicielle
Conférence: L'assurance qualité au-delà de la qualité logicielleConférence: L'assurance qualité au-delà de la qualité logicielle
Conférence: L'assurance qualité au-delà de la qualité logicielle
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
 
Solutions Linux2008 Construire Sa Vision Qualite
Solutions Linux2008 Construire Sa Vision QualiteSolutions Linux2008 Construire Sa Vision Qualite
Solutions Linux2008 Construire Sa Vision Qualite
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
 
Indicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanshipIndicateurs REPaRéD pour le testing craftsmanship
Indicateurs REPaRéD pour le testing craftsmanship
 
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
 
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
 
IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...
IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...
IA pour les tests logiciels - LEGEARD - Smartesting Université Franche Comté-...
 
Qualite1
Qualite1Qualite1
Qualite1
 
Iut lyon 1 introduction à l'agilité - 20 juin 2012
Iut lyon 1   introduction à l'agilité - 20 juin 2012Iut lyon 1   introduction à l'agilité - 20 juin 2012
Iut lyon 1 introduction à l'agilité - 20 juin 2012
 
Clean Architecture et Code patrimonial
Clean Architecture et Code patrimonialClean Architecture et Code patrimonial
Clean Architecture et Code patrimonial
 
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
 
Contractualisation agile : Saison 2 (atm)
Contractualisation agile :  Saison 2 (atm)Contractualisation agile :  Saison 2 (atm)
Contractualisation agile : Saison 2 (atm)
 
Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...
Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...
Tests exploratoires & IA - BLANC ASSANTE DI CAPILLO - Promyze Amadeus - Soiré...
 
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
Soirée du Test Logiciel - Administration et orchestration des tests avec Refe...
 

En vedette

Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
Sylvain Leroy
 
Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!
cyrilpicat
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Puppet
 
Php 100k
Php 100kPhp 100k
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
Ippon
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
Volker Hirsch
 

En vedette (6)

Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
 
Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!Make use of Sonar for your mobile developments - It's easy and useful!
Make use of Sonar for your mobile developments - It's easy and useful!
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Php 100k
Php 100kPhp 100k
Php 100k
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similaire à Qualité de code, sonar, la dette

Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussiAfterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
cyrilpicat
 
L'ADN d'un développement produit réussi
L'ADN d'un développement produit réussiL'ADN d'un développement produit réussi
L'ADN d'un développement produit réussi
OCTO Technology Suisse
 
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
OCTO Technology
 
Accélérez itSMF 2013
Accélérez itSMF 2013Accélérez itSMF 2013
Accélérez itSMF 2013
itSMF France
 
SQLI - Club des DSI - Mobilité
SQLI - Club des DSI - MobilitéSQLI - Club des DSI - Mobilité
SQLI - Club des DSI - Mobilité
SQLI DIGITAL EXPERIENCE
 
présentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfprésentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdf
ghiz-
 
Dossier de compétencesTK
Dossier de compétencesTKDossier de compétencesTK
Dossier de compétencesTK
Clementine D.
 
Presentation inochi réalisations / développement - Accompagnateur Web
Presentation inochi réalisations / développement - Accompagnateur WebPresentation inochi réalisations / développement - Accompagnateur Web
Presentation inochi réalisations / développement - Accompagnateur Web
INOCHI
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
Fabrice Bellingard
 
Déploiement de services OGC à la FADQ
Déploiement de services OGC à la FADQDéploiement de services OGC à la FADQ
Déploiement de services OGC à la FADQ
ACSG Section Montréal
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
Julien Vq
 
Agenda event CostOS-09.10.2014
Agenda event CostOS-09.10.2014Agenda event CostOS-09.10.2014
Agenda event CostOS-09.10.2014
Simona CRETU
 
Plaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.fr
Plaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.frPlaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.fr
Plaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.fr
Agence Digitale SQUIRREL
 
Presentation Afi Grh 2.0
Presentation Afi Grh 2.0Presentation Afi Grh 2.0
Presentation Afi Grh 2.0
afi.opac.2.0
 
Presentation de Scub
Presentation de ScubPresentation de Scub
Presentation de Scub
Stéphane Traumat
 
Agile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique ResponsableAgile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique Responsable
Christophe Rochefolle
 
Présentation Voirin Club DSI EST 150217
Présentation Voirin Club DSI EST 150217Présentation Voirin Club DSI EST 150217
Présentation Voirin Club DSI EST 150217
VOIRIN Consultants
 
Réussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileRéussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobile
OCTO Technology Suisse
 
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Thierry Pastorello
 

Similaire à Qualité de code, sonar, la dette (20)

Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussiAfterwork OCTO Delivery - L'ADN d'un développement produit réussi
Afterwork OCTO Delivery - L'ADN d'un développement produit réussi
 
L'ADN d'un développement produit réussi
L'ADN d'un développement produit réussiL'ADN d'un développement produit réussi
L'ADN d'un développement produit réussi
 
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
Petit-déjeuner "Secteur Public : Retour d'expérience sur la refonte en agile ...
 
Accélérez itSMF 2013
Accélérez itSMF 2013Accélérez itSMF 2013
Accélérez itSMF 2013
 
SQLI - Club des DSI - Mobilité
SQLI - Club des DSI - MobilitéSQLI - Club des DSI - Mobilité
SQLI - Club des DSI - Mobilité
 
présentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfprésentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdf
 
Nicolas_DINASQUET
Nicolas_DINASQUETNicolas_DINASQUET
Nicolas_DINASQUET
 
Dossier de compétencesTK
Dossier de compétencesTKDossier de compétencesTK
Dossier de compétencesTK
 
Presentation inochi réalisations / développement - Accompagnateur Web
Presentation inochi réalisations / développement - Accompagnateur WebPresentation inochi réalisations / développement - Accompagnateur Web
Presentation inochi réalisations / développement - Accompagnateur Web
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
 
Déploiement de services OGC à la FADQ
Déploiement de services OGC à la FADQDéploiement de services OGC à la FADQ
Déploiement de services OGC à la FADQ
 
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
 
Agenda event CostOS-09.10.2014
Agenda event CostOS-09.10.2014Agenda event CostOS-09.10.2014
Agenda event CostOS-09.10.2014
 
Plaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.fr
Plaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.frPlaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.fr
Plaquette commerciale 2021 - Agence digitale SQUIRREL - www.squirrel.fr
 
Presentation Afi Grh 2.0
Presentation Afi Grh 2.0Presentation Afi Grh 2.0
Presentation Afi Grh 2.0
 
Presentation de Scub
Presentation de ScubPresentation de Scub
Presentation de Scub
 
Agile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique ResponsableAgile Secteur Public - Numérique Responsable
Agile Secteur Public - Numérique Responsable
 
Présentation Voirin Club DSI EST 150217
Présentation Voirin Club DSI EST 150217Présentation Voirin Club DSI EST 150217
Présentation Voirin Club DSI EST 150217
 
Réussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileRéussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobile
 
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
Lesclsdevotrestratgieebusinesslinternational 131209074509-phpapp02
 

Plus de Novencia Groupe

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateforme
Novencia Groupe
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdata
Novencia Groupe
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance unique
Novencia Groupe
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOUR
Novencia Groupe
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2
Novencia Groupe
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2
Novencia Groupe
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014
Novencia Groupe
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
Novencia Groupe
 
Sonar
Sonar Sonar
Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012
Novencia Groupe
 
Les systèmes de compensation
Les systèmes de compensationLes systèmes de compensation
Les systèmes de compensation
Novencia Groupe
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitaux
Novencia Groupe
 
Mobile development
Mobile developmentMobile development
Mobile development
Novencia Groupe
 
Nouveautés disponibles dans asp
Nouveautés disponibles dans aspNouveautés disponibles dans asp
Nouveautés disponibles dans asp
Novencia Groupe
 
Les 3 modes de concurrence wcf
Les 3 modes de concurrence wcfLes 3 modes de concurrence wcf
Les 3 modes de concurrence wcf
Novencia Groupe
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marché
Novencia Groupe
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
Novencia Groupe
 
Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010
Novencia Groupe
 

Plus de Novencia Groupe (20)

Datalake de l'idée à la plateforme
Datalake de l'idée à la plateformeDatalake de l'idée à la plateforme
Datalake de l'idée à la plateforme
 
Ambient intelligence & bigdata
Ambient intelligence & bigdataAmbient intelligence & bigdata
Ambient intelligence & bigdata
 
Workshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance uniqueWorkshop Fonctionnel - Mecanisme surveillance unique
Workshop Fonctionnel - Mecanisme surveillance unique
 
Workshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOURWorkshop Fonctionnel - TITRISATION : LE RETOUR
Workshop Fonctionnel - TITRISATION : LE RETOUR
 
L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2L’approche Big Data en finance de marché 2/2
L’approche Big Data en finance de marché 2/2
 
L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2L’approche Big Data en finance de marché 1/2
L’approche Big Data en finance de marché 1/2
 
Les Acronymes financiers de 2014
Les Acronymes financiers de 2014Les Acronymes financiers de 2014
Les Acronymes financiers de 2014
 
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
FATCA et DODD-FRANK : Deux lois américaines qui s’imposent aux banques europé...
 
Sonar
Sonar Sonar
Sonar
 
Visual studio 2012
Visual studio 2012Visual studio 2012
Visual studio 2012
 
Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012Euro II : Nouvelle donne 2012
Euro II : Nouvelle donne 2012
 
Les systèmes de compensation
Les systèmes de compensationLes systèmes de compensation
Les systèmes de compensation
 
Présentation des marché de capitaux
Présentation des marché de capitauxPrésentation des marché de capitaux
Présentation des marché de capitaux
 
Mobile development
Mobile developmentMobile development
Mobile development
 
Nouveautés disponibles dans asp
Nouveautés disponibles dans aspNouveautés disponibles dans asp
Nouveautés disponibles dans asp
 
La crise de l'euro
La crise de l'euroLa crise de l'euro
La crise de l'euro
 
Les 3 modes de concurrence wcf
Les 3 modes de concurrence wcfLes 3 modes de concurrence wcf
Les 3 modes de concurrence wcf
 
Introduction à la finance de marché
Introduction à la finance de marchéIntroduction à la finance de marché
Introduction à la finance de marché
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
 
Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010Déployer une application directement depuis visual studio 2010
Déployer une application directement depuis visual studio 2010
 

Qualité de code, sonar, la dette

  • 1. Qualité de code, Sonar, La dette technique et SQALE en 5 minutes Mikael KROCK
  • 2. L’ ère des développeurs barbus enfermés dans une pièce noire travaillant seuls est maintenant révolue. Nous travaillons dans une industrie ou nous façonnons un produit : notre logiciel. Il est composé de multiples parties – le code source, il est assemblé et testé au moyens de divers outils – IDE, mails, intégration continue - et pour faire cela nous utilisons plusieurs systèmes de production – Test Driven Development, Scrum, Lean. Dans cette optique-là, nous faisons attention à la qualité de notre code source pour que notre produit fini soit de meilleure qualité possible. Pour mesurer la qualité du code nous avons en premier lieu, besoin de créer des indicateurs (nombre de lignes de code, nombre de commentaires, taux de couverture de code.) En second lieu, nous avons besoin d'un outil analysant et synthétisant ces indicateurs. Sonar nous permet de faire cela de manière assez intuitives et ergonomique. 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 2
  • 3. Sonar Sonar est une plateforme de gestion de qualité du code source. Elle permet de régler des indicateurs de qualité, de gérer plusieurs projets, d'analyser le code source et d'afficher des tableaux de bords personnalisés. Sonar est hautement configurable et grâce à un système de plugins (libre, gratuit ou payant), il est possible de personnaliser l'outil par rapport à son besoin. Pour aller plus loin : • http://www.sonarsource.org/ • quelques screencasts http://www.sonarsource.org/screencasts/ Sonar source in action 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 3
  • 4. Dette technique La dette technique est une néologie associant le concept de dette financière au monde du développement logiciel. On dit que si on livre une fonctionnalité contenant un défaut on a une dette envers le client. Plus on attend pour la corriger plus l’intervention sera difficile. Une analogie est fait avec les intérêts d’une dette financière avec le risque de ne plus pouvoir payer la somme initiale mais juste devoir rembourser les intérêts. La dette technique est constituée par la somme des travaux requis pour corriger les défauts de l’application (maintenance évolutive ou corrective). Par analogie avec la dette financière, plus on attend pour rembourser la dette plus les intérêts coutent cher. A partir d’un certain temps, la dette n’est pas remboursable, on ne fait que payer les intérêts. Il est possible de catégoriser la dette en 2 catégories : Dette technique intentionnelle Souvent du respect des délais et cout de réalisation qui sont bien souvent en opposition par rapport à la qualité. 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 4
  • 5. Dette technique non intentionnelle C’est ce qui génère de la maintenance (fonctionnalité non comprise ou non livrée ou bug). Ces dettes techniques peuvent être assumées ou non. A quoi sert la dette technique ? La dette technique est donc un concept permettant d’avoir un cout de remédiation pouvant être comparé entre projets et pouvant être communiquer aux supérieurs ou aux personnes en charges des budgets. Les catégories communes de dette technique : - Pression du business - Manque de process - Manque d’implication - Manque de tests - Manque de documentation - Peu de collaboration / synchronisation - Développement parallèle - Refactorisation du code repoussée Pour aller plus loin : • L'article de Bastien Jaillot sur la dette technique • Maitrisez votre dette technique avec Xebia 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 5
  • 6. Comment mesurer cette dette technique ? Il existe plusieurs moyen de détecter et de mesurer la dette technique. Il existe un plugin Sonar de base qui calcule des prémisses de cout de remédiation. Une entreprise français a développé une méthode propre au calcul de la dette technique, la méthode SQALE (méthode sous licence Creative Commons). Calcul de dette technique Un plugin de base existe pour Sonar, il calcule le cout de remédiation grâce à la formule suivante : Debt(in man days) = • cost_to_fix_duplications + • cost_to_fix_violations + • cost_to_comment_public_API + • cost_to_fix_uncovered_complexity + • cost_to_bring_complexity_below_threshold + • cost_to_cut_cycles_at_package_level Pour aller plus loin : • http://docs.codehaus.org/display/SONAR/Technical+Debt+Calculation 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 6
  • 7. SQALE (Software Quality Assessment based on Lifecycle Expectations) SQALE est une méthode de calcul de dette technique. L'idée générale derrière SQALE est de donner un coût de remédiation par sujet générateur de dette technique. Parmi les principes de base, SQALE indique que la qualité du code source est une exigence technique au même titre que, par exemple, la vitesse de chargement d'un écran. C'est donc une exigence quantifiable, mesurable et comparable. Par exigence on entend par exemple, le nombre de ligne dans une méthode, le nombre d'imbrication if, le nombre de ligne de commentaire. SQALE se décompose en 5 étapes consécutives 1. Modèle qualité: décrit les indicateurs 2. Modèle d'analyse 1 - Les fonctions de remédiations : que faire quand l'indicateur n'est pas bon 3. Modèle d'analyse 2 - Les cout de remédiation : combien coute une remédiation 4. Indices : répartition des données suivants des indices SQALE (Testabilité, maintenabilité, portabilité,etc..) 5. Agrégation et tableau de bord. 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 7
  • 8. SQALE propose un plugin pour analyser et calculer le cout de remédiation à l'aide de la plateforme Sonar : Pour aller plus loin : •http://fr.wikipedia.org/wiki/SQALE •http://www.sonarsource.com/products /plugins/governance/sqale/ 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 8
  • 9. Conclusion Cette première approche des concepts de dette techniques et de SQALE montrent que les outils d'amélioration de qualité sont prêts et sont ergonomiques. A nous de plonger la dedans pour nous aider à améliorer notre production. Vous pouvez également jeter un œil à la présentation de ces concepts par l’équipe de SonarSource . Have fun! 08/01/2013 Groupe NOVENCIA - 25 Rue de Maubeuge 75009 PARIS - Tél. : 01 44 63 53 13 - Fax : 01 44 63 53 14 - www.novencia.com - contact@novencia.com 9