SlideShare a Scribd company logo
JEE Conf



           Continuous Inspection
           Fight back the 7 deadly sins
           of the developer!




           Olivier Gaudin
           olivier.gaudin@sonarsource.com
           @gaudol
Back in old times
The genius
The super hero




Au fin fond de l'Univers, à des années
et des années-lumière de la Terre,
Veille celui que le gouvernement
intersidéral appelle quand il n'est plus
Capable de trouver une solution à
ses problèmes, quand il ne reste plus
Aucun espoir :

le Capitaine FLAM !
This is my toy
Fear of changes
Industrialisation has entered the game...

              ●   Project under version control
              ●   Project under continuous
                  integration
              ●   Technical and functional
                  traceability
What is the mission of today's developer ?




                 ?
Sustainable development
(Almost) Everything is maintenance !



       Creation of an
        application




   Maintenance
 of an application
Nothing is more important than code
But source code is nothing alone
Old times are over
Developing for others
Methodology
Transparency
Software factories evolve




        Makefile         Issue Tracker                 IDE                    Continuous
                                                   Refactoring                Inspection

 VI /              SCM               Continuous                  Unit Tests
Emacs                                Integration
Pushed by requirements
Configuration Manager

●   No change should be authorized to production
    system without being in configuration manager
●   The complete version of an application should
    be found easily in the source control manager
Pushed by requirements
Continuous Integration

●   Projects in SCM can be built by anybody at any
    time
●   Executing unit tests is part of the build process
●   The output of a build is an artifact “ready to
    be used”
●   If one of those requirements is not fulfilled,
    nothing is more important than fixing it
Pushed by requirements
Continuous Inspection

●   Any new code should ship with corresponding
    unit tests
●   No new method should exceed a pre-defined
    level of complexity
●   No cycle between packages should be
    introduced
●   ...
BUT...
Maturity steps should be followed

●   Insuring technical traceability
    Configuration Manager
●   Insuring functional traceability
    Issue Manager
●   Insuring build stability
    Continuous Integration
●   Insuring source code quality
    Continuous Inspection (Sonar)
The end does not justify the means


    Doing the right software




    Doing the software right
What is quality?




      « A well-written program is a program
     where the cost of implementing a feature
 is constant throughout the program's lifetime. »

                                        Itay Maman
How to measure quality ?
The technical debt
The 7 deadly sins
of the developer




                      Sins




                    Technical
                      Debt
The 7 deadly sins ?
Applied to source code

●   ?
●   ?
●   ?
●   ?
●   ?
●   ?
●   ?
The 7 deadly sins ?
Applied to source code

●   Duplications
●   Bad distribution of complexity
●   Spaghetti Design
●   Lack of unit tests
●   No coding standards
●   Potential bugs
●   Not enough or too many comments
The mission of Sonar




  Declare open the hunt of the
   developer's 7 deadly sins
The mission of Sonar
More seriously




Augment everybody's capability
 to reduce, reuse and recycle
         source code
Sonar: a reality




     6,000+        downloads per month (300 in 2008)

     1,300+        subscribers to mailing list

     60            plugins in the open source forge

     150,000       downloads


     X?,000        instances in the world
Demo
Sonar is only a tool !

●   What should happen in case new defects are
    added ?
●   How, when and who should make quality
    standards evolve ?
●   How to train new joiners ?
●   Any measure reported must be analysed
The « Done, Done, Done, Done »


●   Developed
●   Tested
●   Approved by the « Product
    Owner »
●   Technical debt under control
Roadmap 2012

Review                       Expand rules
Process                      and metrics
          Governance
          dashboards
                                        Sonar IDE
                        Quality of
 Track changes          Unit Tests
                                        PL/SQL
                       Code
                       Churn         Developer
                                     Cockpit
                         Sonar-cpd
           VB .NET                       ABAP 2.0
                       C++
Questions & Answers




      Thank You !
       http://www.sonarsource.org
       http://www.sonarsource.com

More Related Content

