Live data from Hacker News

Cannot Measure Productivity

martinfowler.com

61–70 of 77 posts

Re: Cannot Measure Productivity

#61
post #56

Earlier quoted context omitted.

Scientists must pass peer review to publish, and peer review can be very harsh. Double blind helps winnow out political bias. Coders must get jobs to continue coding if they are not independently wealthy. Bias abounds in this case, as other coders with influence must vouch for you, and...in this case your projects can influence their opinion of you. We are social creatures: we don't live as hermits (most of us anyway…

It was still an inflammatory thing to say, given that there's nothing stopping a person who does live as a hermit from learning to write working code. In the days before the Web, I created two good-sized adventure games without ever having interacted with another programmer (save maybe 2 book authors). Nobody vetted me. I just made and released them. The lone wolf programmer has always been a thing.

I think you are talking about something different. I can practice basic medicine, but no one would call me a doctor. And, no person would accept me calling myself a doctor without some form of external validation that they believed was valid. I can build software, but being a programmer for someone else requires being validated, even minimally, by something external to myself. Even if the validating entity and the person looking to validate me are the same.

Re: Cannot Measure Productivity

#62
post #4

A very wise man said "there is no silver bullet". Yet we keep trying all these schemes to automagically solve what are hard optimization problems only amenable to heuristics and deliberate, intelligent introspection. Very simply, you cannot run some tool to measure the information density of a large project. Graphical programming isn't going to turn a bunch of marketers into programmers. Doing user stories and forcin…

Please excuse this small rant. If you're referring to Fred Brooks, he wrote "[T]here is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement within a decade in productivity, in reliability, in simplicity." (emphasis mine) The surrounding context makes his comment a very specific prediction which means something different from what most p…

You missed a key point of the essay, which is that no matter how much progress we make in accidental complexity, essential complexity does not go away.

Re: Cannot Measure Productivity

#63
post #56

Earlier quoted context omitted.

It was still an inflammatory thing to say, given that there's nothing stopping a person who does live as a hermit from learning to write working code. In the days before the Web, I created two good-sized adventure games without ever having interacted with another programmer (save maybe 2 book authors). Nobody vetted me. I just made and released them. The lone wolf programmer has always been a thing.

I think you are talking about something different. I can practice basic medicine, but no one would call me a doctor. And, no person would accept me calling myself a doctor without some form of external validation that they believed was valid. I can build software, but being a programmer for someone else requires being validated, even minimally, by something external to myself. Even if the validating entity and the pe…

100 years ago, in many places on this earth, you could very well have passed yourself off as a doctor. The reason you can't now is because other doctors and governments decided to enforce a minimum standard.

100 years from now, perhaps there will be "Licensed Professional Programmer" certifications. Until then, you're a professional programmer if someone pays you. Even if that someone is yourself.

Re: Cannot Measure Productivity

#64
The article makes the point that the LOC metric is confounded by duplication:

> Copy and paste programming leads to high LOC counts and poor design because it breeds duplication.

This problem is not insurmountable. Compression tools work by finding duplication and representing copies as (more concise) references to the original.* The size of the compressed version is an estimate of the real information content of the original, with copies counted at a significantly discounted rate. The compressed size of code could be a more robust measure of the work that went into it.

* Sometimes this is done explicitly, other times it's implicit

Re: Cannot Measure Productivity

#65
post #6

Is measuring productivity isomorphic to the hiring problem? Everybody says there's a "shortage of developers," but I know good developers who keep getting shitcanned after a few interviews where nothing seemingly went wrong. We can't tell who's going to be productive. Since we can't tell, we come up with ten foot high marble walls to scale. Our sterile interview problems make us feel "well, at least the candidate can…

They are absolutely the same problem. Because we can't measure productivity, we can't determine relative quality in an objective way. If we could, it would make the hiring process much more simple. The question I have is, how is this much different than any other profession? How do we measure doctor productivity? What keeps me up at night is that it is very likely that the 90/10 crap to good ratio in software develop…

