Live data from Hacker News

Developer Productivity for Humans: Software Quality

ieeexplore.ieee.org

31–40 of 51 posts

Re: Developer Productivity for Humans: Software Quality

#31
post #9

Earlier quoted context omitted.

> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”

So in that case, you're investing your time in return for money/happiness? Sounds like the same proposition as employees.

And money to get the company started. Even before a dollar of revenue comes in, lawyers, accountants, and the state need to be paid, and someone has to front or pay for the real estate. And employees are guaranteed a wage, unlike founders. These differences are often overlooked, seemingly out of convenience for the argument.

Re: Developer Productivity for Humans: Software Quality

#32
post #9
post #7

Earlier quoted context omitted.

> The inconvenient truth is that the business exists not to provide engineers with work they’re happy with or proud of but to make investors money. First that’s not always technically true because not all businesses have investors. But assuming that the primary purpose is to make money, even that’s not precise since there’s a massive difference on optimizing for ROI tomorrow vs next quarter vs when you retire and han…

> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”

Non-financial businesses generally exist to provide goods and services. If FedEx stops delivering packages and provides no other goods or services, does it really need to exist?

Re: Developer Productivity for Humans: Software Quality

#33

Earlier quoted context omitted.

what about nonprofits?

Nonprofits still need to break even or raise funds (membership fees, donations).

What part of that involves making money for investors?'

How much profit are nonprofits expected to make?

Re: Developer Productivity for Humans: Software Quality

#34
post #6

Here are some comments in no specific order: * A sample of 9 developers, especially all working for the same company (in similar conditions) isn't much... but this seems to be a sore spot for most research on software development: very small, bordering on unrepresentative samples. Very hard to control for bias. Very hard to establish whether experiment subjects even have the relevant knowledge. * I would very much pr…

Here's the beginning of a metric: https://loup-vaillant.fr/articles/source-of-readability

Well, here's something I could extract from it, and maybe this can even be automated:

Distance between variable declaration and its use. But, oh, distances aren't simple either:

LoCs seem like a reasonable unit to count the distance between use and declaration, but are all LoCs equal? Should the metric penalize less for having long JavaDoc-style comments (which a lot of editors can simply collapse?) What about empty lines? -- seems even more contentious. Penalizing for lines of code regardless of contents of those lines will probably discourage programmers from adding empty lines even when they might make things better. Perhaps a better unit of measurement should be "statements"?

Now, why would using variables deep inside nested blocks be equivalent to using them same distance away but inside the same block? I'd say that probably declaring all your loop variables outside of the outermost loop sounds like a crime to me. Sure, the nesting level should be accounted for.

What do we do with class variables / struct fields though? Someone who wants to game the metric can simply decide that instead of using variables they'd store everything as a struct field. But, if we treat struct fields as variables... ouch, structs are meant to "transfer" bunches of variables from place to place, so, they will definitely score worse than function-local variables... How'd I find good ratio to balance struct fields against the variables? How'd measuring distance in LoCs or instructions coexist with mentions in different files, different directories even? What if it's like a define? Especially a popular one, like "TRUE" in C? -- That variable would pull out such a huge score...

----

I don't think these questions are impossible to answer. But I cannot even imagine the research plan to try to come up with some concrete numbers, ratios, functions to make this thing work...

Re: Developer Productivity for Humans: Software Quality

#35
post #9

Earlier quoted context omitted.

> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”

Non-financial businesses generally exist to provide goods and services. If FedEx stops delivering packages and provides no other goods or services, does it really need to exist?

If Fedex stopped making money, would it have any reason to continue?

Re: Developer Productivity for Humans: Software Quality

#36
post #12
post #2

In my experience few things sap developer motivation quite the same way as being forced to support, but not allowed to fix(!), a low quality product. The business rationalization makes a certain sort of sense. If we burn, say, 4 hours a week manually cleaning up after bug X, but it would take 80 hours to fix it, maybe the return on investment doesn't compete well against other initiatives this quarter. But in my expe…

> "being forced to support, but not allowed to fix" IMO that's a super important point. Having accountability without control is probably the fastest way to burnout and dissatisfaction in my experience. It doesn't matter the amount of hours you put in, it doesn't matter how much vacation you have. It's the difference between a feeling of accomplishment vs the learned helplessness and Sisyphean feeling of endlessly pu…

> Having accountability without control

My manager: I want this in X days

Me: It is unlikely to finish in X days given x,y,z. It is also likely to cause outages.

My manager: If it causes outages, we will throw you on a PIP.

Me gets burned out.

Lesson learned. If a manager forces me ever again, I am going to let the project and the manager fail.

Re: Developer Productivity for Humans: Software Quality

#37
post #9
post #7

Earlier quoted context omitted.

> The inconvenient truth is that the business exists not to provide engineers with work they’re happy with or proud of but to make investors money. First that’s not always technically true because not all businesses have investors. But assuming that the primary purpose is to make money, even that’s not precise since there’s a massive difference on optimizing for ROI tomorrow vs next quarter vs when you retire and han…

> not all businesses have investors. If I form a business and take no outside money, I am the investor, particularly in the context of GP’s point that “[businesses exist]…to make investors money.”

It continues:

> But assuming that the primary purpose is to make money (...)

Re: Developer Productivity for Humans: Software Quality

#39
post #12

Earlier quoted context omitted.

> "being forced to support, but not allowed to fix" IMO that's a super important point. Having accountability without control is probably the fastest way to burnout and dissatisfaction in my experience. It doesn't matter the amount of hours you put in, it doesn't matter how much vacation you have. It's the difference between a feeling of accomplishment vs the learned helplessness and Sisyphean feeling of endlessly pu…

> Having accountability without control My manager: I want this in X days Me: It is unlikely to finish in X days given x,y,z. It is also likely to cause outages. My manager: If it causes outages, we will throw you on a PIP. Me gets burned out. Lesson learned. If a manager forces me ever again, I am going to let the project and the manager fail.

It sucks when you're in that situation, but sometimes a paper-trail and a dose of failure is the only way people learn.

Re: Developer Productivity for Humans: Software Quality

#40

Earlier quoted context omitted.

Non-financial businesses generally exist to provide goods and services. If FedEx stops delivering packages and provides no other goods or services, does it really need to exist?

If Fedex stopped making money, would it have any reason to continue?

If it stopped making money, it would have no ability to continue - at least, not for an indefinite time.
Post reply on HN