PPTX
Sonar Review
PPTX
Sonar Overview
PDF
Sonar Metrics
KEY
Unit Testing Your Application
PPTX
Track code quality with SonarQube - short version
PDF
ITAKE Unconference - Holding down your technical debt with Sonarqube
PDF
Tracking and improving software quality with SonarQube
PPTX
A year of SonarQube and TFS/VSTS
Sonar Review
Sonar Overview
Sonar Metrics
Unit Testing Your Application
Track code quality with SonarQube - short version
ITAKE Unconference - Holding down your technical debt with Sonarqube
Tracking and improving software quality with SonarQube
A year of SonarQube and TFS/VSTS

What's hot (20)

PDF
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
PPTX
SonarQube: Continuous Code Inspection
PDF
SonarQube - Should I Stay or Should I Go ?
PPTX
Track code quality with SonarQube
PDF
Code Review with Sonar
PDF
SonarQube
PPTX
Sonar qube to impove code quality
PPTX
Tracking your Technical Debt with Sonarqube
PDF
Code Quality Lightning Talk
PDF
Quality Assurance Guidelines
PPTX
PPTX
Automation and Technical Debt
PDF
Static code analysis
PDF
Code Review
PPT
How to become a testing expert
PPTX
Code review process with JetBrains UpSource
PDF
Leaning on the two Ts
PDF
Java Source Code Analysis using SonarQube
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
SonarQube: Continuous Code Inspection
SonarQube - Should I Stay or Should I Go ?
Track code quality with SonarQube
Code Review with Sonar
SonarQube
Sonar qube to impove code quality
Tracking your Technical Debt with Sonarqube
Code Quality Lightning Talk
Quality Assurance Guidelines
Automation and Technical Debt
Static code analysis
Code Review
How to become a testing expert
Code review process with JetBrains UpSource
Leaning on the two Ts
Java Source Code Analysis using SonarQube
Ad

Viewers also liked (16)

PPTX
Tech debt will kill us
PDF
Análise de qualidade de código com Sonar - Fernando Boaglio
PPT
Maven Overview
PPTX
Maven for Dummies
PDF
Maven 3 Overview
PPT
Maven Introduction
PPT
Demystifying Maven
PPTX
An Introduction to Maven
PDF
Repository Management with JFrog Artifactory
PDF
Continuous delivery-with-maven
PPTX
Artifactory Docker Integration Webinar
PDF
Jenkins with SonarQube
KEY
The Technical Debt Trap - Michael "Doc" Norton
PPTX
Sonar-Hodson-Maven
PDF
Apache Maven 3
PDF
How to Become a Thought Leader in Your Niche
Tech debt will kill us
Análise de qualidade de código com Sonar - Fernando Boaglio
Maven Overview
Maven for Dummies
Maven 3 Overview
Maven Introduction
Demystifying Maven
An Introduction to Maven
Repository Management with JFrog Artifactory
Continuous delivery-with-maven
Artifactory Docker Integration Webinar
Jenkins with SonarQube
The Technical Debt Trap - Michael "Doc" Norton
Sonar-Hodson-Maven
Apache Maven 3
How to Become a Thought Leader in Your Niche
Ad

Similar to Continuous inspection with Sonar (20)

