Product
Company
2024 Code analytics software | Codigy. All Rights Reserved, Codigy UAB ©
File insights
Features
Rich metadata that explains who uses the file, why, and how. Start your hotspot investigation here and make informed decisions.
File insights are available in any Codigy tool where you see files, i.e. Module Insights Map, Ownership Map or Effort Trace Map.
First tab with dense information about key stats, ownership and activity patterns👇
1. Full file path - a simple path is handy👀.
2. Size - shows current file size in lines of code, line graph for the selected period and delta from the previous period.
Bloated files are an issue in itself (violates the "single purpose", and "fits in your head" principles), but things get even worse in case the file is also shared by multiple domains and frequently changed.
3. Change frequency - total number of features that changed this file in the selected period, line graph for the selected period, and delta from the previous period of the same length.
If a file has no "red flags", frequent changes are normal. However, if a file is oversized, and shared by multiple teams and domains - frequent changes are an indicator that our teams waste a lot of time by working with this inefficiently organized file.
4. Module - if a file belongs to a module, its name, and assigned owner will be displayed. In Codigy, the file can belong to multiple modules, however, this is not a recommended state (See point number 7 in this list).
5. CODEOWNERS - if a file is mentioned in your CODEOWNERS file, all mentioned entities will be listed here. In case you see a label [Not linked], it means that this GitHub Group is not associated with any Domains or Teams in Codigy. You can fix that by going into Org. chart and adding a link in Domain or Team settings.
CODEOWNERS files is usually used to automatically assign reviewers. We recommend listing a single team (ideally, CODEOWNERS, the assigned owner of the module, the team with the highest confidence - should match).
6. Confidence - score calculated by Codigy that indicates which team has the most hands-on experience with the file. Unlike activity, Confidence works by analyzing patterns in longer periods.
The ideal case is described in point 5 in this list👆 If a team with the highest confidence is not assigned as owner, it is a good time to look at this file/module. If some other team has higher confidence, that usually means they frequently make changes in this file/module and have to wait for PR approvals from another team, which takes longer than reviews within a team.
In case the file is marked as lost knowledge, this is a red flag that means we will have to spend more time when changing this file as we will need to recover knowledge. It also means that the likelihood of failure will be higher.
7. Contributing domains / Contributing teams / Contributors - Codigy counts a number of unique entities in the period and calculates the delta from a previous period of the same length.
A domain is a communication and knowledge silo with a thick wall. Each team within a domain is also a silo. The chance of effective communication between these entities is low.
If a file is being changed by multiple contributors from multiple teams and domains it has a high likelihood of:
Changes and Peer review will be very slow;
Risk of failure is high;
The more contributors, teams, and domains we see in a file - the worse it gets. Good starting point - a single team is assigned as owner and reviews all changes. Ideal case, all changes are being done by owners only.
Second tab with detailed log of all features that changed this file in the selected period👇
1. Filter - features can be filtered by an author (Domain or team).
2. Features - clicking on the feature card opens Feature Insights.
This tool will include not only features that started during the selected range, but also feature branches that started earlier but were still active in the selected range:
Using this image as an example, Feature/CDGY-87 will be outside the scope. Whereas all events from both Feature/CDGY-92 and Feature/CDGY-97 will be in the scope. Please note that events that happened for Feature/CDGY-97 on days 3 and 4 are also included for consistency.
Only stale features are excluded from the scope of this tool.
Need a more detailed explanation about any of the Codigy metrics or mechanics? Fire away in our community chat on Discord 👌
This page was last revised on June 28, 2023
Back to mainProduct
2024 Code analytics software | Codigy. All Rights Reserved, Codigy UAB ©