IBM Trying To Patent Timed Code Inspection 146
theodp writes "A just-published IBM patent application for a Software Inspection Management Tool claims to improve software quality by taking a chess-clock-like approach to code walkthroughs. An inspection rate monitor with 'a pause button, a resume button, a complete button, a total lines inspected indication, and a total lines remaining to be inspected indication' keeps tabs on participants' progress and changes color when management's expectations — measured in lines per hour — are not being met."
sounds fantastic (Score:5, Funny)
Re:sounds fantastic (Score:4, Interesting)
Most people are more "careful and attentive to" looking like they're busy, as opposed to actually thinking about the problem at hand, when someone's looking over their shoulder.
Yes, we need better metrics to determine performance. However, we should do our Jedi Knight code warrior hand-waving thing and say "these are not the metrics you're looking for." This is a sop to cover up inadequacies (in both the people managing, and their methodologies) the previous steps to the development process. Where is the story mod, with a "-1 Fucktarded" option, when we need it?
Re: (Score:2)
I think something like this can be useful, but only if the data is used after the fact.
Let us say that Coder A and Coder B are assigned two similar coding jobs that are estimated to take 50 hours of programming time (as that is how long a previous, similar job had taken).
Coder A finishes up his work in 42 hours - the code works as well as can be expected and it is very by the book.
Coder B finishes up his work in 64 hours - the code works just as well as Coder A's, but his code is much more creative an
Re: (Score:2)
Jumbo shrimp, military intelligence, etc ...
Type of problem (Score:2)
It's a lot faster to implementing a dull user interface that to implement an interesting heuristic algorithm that requires a lot of domain knowledge.
If you get payed by the number of lines of code... well, you do the math.
Re: (Score:2)
2: you should be on step 6 by now
12: PROFIT!!
Re: (Score:2)
20 REM PRINT "..."
30 GOTO 10
Comment removed (Score:4, Funny)
Re: (Score:2)
Mistakes do happen - and timing is a crappy way to measure code review performance.
It is a common theorem that you have a certain number of bugs per line of code. But this is an average figure that can't be used either.
The best way to actually measure code quality is to do a full test loop and check if the performance, functionality and coverage is done properly. The number of bugs detected here is a good measurement of the work done earlier.
Perhaps a good patent (Score:5, Funny)
anybody stupid enough to use this technique (Score:2)
What it means (Score:2, Funny)
Note to self: (Score:5, Insightful)
Don't buy any IBM software after this awful thing gets approved.
And in case any management types happen to be reading this - programming isn't freaking bricklaying. You can't say "well the wall needs 120 bricks, and 1 person can lay 1 brick in one minute, so that's two hours work. Or 1 hour's worth of work for two people."
Read this book, [wikipedia.org] and then get back to us IBM.
Re: (Score:3, Funny)
Re: (Score:2)
Re: (Score:3, Funny)
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Let me guess... the glass blows you?
Re: (Score:3, Insightful)
well the wall needs 120 bricks, and 1 person can lay 1 brick in one minute, so that's two hours work. Or 1 hour's worth of work for two people.
Unfortunately that is how "executive students" in crackerjack MBA degree programs around the country are taught to think about everyone else except themselves. Is it any wonder then that most of the top managers, the best board members, and the most intelligent CEOs are self made and taught men and women? The person who believes and applies exactly what is taught in business school without intelligent thought and reasonable allowance for the circumstances is not really an MBA, but an employee in manager's
Re:Note to self: (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
LAny MBA student coming to management theory right out of four years of college really can't well apply it no matter how smart or slick they think they are.
Right, so they subsitute technology like this code-review chess clock for actual leadership and management and keep track of useless statistics in spreadsheets in a vain attempt to look smart or at least report something to the ones who are signing their checks. Meanwhile the engineers are pissed off and begin to undermine the new system on purpose (usually in really clever ways that keep it going but twist its purpose) to subtly protest the continued waste of time in a fruitless effort to save time.
more likely (Score:2)
Re: (Score:3, Insightful)
Fixed that for you.
Re: (Score:2)
Re: (Score:2)
Re: (Score:1, Flamebait)
Re: (Score:2)
http://en.wikipedia.org/wiki/The_Mythical_Man-Month [wikipedia.org]
"Brooks's observations are based on his experiences at IBM while managing the development of OS/360"
Re: (Score:2)
Don't buy any IBM software after this awful thing gets approved.
1. IBM is one of the founders of the http://www.patentcommons.org/ [patentcommons.org]
2. IBM is one of the world's largest consulting operations (THE largest?) and as such they work on an unbelievably wide array of projects, and this could just be one of the more random ones.
3. If you stopped buying IBM software every time you didn't like some product that one of their divisions thought about, then you'd have stopped buying all of their software around the time you were born.
Your over-reaction, here, is just a bit theatrical.
Re: (Score:2)
Re: (Score:2)
Caution: I've read Mythical Man Month and would like to disagree with it's applicability to the subject of this article.
One of the tenets of MMM is that adding warm bodies to a software project that is behind schedule will (counter-productively) make that project fall even further behind schedule because of the time required to train the newbies.
The article actually sounds like it is talking about Michael Fagan-esque inspection bullcrap which is more closely related to improving software quality. Essen
Re: (Score:2)
But I'd have to be rather desperate to take a programming job at IBM after this
Re: (Score:2)
Yeah, because nothing says quality code reviews... (Score:5, Insightful)
Re:Yeah, because nothing says quality code reviews (Score:2)
Re: (Score:1)
Which means that the tricky sections will actually have more code in them.
Hasty, badly written, performance-guzzling code.
Or be replaced by poorer algorithms that are easier to implement and have more lines, eat more memory, and have more limitations and such.
Of course, I'm doing that ass-u-me thing, and maybe it will count just newlines.
printf
(
"H"
"e"
"l"
"l"
"o"
" "
What about code WRITING speed??? (Score:5, Funny)
In fact, I think programmers should meet management expectations for keystrokes per second including backspace! I mean backspace means the programmer is correcting his mistakes!!!
Re: (Score:1)
Because you just can't be given full credit when you've just admitted to making a mistake.
Supervising engineers based on typing speed (Score:2)
We had a PDP-10 timesharing system, and I was keying in a simulation program for a fluid-flow problem into one of those clunky Model 33 Teletype terminals. My supervisor came and stood in the door of the terminal room, cigarette between his lips (this
Re: (Score:3, Funny)
OK but I call dibs on the patent for software that measures if managers are alienating and burning out their underlings at the specified rate. Product producing employees need a high turnover rate to keep our product "fresh" and "innovative". Do you like my new tie? It matches my BMW.
Re: (Score:2)
Judge: "Can you prove this software is yours?"
Me: "Just look at it! It sucks! Any questions?"
Judge: "OK, Mr. Gates - Pay up."
Re: (Score:2)
what a stupid stupid idea (Score:2)
Right Wally. so, you write line after line of utterly meaningless horseshit to keep your line count up, and then route the data to a place where it gets commented out... and then follo
That was my other thought (Score:3, Funny)
Right Wally. so, you write line after line of utterly meaningless horseshit to keep your line count up, and then route the data to a place where it gets commented out... and then follow that with line after line of craptastic documentation.
Bingo, sir. Programmers are excellent at beating the system. That's our job. Figuring out systems.
You're gonna see a lot of code like this:
for(
// i holds the count
// The next line makes sure we count to ten
// This increments the count
// Let's do our function.
// And close the loop.
int i=0;
i<=10;
i++)
{
doWork();
}
Sounds like a real blast, IBM. Good thinking.
Re: (Score:2)
If this IBM method were implemented, I can just see it...
CTRL-C, CTRL-V
It's code reuse! It's a performance improvement! The program will be faster since it doesn't have to worry about a function call! And look, I'm at least 20 times more productive than all of the other programmers by the number of lines I check in to the source control.
Good grief.
Re: (Score:2)
enum Boolean {
True,
False,
FileNotFound
}
So.. this is a complex soln to documentation? (Score:2, Funny)
Re: (Score:2)
Ok, two questions (Score:2)
If I may, of course.
First question: Excluding comments, would my example above count as 7 lines? Does my busted up for loop count for multiple lines?
Second question: You looking for another job yet? Holy crap but I can't imagine working under those conditions.
Re: (Score:2)
"Loops over all the nodes"
for node in nodes:
"Checks if the node is valid"
if node.valid():
"Prints the node if it is valid"
print node
"End 'for node in nodes'"
Re: (Score:2)
Where is that? I want to know so I never work there. Comments are more important than the code (they say why), and code is best measured by its clarity and function. Too bad that doesn't work out to a single number.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Also, since there is absolutely no relationship between the quality or performance and the number og LOC, and possibly an inverse relationship between performance and LOC, my job would be measured by completely invalid metrics if LOC was used.
I could indeed do bette
Re: (Score:2)
Re: (Score:2)
Luckily, this means that I won't be subjected to this misuse of knowledge of LOC. But knowing LOC has never ever been used properly by any PHB I have ever encountered. Hence my dislike of it.
The best PHB's I have met were the ones who were smart enough to ignore things like LOC, and smart enough not to try and turn software development into some kind of assembly line type of work.
You cannot evaluate software development by lines of code produce
Re:what a stupid stupid idea (Score:5, Funny)
He was ready to place semicolons on a separate line too, if management wanted even higher efficiency.
Re: (Score:2)
Re:what a stupid stupid idea (Score:5, Informative)
If I am understanding this correctly, the article refers to lines inspected, not written. So this is for the quality-control guys and not the main programmers.
Re: (Score:2)
Invite quality control guys to a code inspection and they will occassionally find coding violations that automated tools should be picking up. Thus, all they will figure out is that you aren't running static analysis tools on your code prior to the inspection.
Invite programmers to the inspection, and you'll figure out that the interface that you assume you will be using to communicate with another subsystem has actually been completely redone and that you'd better write a wrapper to fix things or else th
Re: (Score:1)
I'm struggling in fact to thing of any metric employing lines of code that is actually useful. Metrics like these are dangerous, because they tend to change what is being measured (this is especially true when
Quality... (Score:4, Insightful)
This is one of those patents based clearly on conjecture. Seriously - is there anyone stupid enough to try it, or anyone stupid enough to work in an environment that relies on this kind of QA?
Re: (Score:3, Interesting)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
No, that's just a beneficial side effect. IBM will use it. For all of about 6 months before it is quietly forgotten for the new management fad.
Re: (Score:2)
Re: (Score:2)
Metropolis.... (Score:3, Interesting)
Metropolis (Fritz Lang, 1927). Excellent movie BTW.
The worker at the power plant collapses during a a shift which was too long and required to many new operations demanded by a clock-like device. The power plant nearly explodes, because he can not keed up with the pace of this clock-like device.
Encourage slower pace (Score:1)
Rushing through the code tends to make us find fewer bugs per time spent-- if anything, it's better to more closely inspect a third of the code at a third of the pace and not inspect the other two-thirds at all than to inspect all of it in the same amount of time.
The issue being, we tend to want to get the inspection of the code over with; such a clock might act a
KLOC's (Score:1)
Re: (Score:2)
Easy then to find vulnerabilities... (Score:2)
Lines of code as performance metric is only for those without any clue at all...
Re: (Score:1)
The summary looks like misleading flamebait to me (Score:5, Insightful)
I've only flicked through the patent application so far, but it doesn't seem very much like what the submitter makes out.
From what I can see, the implication that this has anything to do with management harassing the developers and testers is completely conjecture on the part of the slashdot submitter. The only context in which the word "manage" appears in the entire application is as part of the phrase "management tool", which to me implies that it's supposed to be entirely to help the testing and development staff. (Okay, there's one occurance which is "inspection process manager".)
I know that IBM has a famous history of having associated productivity with lines of code, but I really don't think they're being quite so dim-witted with this one. I haven't read the application in detail, but to me it looks more like someone's been developing a tool to help with code inspection. By the looks of it, it has a certain way of displaying the code, it has a method of recording noted defects and comments, and it has a feature of timing how long things are taking and how long a user is spending on certain parts of a code-base.
I can't see any direct implication in the patent application that this is primarily for management to measure staff performance to compare with pre-defined expectations. On the other hand I can see a lot of references in the patent application to the code inspector themselves using this tool to assist their work. I think it's much more likely that someone running an inspection could use such a tool to help them keep track of the most fragile parts of the code, and which areas are tying up the most of their time. If there was a deadline for inspection, it'd probably also help to highlight if you were spending far too much time in one place without having even reached other areas that might be important.
Whether it would work or be any use at all it another issue, but if it's a completely wacky idea then it wouldn't be the first that someone tried to patent. Many good patented ideas seemed silly or ridiculous before a working implementation was produced to demonstrate otherwise, but if an inventor had waited until it was clearly useful before patenting it, it'd be a lot harder.
more ideas (Score:3, Insightful)
(responding to my own post with more ideas) ...
Other areas where such a tool might be useful are:
Glad I do not work for them anymore (Score:1)
-2000 Lines Of Code (Score:5, Interesting)
Re: (Score:2)
I later referred to this as the "Fuck Things Up function", which is honestly a pretty good description.
Seen this (Score:3, Insightful)
3rd World Countries (Score:1)
awesome (Score:2)
I reckon i could type flat out coding in python at about 20 solid lines per minute. this tool of ibm's would make me look great, and when nothing compiles i can use it as proof i was working hard.
Re: (Score:2)
Please (Score:2)
We're in a terrible rush. (Score:2, Funny)
I Bet... (Score:2)
(Or something to that effect...)
Prior Art..... (Score:2)
What an incredibly inhuman and antagonistic idea (Score:2)
This sounds downright evil.
Re: (Score:2)
I wouldn't worry about it. I doubt IBM interviewers read /.
Re: (Score:2)
Copland honourable mention? (Score:2)
No thread about expensive software failures can be complete without mentioning Copland.
I guess if you're talking sheer dollars, it's only about a third of the size of OfficeView, but if you consider the size of Apple compared to IBM (circa 90's), Copland's failure looks pretty monumental.
Re: (Score:2)
Re: (Score:2)
Well, you might think that nothing to beat Microsoft would have come out for decades, but I'm pretty sure they'd have seen some competition over the course of 20+ years.
However, I'm glad we agree about Copland's monumental failure.
Re: (Score:2)
Repeat of unmodded parent. (Score:2)
Just because I don't know what it is