PDF
PPT
Part5 - enforcing coding standard and best practices with jas forge v1.0
PPTX
Software development lifecycle_release_management
PDF
Continuous Inspection of Code Quality: SonarQube
PPT
Software Engineering Fundamentals Svetlin Nakov
PPT
Software Engineering Fundamentals - Svetlin Nakov
PDF
Continuous Inspection: Fight back the 7 deadly sins of a developer!
PPT
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
PPTX
Continuous integration
PPTX
Continuous Integration & the Release Maturity Model
PDF
Friday final test
PDF
It is a sunny day
PDF
Software Testing and Quality Assurance Assignment 3
PPTX
Continuous Integration and development environment approach
PPTX
unit 1.pptx regasts sthatbabs shshsbsvsbsh
PPTX
Introduction-to-Software-Development.pptx
PPTX
Introduction-to-Software-Development.pptx
PPTX
Blackboard DevCon 2012 - Ensuring Code Quality
PPTX
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
DOCX
Software engineering Questions and Answers
Part5 - enforcing coding standard and best practices with jas forge v1.0
Software development lifecycle_release_management
Continuous Inspection of Code Quality: SonarQube
Software Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals - Svetlin Nakov
Continuous Inspection: Fight back the 7 deadly sins of a developer!
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Continuous integration
Continuous Integration & the Release Maturity Model
Friday final test
It is a sunny day
Software Testing and Quality Assurance Assignment 3
Continuous Integration and development environment approach
unit 1.pptx regasts sthatbabs shshsbsvsbsh
Introduction-to-Software-Development.pptx
Introduction-to-Software-Development.pptx
Blackboard DevCon 2012 - Ensuring Code Quality
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
Software engineering Questions and Answers

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
Empathic Computing: Creating Shared Understanding
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
KodekX | Application Modernization Development
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
Empathic Computing: Creating Shared Understanding
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KodekX | Application Modernization Development
Digital-Transformation-Roadmap-for-Companies.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Dropbox Q2 2025 Financial Results & Investor Presentation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Monthly Chronicles - July 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Continuous inspection with Sonar

  • 1. JEE Conf Continuous Inspection Fight back the 7 deadly sins of the developer! Olivier Gaudin olivier.gaudin@sonarsource.com @gaudol
  • 2. Back in old times
  • 4. The super hero Au fin fond de l'Univers, à des années et des années-lumière de la Terre, Veille celui que le gouvernement intersidéral appelle quand il n'est plus Capable de trouver une solution à ses problèmes, quand il ne reste plus Aucun espoir : le Capitaine FLAM !
  • 7. Industrialisation has entered the game... ● Project under version control ● Project under continuous integration ● Technical and functional traceability
  • 8. What is the mission of today's developer ? ?
  • 10. (Almost) Everything is maintenance ! Creation of an application Maintenance of an application
  • 11. Nothing is more important than code But source code is nothing alone
  • 16. Software factories evolve Makefile Issue Tracker IDE Continuous Refactoring Inspection VI / SCM Continuous Unit Tests Emacs Integration
  • 17. Pushed by requirements Configuration Manager ● No change should be authorized to production system without being in configuration manager ● The complete version of an application should be found easily in the source control manager
  • 18. Pushed by requirements Continuous Integration ● Projects in SCM can be built by anybody at any time ● Executing unit tests is part of the build process ● The output of a build is an artifact “ready to be used” ● If one of those requirements is not fulfilled, nothing is more important than fixing it
  • 19. Pushed by requirements Continuous Inspection ● Any new code should ship with corresponding unit tests ● No new method should exceed a pre-defined level of complexity ● No cycle between packages should be introduced ● ...
  • 20. BUT... Maturity steps should be followed ● Insuring technical traceability Configuration Manager ● Insuring functional traceability Issue Manager ● Insuring build stability Continuous Integration ● Insuring source code quality Continuous Inspection (Sonar)
  • 21. The end does not justify the means Doing the right software Doing the software right
  • 22. What is quality? « A well-written program is a program where the cost of implementing a feature is constant throughout the program's lifetime. » Itay Maman
  • 23. How to measure quality ?
  • 25. The 7 deadly sins of the developer Sins Technical Debt
  • 26. The 7 deadly sins ? Applied to source code ● ? ● ? ● ? ● ? ● ? ● ? ● ?
  • 27. The 7 deadly sins ? Applied to source code ● Duplications ● Bad distribution of complexity ● Spaghetti Design ● Lack of unit tests ● No coding standards ● Potential bugs ● Not enough or too many comments
  • 28. The mission of Sonar Declare open the hunt of the developer's 7 deadly sins
  • 29. The mission of Sonar More seriously Augment everybody's capability to reduce, reuse and recycle source code
  • 30. Sonar: a reality 6,000+ downloads per month (300 in 2008) 1,300+ subscribers to mailing list 60 plugins in the open source forge 150,000 downloads X?,000 instances in the world
  • 31. Demo
  • 32. Sonar is only a tool ! ● What should happen in case new defects are added ? ● How, when and who should make quality standards evolve ? ● How to train new joiners ? ● Any measure reported must be analysed
  • 33. The « Done, Done, Done, Done » ● Developed ● Tested ● Approved by the « Product Owner » ● Technical debt under control
  • 34. Roadmap 2012 Review Expand rules Process and metrics Governance dashboards Sonar IDE Quality of Track changes Unit Tests PL/SQL Code Churn Developer Cockpit Sonar-cpd VB .NET ABAP 2.0 C++
  • 35. Questions & Answers Thank You ! http://www.sonarsource.org http://www.sonarsource.com