Name |
Technical Debt Plugin |
Authors |
Freddy Mallet, Olivier Gaudin |
Homepage |
http://docs.codehaus.org/display/SONAR/Technical+Debt+Plugin |
Jira |
http://jira.codehaus.org/browse/SONARPLUGINS/component/13850 |
Most Recent Version |
0.1-SNAPSHOT |
Availability |
|
State |
Under development |
License |
LGPL v3 |
Download sources |
|
Download jar |
|
Compatibility with Sonar
Plugin versions |
1.6 |
1.7 |
1.8 |
1.9 |
|---|---|---|---|---|
0.1-SNAPSHOT |
|
|
|
|
Description / Features
The Technical Debt plugin is an advanced metric that uses metrics from every axis in Sonar (Duplication, Violations, Complexity, Coverage, Documentation) and combines them to get a global measure.
To keep it accessible and easy to understand, this global indicator basically tries to report how much it would cost to bring all axis to highest values (100% coverage...) and therefore reimburse the Technical Debt. The indicator is calculated in man days and in $$ (that is now really easy to understand, isn't it ?).
The plugin gives as well a repartition of the weight of each axis in the global measure.
This plugin does not pretend to be an exact calculation of what it would cost to reimburse. Its objectives are to :
- enable to compare projects in terms of global quality, not only axis by axis
- give a rough idea of the size of the effort to reimburse the debt (should be adjusted with experience and context)
- help understand where to start to resolve issue, thank to the repartition
Here is the current formula that is used to calculate the debt at any resource level :
Usage & Installation
- Copy the jar into /extensions/plugins/ directory
- Restart Sonar Web server
The plugin is then automatically activated on every resource. Default values can be adjusted by going to Configuration -> Settings -> Technical Debt.
Known limitations
A significant improvement to the would be to gather manual measures : see SONARPLUGINS-91
Having a weight on coding rules or being able to distinguish checkstyle, PMD and FIndbugs would add a lot accuracy

