Code quality
How easy it is to read, change and reason about the code your team touches every week.
Questions — answer yes or no
- Can a new developer make a small, safe change in the most frequently edited module within their first week?
- Do you know which files change most often and how complex they are (your hotspots)?
- Are new static analysis findings (linter, type checker, code quality scanner) fixed before a pull request is merged?
- Is there one agreed way to handle common concerns such as error handling, logging and data access, instead of several competing patterns?
- When a business rule changes, do you update it in one place rather than in several copies of the same logic?
- Are commented-out code, dead code and unused feature flags removed regularly?
Number of “no” answers: ____ → area score (0–3): ____
Warning signs
- "Only one person dares to touch that module."
- Estimates for small changes in certain parts of the code are routinely inflated "because it is that module".
- Linter or analyser warnings counted in thousands, with nobody looking at them.
Example metrics
- Example: change frequency × complexity per file (hotspots), taken from version control history
- Example: number of files touched by a typical small change
- Example: trend of static analysis findings between releases (the direction matters more than the absolute number)