Explanation | |
Performance Indicators | DETANGLE® metrics capturing the consequences of Technical Debt like the extent of maintenance effort or the ease of adding new features. |
Syst. Effort | The System Effort captures the effort spent on the whole development of the system. It is measured in cLOC (changed lines of code) by taking a weighted sum of added, modified and deleted lines of code.
It is calculated for files, folders and the whole system. |
Feat. Effort | Feature Effort
The development effort spent on implementing new functionality. “Primary” expresses the fact that adding features is considered to be the main purpose of developing software. Functionality is represented by “functional” issues (like user stories, features, improvements etc.) of the issue tracker. Feature Effort is measured in cLOC (changed lines of code) being composed of a weighted sum of added, modified and deleted lines of code. It is calculated for files, folders, “functional” issues or the whole system. |
Feat. Effort (%) | Feature Effort in percent of the whole System Effort. It is a Performance Indicator and is calculated for folders or the whole system. |
Main. Effort | Maintenance Effort
Maintenance (bug-fixing) effort as cLOC (changed lines of code) being composed of a weighted sum of added, modified and deleted lines of code affected during bug fixing. Maintenance Effort is calculated for files, folders, bugs or the whole system. |
Main. Effort (%) | Maintenance Effort in percent of the whole System Effort. It is a Performance Indicator and is calculated for folders or the whole system. |
Feat. Effect. (%) | Feature Effort Effectiveness
It is a Performance Indicator that captures how difficult it is to add new features. It is calculated for files, folders, “functional” issues or the whole system. |
Architecture Health Factors | DETANGLE® metrics about the architecture quality like extensibility and maintainability as potential root causes of bad performance indicator values. |
FDI | Feature Debt Index
The higher the spread of features across files (Feature Cohesion) and the more tangled they are across common files (Feature Coupling), the lower the comprehensibility of the code base and the higher its error-proneness. Feature Debt Index is an Architecture Health Factor about the extensibility of the system and combines Feature Coupling and Feature Cohesion to one metric. It is calculated for files, folders, “functional” issues (like user stories or features from an issue tracker) or the whole system. |
CFI | Committer Friction Index
The higher the number of contributors to single files (Contributor Cohesion) and the more their contributions overlap on common files (Contributor Coupling), the lower the comprehensibility of the code, the less each contributor feels responsible and the more error-prone the code base is. CFI is a DETANGLE® Architectural Health Factor about the modularity of the system by revealing tangled patterns of cooperation between contributors. It reflects the saying that ”too many cooks spoil the broth” and combines “Contributor Cohesion” and “Contributor Coupling”. It is calculated for files, folders, contributors or the whole system. |
DD | Defect Density
It is an Architecture Health Factor about the maintainability of the code base by measuring the extent of defects per new code. It is calculated for files, folders or the whole system. |
DI | Defect Impact
The Defect Impact (DI) is an Architecture Health Factor metric about the maintainability of the code base by measuring the extent of follow-up bugs. It is calculated for files, folders or the whole system. |
Team Metrics | DETANGLE® metrics about the extent of team efficiency, knowledge sharing and their bus factors. And as root causes of bad performance indicator values. |
Team Effect. (%) | Team Effectiveness
Team Effectiveness is a combination of team efficiency and knowledge sharing. Team efficiency measures how the team efficiently works together by splitting the work effort on realizing Features. In contrast, team knowledge sharing measures how the team manages to share knowledge by collaborating in teams-of-two. It is measured per contributor or the whole team and for files, folders or the whole system. |
BFI | Bus Factor Islands
Bus Factor Islands reflects the number of large-effort contributors working on their own on an exclusive set of code modules when implementing Features. It is measured per contributor or the whole team and for files, folders or the whole system. |
BFI | Bus Factor Balances
Bus Factor Balances reflects the number of contributors working in teams-of-two when implementing Features. This working style is considered as the most effective one with respect to knowledge sharing (more on this in our blog post). It is measured per contributor or the whole team and for files, folders or the whole system. |
IEI (%) | Island Effort Index The Island Effort Index metric reflects the share of the Feature Effort spent by all contributors working on their own on an exclusive set of code modules.It is measured per folders or the whole system. |
BEI (%) | Balance Effort Index
The Balance Effort Index metric reflects the share of the Feature Effort spent by all contributors working in teams-of-two. It is measured per folders or the whole system. |
IEI (%) | Island LOC Index The Island LOC Index metric reflects the share of LOC of code modules changed by all contributors working on their own on an exclusive set of code modules with regard to the LOC of all changed code modules when implementing Features.It is measured per folders or the whole system. |
BLI (%) | Balance LOC Index
The Balance LOC Index metric reflects the share of LOC of code modules changed by all contributors working in teams-of-two with regard to the LOC of all changed code modules when implementing Features. It is measured per folders or the whole system. |
KLC | Knowledge Loss Contributors
The Knowledge Loss Contributor metric captures the number of contributors having worked on Features in the previous time period, but not in the latest time period. It is measured per folders or the whole system. |
KLOC | Knowledge Loss in LOC
The Knowledge Loss in LOC metric captures the LOC of source files having been worked on by knowledge loss contributors. It is measured per folders or the whole system. |
KLOC (%) | Knowledge Loss in LOC %
The Knowledge Loss in LOC % metric captures the percentage of LOC of source files having been worked on by knowledge loss contributors compared to the whole system or directory. It is measured per folders or the whole system. |
Code Health Factors |
Code Quality metrics provided by code quality tools (e.g. SonarQube) and integrated into DETANGLE® as potential root causes of bad performance indicator values. These are input values from SonarQube. Read here for more details on Sonar’s approach: https://docs.sonarsource.com/sonarqube/latest/user-guide/metric-definitions/ |
Code Complexity | Code Complexity according to the code quality analysis tool.
It is provided for files, folders or the whole system. |
Code Duplications | Duplicated Lines of Code (LOC) according to the code quality tool.
It is provided for files, folders or the whole system. |
Code Maintainability/Blocker | Number of code maintainability smells considered as blockers by the used code quality analysis tool.
It is provided for files, folders or the whole system. |
Code Maintainability/Critical | Number of code maintainability smells considered as critical by the used code quality analysis tool.
It is provided for files, folders or the whole system. |
Code Reliability/Blocker | Number of code reliability bugs considered as blockers by the used code quality analysis tool.
It is provided for files, folders or the whole system. |
Code Reliability/Critical | Number of code reliability bugs considered as critical by the used code quality analysis tool.
It is provided for files, folders or the whole system. |
Code Vulnerability/Blocker | Number of code security vulnerabilities considered as blockers by the used code quality analysis tool.
It is provided for files, folders or the whole system. |
Code Vulnerability/Critical | Number of code security vulnerabilities considered as critical by the used code quality analysis tool.
It is provided for files, folders or the whole system. |
Technical Debt | Technical Debt – Code metrics are estimated by code quality tools (e.g. Sonarqube) and integrated into DETANGLE® as time estimations to address the technical debt of the code.
Technical Debt – Architecture metrics are predicted by DETANGLE® as effort estimations to address the technical debt of the architecture. |
Technical Debt – Code Reliability (min/Time) | Technical Debt – Code Reliability represents the estimated time (in minutes), needed to remove all hidden reliability findings in the codebase.
It is provided for files, folders or the whole system. |
Technical Debt – Code Maintainability (min/Time) | Technical Debt – Code Maintainability represents the predicted time (in minutes), needed to remove all hidden maintainability code smells in the codebase.
It is provided for files, folders or the whole system. |
Technical Debt – Code Security (min/Time) | Technical Debt – Code Security represents the predicted time (in minutes), needed to remove all hidden security code smells.
It is provided for files, folders or the whole system. |
Technical Debt – Architecture (cLOC) |
It represents the remediation effort to address Feature Coupling and Feature Cohesion in the code base. It is measured in changed Lines of Code (cLOC) predicting the number of Lines of Code that need to be modified in order to improve the architecture by detangling code modules with high feature debt (high feature coupling and/or low feature cohesion).
It is calculated for files, folders or the whole system. |
Technical Debt – Architecture (% Effort) |
It represents the predicted Technical Debt – Architecture Effort (in cLOC) in % of the System Effort spent in the latest selected time period, needed for architecture improvements of the codebase.
It is calculated for files, folders or the whole system. |