KPI for software engineering

Growth: product map completion in %

Performance: bug rate

Cost efficiency: $ cost per service run / usage / infrastructure utilized capacity

Software engineering is usually a highly creative role with very few routines that can be meaningfully measured on work efficiency or volume. What targets do not work:

  • lines of codes
  • agile sprint points
  • number of tickets closed
  • complex algorithm does not corelate with value it creates

Instead focus on product or software infrastructure attributes (uptime, loading speed, $ cost per performance, etc.)

DevOps metrics:

  1. Lead time for changes

Code change committed → Change deployed in pre-lease tests

High performing teams measure lead times in hours; medium-low perfroming teams in days, weeks,…

2. Change failure rate

% of code changes that require hot fix after production

High performing teams: 0-15%

3. Deployment Delivery frequency

Delivery: changes released into a pre-production staging environment

Deployment: changes released into production

High performing teams: many times a day. Requires automated deplooyment pipeline.

4. Mean time to recovery

How long it takes to recover from partial interruption or total failure

High performing teams: less than 1 hour