Must be the same in every profession. How many of e.g. your school teachers were good? About 10%.

I am wondering if the ratio holds for crap to good parents. The scarier aspect of this is that people are actually being trained for their professions, as opposed to parenting, so the ratio may be even worse.

Re: Cannot Measure Productivity

#66
post #47

Earlier quoted context omitted.

I guess you'd better edit Wikipedia: > In a more restricted sense, a scientist is an individual who uses the scientific method. [...] This article focuses on the more restricted use of the word. https://en.wikipedia.org/wiki/Scientist

Wikipedia is not the ultimate repository of human knowledge, particularly when it comes to more tricky questions like "what is a scientist?"... If we're going to throw definitions around, how about dictionary.com: http://dictionary.reference.com/browse/scientist?s=t > an expert in science, especially one of the physical or natural sciences.

Actually I think Wikipedia is pretty good for tricky questions, in that they attract a lot of attention and receive a lot of edits.

If being a scientist is determined by the consensus of one's peers, it seems like it makes sense to accept an article defining what scientists are that is written as a consensus opinion.

But anyway, if you think it's wrong, why don't you edit it?

Re: Cannot Measure Productivity

#67
And what about Iteration? The learning value that can come from doing things poorly?! Imagine if Microsoft had LEARNED something from what they did wrong in Windows 95? Or Windows ME! Imagine how amazing their software would be now. They couldn't have done it without having totally screwed up first. Of course they didn't do that in the end...so...

Re: Cannot Measure Productivity

#68
The quest for a single measure of hard-to-define concept like productivity is doomed. Even Fowler's article highlights the fact that we don't have a shared understanding what the word productivity means: writong quality code, shipping useful products or making money? all of them? It's no surprise that there is no numerical measurement that captures a badly-defined concept.

In my opinion, we should approach measurement from a different angle: can we learn something useful about our profession by combining different types of measurements. Can we, for example, easily spot a person who is doing what Fowler is calling important supportive work. Can we detect problem categories that easily lead to buggy code and allocate more time for code quality work for tasks and less for those that are known to be more straight-forward.

Re: Cannot Measure Productivity

#69
I think that the the one thing that enables science is that even though you cannot measure all you want, you can still measure some things and that measurements are useful, just not directly.

Re: Cannot Measure Productivity

#70

I am going to get my drum out and bang on it again. Software is a form of literacy - and we measure literacy completely differently. In fact we measure it like we measure science - you are not a scientist unless other scientists agree you are, and you are not a coder unless other coders say you are. What Fowler wants to measure is not the top echelons of productivity but the lower bounds - presumably to winnow out th…

> you are not a scientist unless other scientists agree you are Science requires one thing: making and testing falsifiable hypotheses. A priest is able to determine whether or not you are doing that. If anything, it's philosophers who decide what science is, e.g. Karl Popper.

Ludwig Boltzmann was a very important scientist (or perhaps I should say that his scientific contributions were significant). However, if I recall correctly, his peers didn't agree with his theories and, I would assume, they wouldn't have called his theories scientific -seeing how they basically assumed atoms in a time when that was controversial.

So, I too consider that agreement from others isn't a prerequisite for being a scientist. I also agree that "making and testing falsifiable hypotheses" definitely qualifies as doing science.

However, perhaps that's not the only way to do science. In general, there is that whole set of criticisms on the limits of falsifiability (with Kuhn et al). In particular, I'm thinking of cases where arguably the technology isn't sufficiently advanced to perform the measurements necessary to directly test the hypotheses (e.g., how quantum physics progressed). Arguably those doing all the thought experiments, modeling, thinking through consequences of those hypotheses and comparing with what they could measure were doing science -though those weren't falsifiable hypotheses at the time.

So what I'm saying is that your requisite is sufficient but perhaps isn't necessary either.

Post reply on HN