1. Home
  2. Docs
  3. DETANGLE® Knowledge Base
  4. DETANGLE® Metrics
  5. Contributor Friction Index

Contributor Friction Index

The Contributor Friction Index (CFI) is a DETANGLE® Architecture Health Factor metric about the modularity of the code base with respect to the separability of contributions per developer. The more friction there is by overlapping work of developers, the lower the modularity of the codebase.

It is based on issue types selected by the “Features” filter and the contributions of developers when implementing these issues. This category filter is normally used to select the issue types which capture the functionality (e.g. user stories or features) as “functional” issues of your system in your issue tracker.

CFI measures the coupling and cohesion of contributors’ code work (when implementing “functional” issues) across the whole codebase and during the last time period.

The more contributors there are to a file due to “functional” issues , the less separable the code is over the contributors, the more each contributor feels less responsible for that file and the lower its Contributor Cohesion.

 

Contributor Cohesion of file X

In addition to Contributor Cohesion, DETANGLE® also measures Contributor Coupling. The more contributors work on a set of files in a chaotic and irregular way to implement some “functional” issues,

  • the more blurred their coding style and comprehensibility,
  • and the higher the Contributor Coupling of these files and their error-proneness are.

 

Contributor Coupling between files 3 and 4

The Contributor Friction Index combines the Contributor Coupling and Cohesion values across all files to one index which represents an Architecture Health Factor Index across all functional issues and all of the code base.

It is calculated for single files, for folders or single “functional” issues and the whole system. The displayed icons follow certain thresholds along the Contributor Friction Index values for the system or for folders:

  1. 👎 CFI exceeds the value of 25, i.e. the system has reached a critical CFI level.
  2. ⚠️ CFI has passed the threshold value of 15 in the last time period, i.e. the system CFI has reached  warning level.
  3. 👍 CFI is lower than 10 and is in a normal state.

Only the contributors’ work on “functional” issues is considered when calculating these contributor metrics for two reasons:

  • it is quite often the case that bug-fixes represent smaller effort (compared to implementing “functional” issues) and and bug-fixing is distributed across many developers for several reasons (e.g. due to the high priority of fixing them or being a means of fast knowledge ramp up for new developers)
  • in order to independently show the error-proneness and maintenance effort spent on files and folders with high CFI values, it is necessary to exclude any work on defects from calculating CFI values

 

The Contributor Friction Index is calculated for single files, for folders or single contributors and the whole system:

Granularity/
Health Factors
per 

bug

per

“functional” issue

per

contri-

butor

per 

file

per

folder

per

entire

system

Feature Debt Index x x x x
Contributor Friction Index x x x x
Defect Impact x x x x
Defect Density x x x x
Team Effectiveness x x x x
Bus Factor

Islands

x x x x
Bus Factor Balances x x x x

Take a look at DETANGLE® Metrics at a Glance for an overview of all metrics.

Was this article helpful to you? Yes No

How can we help?