Live data from Hacker News

There's No Such Thing as Software Productivity (2012)

benrady.com

111–120 of 145 posts

Re: There's No Such Thing as Software Productivity (2012)

#111
post #62

Earlier quoted context omitted.

> I just don't seem to struggle, as others claim to, in measuring productivity. Because you are measuring at a very broad and basic level. Steve is more productive than Susan. Great. How much more productive? Can you turn it into a number? Can you still do it consistently when Steve and Susan are in different teams in different parts of the organisation trying to achieve different goals? I've done DB upgrades that to…

I don't think anyone can get numbers, but partial ordering is much easier. If Steve and Susan are in different part of organization, the answer is "cannot compare". If they are doing different job, the answer is the same. But every once in a while there is a scenarios when you can compare people easily. There has a weekly rotation to be an support person for other team. During his week, John always answers questions…

What your scenario doesn't address is that while John finished his migrations on time, James has designed the flagship order processing pipeline something that John could never pull off.

Or maybe while John is technically adept, he's also a huge jerk and belittles people at standup, while James is the quintessential communicator with jr devs, etc.

Real life is messy. I've seen more people get replaced due to attitude or teamfit issues than specifically due to technical incompetence.

Re: There's No Such Thing as Software Productivity (2012)

#112
post #9

I'm not sure I follow. So you failed to measure software productivity in lines of code, therefore it follows that "There's No Such Thing as Software Productivity"? Don't you think that giving up after n=1 attempts at measuring software productivity might be a tad too fast to draw a generalized claim of impossibility? I might argue the real lesson learned is "Lines of Code are Not a Measure of Productivity in an Isola…

Bricklayers have measures that are usable by people who know little to nothing about the profession who are incapable of doing the work. This is what people want. An objective measure that can be applied by people functionally incapable of actually doing the work. Wherein the work isn't repeating existing work no such measure should be expected to exist. Any creative work is going to suffer from the same problem. If…

The problem is that corporate types don't see programming as creative work. Type faster!!!! If you push the buttons faster the product gets build faster!

Also imagine every other week as the bricklayer had half a wall built a PM comes out and says, "tear this all down and move it 3 feet to the north", and then the week after, "now move it east 1 foot, and why is it taking you so long?"

Re: There's No Such Thing as Software Productivity (2012)

#113
YUP

My first rule of software programming is: Work Hard to Avoid Writing Code

— Code is habitat for bugs; more code equals more bugs, and interactions between separate parts of code can harbor even more "interesting" varieties.

— Code takes time to run. Any NoOp is faster than even your best hand-tuned assembly module.

Obviously, this is not absolute in any sense — it breaks down as soon as you need the system to actually do something, at which point you must write some code. But it should be the minimal amount to get the job done, and nothing more.

Obligatory car analogy: While doing some amateur sportscar racing, a coach asked me

"What are the things you do that slow the car down?".

I thought for a moment and started saying "when I start into a corner, if I do a bit too much...",

he interrupted saying "NO, no, what are the BIG things you do that slow the car down?".

"Oh, like braking and turning and lifting off the throttle?".

"Right. So what that means is that you should always avoid doing those things. Obviously, you will certainly have to so some of them as soon as you approach the end of the front straight after the start, but make sure you understand your car, the track, and your skills to the point where you do only the absolute minimum."

Both the software and sportscar versions are deceptively simple — they take a LOT more thinking than it seems at first glance. And that thinking is totally worth it.

Re: There's No Such Thing as Software Productivity (2012)

#114
post #77
post #74

Earlier quoted context omitted.

The output is measured with dollars, not lines of code. So are the inputs. It's a perfectly cromulent measure so long as we understand the limitations of the measure. For example, trying to measure the productivity of a day or a sprint? That's silly. Measure the output of a team which does not produce an entire product? Won't work because you'd have to figure out how to apportion the productivity.

That's not the definition. Eg https://www.britannica.com/money/productivity says: "productivity, in economics, the ratio of what is produced to what is required to produce it. Usually this ratio is in the form of an average, expressing the total output of some category of goods divided by the total input of, say, labour or raw materials."

It's implied in the definition. Consider the units: a ratio should not have units. Lines of code per programmer per day would have weird units, for example, and could not be compared against number of windows installed per day for per car window installer. The only way for productivity to be useful is to normalize the inputs and outputs into money.

Re: There's No Such Thing as Software Productivity (2012)

#116
post #9

