geekjock
I'm highly skeptical about the tech debt measurement algorithm this article purports to be developing.
Google researchers recently published a paper on their attempts to measure technical debt.
They tested 117 metrics that were proposed as potential indicators.
Regressions were used to test each metric to see whether it could predict an engineer’s perceptions of technical debt.
No single metric or combination of metrics were found to be valid indicators.
Researchers who specialize in this field largely disagree with this. Here's a round-up: https://getdx.com/blog/measuring-developer-activity/
I'm one of the co-authors of the study. I think your sentiment is valid but what you describe is true for most fields of research: conflicts of interest can be a problem.
I can attest to the fact that the researchers behind this study have extensive backgrounds in academic research and hold themselves to high standards. If nothing else, not doing so risks putting individual reputations on the line.
You can't measure developer productivity objectively, assuming you're referring to metrics like lines of code, number of pull requests, or velocity points which are infamous. There's broad agreement on this both within the research community as well as practitioners at leading tech companies.
Here are some examples: https://newsletter.pragmaticengineer.com/p/measuring-develop...
"... and what distinguishes 'good devex' from 'bad devex'"
Yes to this. This is an ongoing effort - we have two previous journal papers that touch on this which may be of interest to you:
- https://getdx.com/research/devex-what-actually-drives-produc...
- https://getdx.com/research/conceptual-framework-for-develope...
It's fairly well-established in research (and in practice) that there is no objective measure of developer productivity. Metrics like lines of code, number of pull requests, velocity points are incredibly poor proxies.
If you read the introduction of the paper, you'll see that the aim of this paper is to give managers and developers concrete data to use to help get buy-in on investing in developer experience from business leaders.
Heroku Is Down - https://twitter.com/search?q=heroku&src=typed_query&f=live
Ask HN: How do “private cloud” SaaS solutions work?
It seems like companies that traditionally offered multi-tenant cloud and on-premises versions of their software are now switching to offering “private cloud” or “managed service” versions that are a hybrid of the previous approaches.From what I can tell, this approach involves the vendor creating and managing a customer’s software instance, but doing so in a single-tenant model on the...
Why it’s difficult to measure developer productivity
Measuring Engineering Productivity
There finally seems to be some level of consensus that output metrics like lines of code, # of PRs, and commits, are an ineffective approach.
Lean metrics like cycle time and lead time can be a helpful high-level diagnostic, but they're far from an indicator of effectiveness or productivity.
A new approach being adopted by many organizations is to focus on the actual experiences of developers... the things that slow them down or frustrate them... and turn these into measurements that guide improvement. I'm the founder of getdx.com where we're publishing research on this: http://paper.getdx.com
What is developer productivity and how do we measure it? What research says
Code ownership correlates with software quality
Right now we're focused on interviewing people in internal-facing roles, but we're exploring doing a series that explores interesting vendors and solutions.
We interview developers and leaders who work on "platform" teams (e.g. devex, devprod, infrastructure) that focus on making developers happier and more productive. If you're interested in this kind of work, or the subject of developer productivity, I think you'd enjoy checking it out.
A couple recent episodes include an interview with a former Dropbox engineer about how they approached measuring productivity, and a conversation with a couple of engineers from LinkedIn who've built a system for gathering real-time feedback about their internal developer tools.
Direct links if helpful:
- Spotify: https://open.spotify.com/show/3NxjyIsuxeDMQtisDqBy7D
- Apple: https://podcasts.apple.com/us/podcast/the-engineering-enable...
Two of my favorites so far are https://homepages.dcc.ufmg.br/~figueiredo/disciplinas/papers... and https://faculty.washington.edu/ajko/papers/Li2019WhatDisting...
Anyone who's built software knows that estimates are guesses and are bound to change once the work actually begins (not to mention if scope changes midway through).
Additionally, velocity does not "count" work happening outside of tickets, e.g., helping with a customer support issue, assisting another developer with legacy code, reviewing other people's work, spending time on feature planning.
^ 100% agree.
Tracking output metrics (including LOC, # of PRs, velocity points) doesn't help you identify or fix poor tooling, culture, or processes.
Metrics like cycle time get a little bit closer, but still fail to account for team context or surface root causes.