4 ms·
+KLoC is a terrible KPI that optimizes for complexity, waste, and artificial job security-seeking behaviors.
by 1letterunixname 3y ago
+KLoC is a terrible KPI that optimizes for complexity, waste, and artificial job security-seeking behaviors.
- deleted 3y ago[deleted]
- ck45 3y agoIt‘s Goodhart‘s law: "When a measure becomes a target, it ceases to be a good measure"
- enva2712 3y agoI’d interperet the cease qualifier in goodhart’s law to require the measure to be good in the first place, but I think SLOC is a negative indicator regardless of whether it’s a target I think there are parallels between Deutsch’s ideas about explanation and the concept of coincident vs inherent complexity
- Almondsetat 3y agoThis also goes for Goodhart's law itself
- arrowsmith 3y agohttps://xkcd.com/2899/ https://xkcd.com/2899/
- deleted 3y ago[deleted]
- samatman 3y agoThis is indeed funny, but the 'tribune' role of finding bad law/process and advocating for its removal is missing from most government, corporate or otherwise, and that's bad. It is in fact the same phenomenon as treating +SLOC as a proxy for productivity. When everyone is rewarded for adding process, but it isn't anyone's job to remove it, a system inevitably ends up with too much process.
- arrowsmith 3y agoLines of code is a bad measure even if it's not a target.
- threatripper 3y agoBut they ARE a KPI that is easy to understand and measure.
- _ZeD_ 3y agothey are not a KPI in the first place. loc is not a performance index of any kind.
- bertylicious 3y agoEdited: wrong parent
- solumunus 3y agoHow can it be a KPI if it doesn’t measure performance?
- threatripper 3y agoIf you type faster you get more LOC. If you slack off all day you get zero. It does measure something, not necessary something useful but zero LOC indicates trouble.
- drchickensalad 3y agoThat's such a limited view which creates terrible incentives. If you work insanely hard solving a problem, you often end up with 0 loc + an incredible amount of understanding. If you slack off all day then spend an hour writing a bunch of sloppy code, you have way more loc than someone who worked all day to refine some simple clear performant code (which is then read 500 times before it's changed, hence the time is earned back with interest). These scenarios don't have to happen for the disincentive to still affect the work people do; there's a continuous problem from the baseline to these extremes.
- datavirtue 3y agoI'm on day two of an analysis, zero code written. I don't know what, if anything, needs written. If I had to pound out something to keep from being zero it would be fraud.
- eloisant 3y agoIt's obvious today to everyone, unfortunately we replaced that by KPI that are no better.