I'm not sure I follow. So you failed to measure software productivity in lines of code, therefore it follows that "There's No Such Thing as Software Productivity"? Don't you think that giving up after n=1 attempts at measuring software productivity might be a tad too fast to draw a generalized claim of impossibility? I might argue the real lesson learned is "Lines of Code are Not a Measure of Productivity in an Isola…

> "Lines of Code are Not a Measure of Productivity in an Isolated, Toy Example"

Calling this phenomenon a toy example is a bit out of touch. I've seen this every single day of my 25 year career. Value is produced by solving problems, not writing code. The solution with fewer lines of code, fewer new abstractions, lower complexity (yes, complexity IS objective and quantifiable) is invariably the best solution. Solutions that involve no code at all are the gold standard.

Adding/subtracting the right code produces value. But adding the wrong code decreases value. The logic of "productivity as code" contains a fatal flaw - it ignores this and assumes all code is right. Reality: everything hinges on the right vs wrong distinction which is inherently subjective. Code is too often a net liability - you must account for the risk!

By contrast, the "productivity as solving problems" approach is entirely objective. You can observe the problem, test hypotheses about the cause, and measure the situation after the intervention. A well stated problem has no ambiguity.

I don't see any support whatsover for the "productivity as code" idea. It's empirically false and lacks logical consistency.

Re: There's No Such Thing as Software Productivity (2012)

#118
post #28

Earlier quoted context omitted.

Money is the measure of usefulness. By the way, why suddenly the money=bad sentiment is so popular? I thought USSR example loudly showed us what happens when people think that money is evil.

"Money is the measure of usefulness?" Good lord. There's so much wrong with this statement that I doubt I can meaningfully respond to it. I'll try, though. If we have to reduce measures of usefulness to a single metric, then why not percentage of users who respond favorably? I daresay that people find air quite useful, and for the most part, air is free.

Easy -- users often don't respond favorably about MAJOR spending categories that are absolutely required. For example -- there's big negative sentiment about healthcare and its costs, but I rarely hear favorable responses like "thank you the country for we have healthcare". Or "thank you military that we haven't got invaded yet" (we are all users of the military). That doesn't depend on the country/region.

"Users" are too short-sighted to invest in major spending categories. Only the countries who can reasonably push their population towards long-term investments still exist.

Re: There's No Such Thing as Software Productivity (2012)

#119
post #9

I'm not sure I follow. So you failed to measure software productivity in lines of code, therefore it follows that "There's No Such Thing as Software Productivity"? Don't you think that giving up after n=1 attempts at measuring software productivity might be a tad too fast to draw a generalized claim of impossibility? I might argue the real lesson learned is "Lines of Code are Not a Measure of Productivity in an Isola…

> they can measure other sorts of productivity

Spoiler: they can't do that either. How do you measure the productivity of a bridge engineer designing a new suspension bridge? Number of struts placed on the blueprint? Even with more manual labor, it's very hard. Who's the most productive out of these three:

1. A carpenter who builds a house from a blueprint in 6 weeks. It collapses after 3 years.

2. A carpenter who builds a house from the same blueprint in 12 weeks. It stays up, but has visible defects that affect its value.

3. A carpenter who builds a house from the same blueprint in 20 weeks. It stays up for over a century and eventually becomes a historical landmark due to its lasting beauty and careful construction.

Which one was more productive?

Re: There's No Such Thing as Software Productivity (2012)

#120
post #28

Earlier quoted context omitted.

Money is the measure of usefulness. By the way, why suddenly the money=bad sentiment is so popular? I thought USSR example loudly showed us what happens when people think that money is evil.

When companies focus on profit at the expense of all other goals, the result is typically disadvantageous to customers, employees, and society at large. See also: crapification; financialization; parasitic private equity I can't speak for HN, but I imagine some readers are more interested in the benefits of cool technology beyond putting more money in the pockets of investors and management.

> When companies focus on profit at the expense of all other goals, the result is typically disadvantageous to customers, employees, and society at large.

I grew up in USSR and saw with my own eyes what happens when personal profit is not the #1 focus.

Yes, _commercial_ companies should also focus on everything else as well, but profit must be #1. And the society steer the businesses towards good things by implementing laws that businesses must follow.

Commercial corporations _exists_ to make money to shareholders. It's written in laws and company bylaws. That's exactly what society decided commercial companies should do. If a _commercial_ company puts something else before profits -- it can be sued by shareholders (lawsuits follow laws, aka boundaries put by society).

And by the way, we already have framework to do your idea: companies can register as "non-profit" or "public benefit". So your suggestion is easily implemented today by forbidding commercial companies and only allowing non-profits or public benefit.

Post reply on HN