Issues Management

In-Depth Issues Management

As a static analyzer, JArchitect will likely find hundreds or even thousands of issues affecting a real-world code base. Stopping work to attempt to fix all issues for a few weeks or months would be quite unproductive.

JArchitect estimates the Technical Debt progress since a baseline.

Recent code smells that should be fixed before committing any code to source control are highlighted in JArchitect. They can then be fixed even before reaching the source server. As a consequence the Code Quality remains under control with no major upfront investment.

Concretely, for all global numbers (number of issues, numbers of rules violated, debt estimation...) the Dashboard also shows these numbers' differences since baseline. If it is getting worse the number is red, if it is getting better the number is green. The numbers themselves can be clicked to generate C# LINQ queries against the issues-set. The results of these queries will present the relevant issues in a smart and browsable way.

This flexible approach brings several benefits:

  • You can filter by new issues since baseline.
  • Issues matched by a query can be grouped through code elements or through rules.
  • For each issue, the cost-to-fix is estimated and so its impact on the business, which are named debt and annual interest or severity.
  • Some proposed queries contain heuristics to maximize the issue-fix Return-On-Investment. For example an issue can be relatively easy to fix but still have a high business impact (high severity). This issue should then be fixed first.
  • Queries on the issue-set can be refined and saved to prioritize which issues to fix first.

Related Links:

Browsing the Technical-Debt

C# LINQ Queries and Technical-Debt