If your organization develops Java applications, chances are that Sonar could be very valuable for you. Sonar helps you calculate your technical debt by analyzing your project’s source code. Here’s Ward Cunningham’s definition of it:
Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite… The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt. Entire engineering organizations can be brought to a stand-still under the debt load of an unconsolidated implementation, object-oriented or otherwise.
So technical debt is what your project accumulates when you, for example, allow code duplication or by lacking enough code coverage for your code. Sonar allows you to put all that work that you know you have to do at some point into numbers.
When I used it for some of my projects, it validated the ideas I had on those project’s relative quality. But to have it put in numbers is a really useful indicator and a great weapon when talking to management if you’re looking for a budget to do some refactoring.