| Without an outstanding company culture, most KPIs are almost useless. While working at a big corporation we had a velocity initiative supposedly aimed to lead the company toward continuous integration. "How long a PR stays open" was one of the KPIs in a dashboard. I said: "Be careful with that!" People started to close PRs and reopen new PRs with the same code. Middle managers and sometimes the person in the division that was the point of contact for the velocity initiative were asking to do that. The script measuring this KPI was improved to look at the branch name and the code diff. Result? People changing branch name and a change of EOL encoding in the new PR. Learnings?
B and C players with questionable ethics screw companies quite rapidly. In this climate KPIs and aligning them with company values is futile. |
Within a couple of weeks, scripts were circulating to auto-generate and auto-commit tests. If the JVM we were using had a bug in adding random numbers together, we'd have known about it very quickly.
That's about the time I decided I should move on. I'm glad I did. The company I joined treated developers like adults and developers acted like adults. And we had great automated test coverage.
Obligatory mention: https://en.wikipedia.org/wiki/Goodhart%27s_law