Add CI Build Stability to your Sonar Dashboard

by freddy mallet|

    Sonar is known as being the open source platform to evaluate and report continuously on source code quality. Its basic role is to evaluate the code technical debt that slows down productivity. Of course, several factors can lead to a productivity slump and poor code quality is only one of them.

    Another one is the effectiveness of the Continuous Integration process. CI practice is directly inspired by Lean Manufacturing practices and the main goal is to "Create a continuous process flow to bring problems to the surface ... as quick as possible". When the Continuous Integration flow fails, this is very good feedback to hear : "Hey guys, stop the line. You first need to fix this issue : compilation failure, unit tests failures...". But if the CI flow fails too often this is also a bad news as lot of time is spent fixing the problem and not developing new features.

    The Sonar Build Stability plugin has been developed by Evgeny Mandrikov to evaluate the stability and the effectiveness of this CI flow. It currently enables to answer two questions on a given period of time :

    • How long does it take to get valuable feedback ?
    • How often was the build broken in the given period ?

    Once installed, this plugin is automatically launched by Sonar on every project as long as the Maven pom.xml file contains a "ciManagement" node or that CI engine URL is configured in the plugin. The following new widget is then displayed in the Sonar web interface :

    The current version 1.0.1 supports Hudson and Bamboo CI engines. Next version might be extended to cover Teamcity and respond to a third question : "When the build is broken, how long does it take to fix it ?"

    This plugin is definitely a great addition to evaluate how Lean we are.