HN user

geekjock

216 karma

co-founder of getdx.com

personal site: abinoda.com

Posts20
Comments64
View on HN
newsletter.pragmaticengineer.com 2y ago

Developer Productivity Metrics Used at Top Tech Comnpanies

geekjock
2pts0
news.ycombinator.com 3y ago

Ask HN: How do “private cloud” SaaS solutions work?

geekjock
1pts4
abinoda.substack.com 3y ago

Why it’s difficult to measure developer productivity

geekjock
1pts0
abinoda.substack.com 3y ago

Measuring Engineering Productivity

geekjock
2pts0
abinoda.substack.com 3y ago

Code ownership correlates with software quality

geekjock
7pts0
venturebeat.com 5y ago

Microsoft’s Nudge service leverages AI to speed up completion of pull requests

geekjock
3pts0
blog.github.com 7y ago

The story behind Pull Reminders, a GitHub App used by 500+ companies

geekjock
1pts0
www.indiehackers.com 7y ago

The struggle of choosing a name and domain for your startup

geekjock
1pts0
status.github.com 8y ago

GitHub is down

geekjock
136pts66
medium.freecodecamp.org 8y ago

Custom Error Pages with React, GraphQL, and Error Boundaries

geekjock
2pts0
news.ycombinator.com 8y ago

Ask HN: Is it GraphQL best practice to limit root query types?

geekjock
2pts0
www.eventbrite.com 8y ago

Tell HN: Chicago Indie Hackers meetup

geekjock
20pts8
news.ycombinator.com 8y ago

Ask HN: I built a referral program for developers, would love feedback

geekjock
9pts8
pullreminders.com 8y ago

Show HN: Automatic Slack reminders for pull requests

geekjock
22pts4
medium.com 9y ago

Coding Bootcamp Hiring Stats Are Still Misleading and Harmful

geekjock
5pts0
medium.com 9y ago

Dev Bootcamp Is Dead, but It Didn't Fail

geekjock
3pts1
hackernoon.com 9y ago

Idempotency, APIs, and Retries – Oh My

geekjock
3pts0
hackernoon.com 9y ago

How to Build a SEO-Friendly React Blog with an API-Based CMS

geekjock
7pts0
abinoda.com 15y ago

Slowing down in this crazy tech startup mania

geekjock
1pts0
abinoda.com 15y ago

Don't Make Me Think

geekjock
3pts0

One of the main challenges when dealing with technical debt has been the lack of a way to measure it. To help overcome that problem, CISQ/OMG led the development of an Automated Technical Debt (ATD) measurement standard, which is currently being updated with a new version expected in 2023.

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.

"I'm a bit pessimistic that much of this research is being driven by large orgs in collaboration with researchers who aren't sufficiently independent."

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.

"Are there any plans to figure out objective ways to measure productivity"

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...

"You could look at literally any objective measure to proxy actual productivity and be better off than this"

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.

I'm one of the co-authors of the study. Your critique is valid though by research standards, for this type of study, our sample is sufficient. We are planning to replicate this study on a larger scale in the future, though!

I'm a developer and am right there with you. But if you're a decades-old corporation with 10,000 engineers, you need some set of signals to help guide improvements to tools and processes, right? This benefits developers, and there should be a set of signals to enable this.

"What should we measure to improve developer productivity?" is a decades-old problem for leaders with no clear solution.

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

I'm the host of the Engineering Enablement podcast: https://getdx.com/engineering-enablement-podcast

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...

The hard truth is that using velocity to measure performance will guarantee that developers bias their estimates to ensure they make themselves look good, thereby making your "estimates" useless.

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.

"Using velocity metrics is like looking for your lost keys under the streetlamp because that's where the light is brightest."

^ 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.

Article author here — thanks for raising this. My article here was published in April 2021 and repurposed from my GitHub Universe talk given in 2019: https://www.youtube.com/watch?v=cRJZldsHS3c

Julian's article was published May 2021, one month after my Leaddev article, so hopefully it's pretty self-evident that Julian plagiarized my article pretty blatantly. I don't know Julian but I've heard from my former customers that his company has copied a lot of the work I did for my previous company, Pull Panda: https://github.blog/2019-06-17-github-acquires-pull-panda/

I'm a solo founder (pullreminders.com) and have been at it for about a year and a half. There are definitely a lot of highs and lows but overall I enjoy the way my work feels very personal and autonomous.

I love this quote by Derek Sivers:

Nobody gives a novelist shit for writing alone. But an entrepreneur, programmer, or musician is expected to collaborate. I disagree, for me. I prefer the life of a novelist, whether I’m writing code, music, or systems.