Technical and Quality Debt is out of control

Tech Debt and Quality Debt/ EngX processes are not included into delivery.

Symptoms:

  • Issues are not reproducible / not consistent

  • Issues contain not enough detail for debugging

Popular causes:

  • Absence of monitoring and logging,

  • No pre-commit validation and local testing by devs

Discovered by combination of metrics:

Velocity: Committed vs. Completedwhen team does not meet commitments leaving sprint backlog in not completed state by the end of iteration 

Average Velocity and Throughput, when velocity/ throughput dramatically goes into degradation or does not show positive signs of growth over time without any changes in team's setup / capacity 

Backlog Health, when product backlog cannot meet Definition of Ready criteria as solid number of enablers is required in advance 

Sprint Plan Change, when significant amount of scope is being removed or added during active iteration due to blockers / show stoppers found in the middle of the cycle

Bug Growth and Open Bugs Over Time by Priority and Time Spent on Bug Fixing, when high meaning that issues cannot be fixed as extra refactoring or special tech work is required as the baseline first 

Defect Containment, if external team discovers issues during product acceptance (or end users - upon release / in production) which cannot be captured earlier in the cycle due to not testable pieces of work due to technical limitation / data configuration / access provisioning, etc. 

Reopened Defects, when high meaning that first-hand solution 

Unit Test Coverage, when low indicating that there are no Engineering Excellence practices in place 

Defect Density, when high which might mean that there are tightly connected components and/or too many depedencies in the code base causing side effects or breaking related areas 

Reaction/Resolution Target Fulfillment, when constantly not met due to lack of extra scope (e.g. spike) required as enablement to meet targets

Technical Debt, when there are issues in the code detected via static code analysis. 

Recommendations: 

  1. Introduce or enhance EngX in delivery

  2. Introduce or enhance Test Approach 

  3. Introduce or enhance planning process