On the same vein, depending on what metrics you track, what you deliver vs what you track won’t always align, so you could have what sounds like a simple project - I need to download a csv of data from my UI. What do you do when the data set is too large to display in the UI - or too large to download because your proxy won’t support files that large, and it has parsed data that doesn’t exist in the API so you have to find a way to parse large datasets and download them but not affect the browsing experience of the user?
Now I’ve got tasks for frontend devs, backend devs, infrastructure, decisions to make about UI and UX, and none of those factor in for my work if I’m not on that team - so how do you measure their performance and incentivize it?
On a project level doesn’t make sense because this project spans three teams and my other teams might have other priorities, so now I’m not paid even though I did my part.
If you look at individual metrics for commits, lines of code, PR requests, those can be gamed way too easy by people who are willing to do that.
Until someone comes up with performance based metrics that are objective (which hasn’t happened yet), you’re left with good hiring and management of people and salaried wages. Turning developers into incentive or the equivalent of hourly workers changes the demographics you have solving your problems in addition to the other challenges you have.
It’s a neat idea, but not nearly as simple as it would seem when you start diving into how and consequences and implementation details after you’ve done it