Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Patents IBM Programming IT Technology

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."
This discussion has been archived. No new comments can be posted.

IBM Trying To Patent Timed Code Inspection

Comments Filter:
  • by Anonymous Coward on Saturday April 26, 2008 @09:17PM (#23210880)
    I know I'm most careful and attentive to detail when I feel like someone's looking over my shoulder timing my progress.
    • Re:sounds fantastic (Score:4, Interesting)

      by tomhudson ( 43916 ) <barbara.hudson@ ... a - h u dson.com> on Saturday April 26, 2008 @11:25PM (#23211492) Journal

      I know I'm most careful and attentive to detail when I feel like someone's looking over my shoulder timing my progress.

      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?

      • by Ihmhi ( 1206036 )

        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

        • Now if the manager is competent

          Jumbo shrimp, military intelligence, etc ...

          ...is it a coincidence, or just good karma, that this afternoon I just picked up "Slapped Together - The Dilbert Business Anthology" ...?

      • The actual number of limes of code depend on so many things.

        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.
    • 1: write code
      2: you should be on step 6 by now ..........
      12: PROFIT!!
    • by account_deleted ( 4530225 ) on Sunday April 27, 2008 @02:36AM (#23212374)
      Comment removed based on user account deletion
      • by Z00L00K ( 682162 )
        Time to do a Dilbert then...

        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.

  • by NialScorva ( 213763 ) on Saturday April 26, 2008 @09:18PM (#23210884)
    which they'll use to sue anyone who's dumb enough to use this technique
  • by Anonymous Coward

    changes color when management's expectations...are not being met.
    Translation: Your PHB needs it color coded to know what's going on.
  • Note to self: (Score:5, Insightful)

    by Weaselmancer ( 533834 ) on Saturday April 26, 2008 @09:21PM (#23210906)

    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)

      by mcsporran ( 832624 )
      I've given you 9 women and 6 weeks...... WHERE IS THE BABY !!!!
      • by Belial6 ( 794905 )
        I want that job. So what if I get fired at the end of the 6 weeks. It would be worth it.
    • Re: (Score:3, Insightful)

      by CodeBuster ( 516420 )

      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

      • by njcoder ( 657816 ) on Saturday April 26, 2008 @09:52PM (#23211086)
        Do you hear that? That's the loud roar of all the people you just described patting themselves on the back for not being one of the people you just described.
      • When I was an undergraduate engineering student I took courses in management from the institute's management school. I did well in the course gradewise but I recognize now that back then I had absolutely NO context for understanding the philosophies and practices. Only after a bunch of experience and many years could the views be properly integrated into reality. Any 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
        • 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.

      • Re: (Score:3, Insightful)

        by RobBebop ( 947356 )

        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 clothing who is [in over his head ===> overhead] and is too arrogant and too foolish to admit it, even to him or herself.

        Fixed that for you.

      • The people who think that have never actually done any of that kind of labor. It's more like 1.25 or 1.5 hours worth of work for two people, and their knowledge of bricklaying and experience working together as a team as well as comfort level with each other will significantly affect their ability to work faster. If you put two people who like working with each other and have done so in the past together they will work faster than two people who either haven't ever worked together or don't particularly care
        • The idea of total quality management (or Market Driven Quality, as IBM called it when I was there; I imagine it has a new acronym by now) is that there are right ways and wrong ways to do a job (any job), and that any job's efficiency and quality can be determined through objective metrics which do not vary from project to project. Wait, stop laughing! IIRC, one of the original inspirations for this idea was a study on brickmasonry -- turns out some brickmasons would lay a brick using a certain number of
    • Re: (Score:1, Flamebait)

      by njcoder ( 657816 )
      Oh yeah I forgot, you noobz didn't know that IBM was a complete fucktard company because they made a few gestures to the open source world.
    • Oh how we've come full circle:

      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"

    • by ajs ( 35943 )

      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.

    • 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

    • Boycotting their software might be a bit excessive.

      But I'd have to be rather desperate to take a programming job at IBM after this ;-)
  • by Scott Wood ( 1415 ) <scott@@@buserror...net> on Saturday April 26, 2008 @09:21PM (#23210910)
    ...like not being able to spend significantly more time on the tricky sections of code than on the routine stuff.
    • ...like not being able to spend significantly more time on the tricky sections of code than on the routine stuff.
      Relax, this just means the tricky sections will have more line breaks.
      • I'm sure this nasty new toy is measuring lines more intelligently than splitting on newlines.

        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"
        " "
  • by Baldrson ( 78598 ) * on Saturday April 26, 2008 @09:26PM (#23210938) Homepage Journal
    I get dibs on the patent for measuring whether programmers meet management expectations for lines of code per hour!

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

    • You only get credit for 1/2 a character [as in, type 'a', realize it should be 'b', then hit backspace, and type 'b'] when using the backspace key. You are dinged 1 character for the mistake, but you get 1/2 back for the fix.

      Because you just can't be given full credit when you've just admitted to making a mistake.

    • Some years ago I worked as an engineer for a company in Dearborn, Michigan that makes a major consumer durable good. My supervisor was a rather earnest Eastern European emigre whose affect loosely resembled the "intense" comic personna of Gilbert Godfried.

      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)

      I get dibs on the patent for measuring whether programmers meet management expectations for lines of code per hour!

      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.
    • by humphrm ( 18130 )
      I want patents on all the software released using this methodology.

      Judge: "Can you prove this software is yours?"

      Me: "Just look at it! It sucks! Any questions?"

      Judge: "OK, Mr. Gates - Pay up."
    • Where I work, we call that "goggles programming", due to the mental image of someone typing as fast as possible in a wind tunnel. We have a few like that, unfortunately. The thing is, they type so much, that they'll still get to a solution in the smallest wall-clock time, even if it's a steaming unmaintainable pile of garbage.
  • "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."

    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

    • 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
      int i=0;
      // The next line makes sure we count to ten
      i<=10;
      // This increments the count
      i++)
      {
      // Let's do our function.
      doWork();
      // And close the loop.
      }

      Sounds like a real blast, IBM. Good thinking.

      • Agreed. There are already too many programmers who have copy/pasted when they should have extracted the common code into something that was re-usable.

        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.
        • by daeg ( 828071 )
          I think this method is already used by every outsourcing company in existence. They justify their existence and their cost-effectiveness to management by showing the sheer size of the program they created. Surely a program THAT big couldn't be bad, could it? Of course not! And for such great prices per line!

          enum Boolean {
            True,
            False,
            FileNotFound
          }
      • Brilliant! I'll implement this and finally all the code will be written with documentation!
        • Thats been fixed where I work. We get evaluated on lines of code but the code counter excludes comments because, well, they don't do anything.
          • 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.

          • by daeg ( 828071 )
            Obviously you need to write comments as strings.

            "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'"
          • Thats been fixed where I work. We get evaluated on lines of code but the code counter excludes comments because, well, they don't do anything.

            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.

          • Excluding comments because they 'don't do anything' is equally stupid. Well-documented code is worth far more than the same code without documents.
            • by x2A ( 858210 )
              Comments aren't code, you might want to include them in "lines of text", but they, by definition, should not be included in a "lines of code" count.

    • by arth1 ( 260657 ) on Saturday April 26, 2008 @09:50PM (#23211076) Homepage Journal
      Someone I know was told to increase lines-of-code output by 20%, not counting comments. He immediately complied and exceeded expectations by switching to K&R style, declaring function variables on separate lines instead of inline, and placing { on a separate line.
      He was ready to place semicolons on a separate line too, if management wanted even higher efficiency.
      • Oh, in Eclipse you can just create your own code style and hit the format button. You need additional lines? No problem! I can add 50% more lines to an entire application in just 10 minutes. And I could add quite a few characters more if I use CheckStyle and the Clean functionality.
    • by snl2587 ( 1177409 ) on Saturday April 26, 2008 @10:23PM (#23211196)

      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.

      • 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

      • by chr1sb ( 642707 )
        Well, that's true but it doesn't help, because the "quality control guys" will just be other programmers (which allows all the programmers to learn from each others' good and bad practices). A "I'll scratch your back if you scratch mine" outcome is likely, resulting in unnecessarily long source code.

        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)

    by symbolic ( 11752 ) on Saturday April 26, 2008 @09:35PM (#23210994)
    claims to improve software quality by taking a chess-clock-like approach to code walkthroughs

    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)

      by compro01 ( 777531 )
      perhaps IBM is not being evil and is merely patenting this to ensure that no one will be able to use this "method".
      • There's "benefit of the doubt", and there's "absurd contortions of 'logic'". I suspect that this is the latter.
      • perhaps IBM is not being evil and is merely patenting this to ensure that no one will be able to use this "method".

        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.

    • by marxmarv ( 30295 )
      I, Cringely [pbs.org] paints a picture of IBM [pbs.org] that is quite consistent with the spirit of this invention. Such a timer would increase throughput (as distinct from productivity) and generate an audit trail that "proves" a customer's code was "reviewed". What's a sleazy consultancy whose value is in paperwork and billable hours not supposed to love about this?
  • Metropolis.... (Score:3, Interesting)

    by drolli ( 522659 ) on Saturday April 26, 2008 @09:41PM (#23211016) Journal
    This reminds me of:

    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.
  • If anything, from my limited experience with formal code inspections, the gain from a device like this would be to slow the pace through the code.

    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
  • It seems like they're trying to bring good ole times when KLOC's (Kilo Lines Of Code) were the measure of programmer's productivity. Ahh, spaghetti code FTW !
    • by Enleth ( 947766 )
      Incidentally, in Polish, "kloc" is an augmentative form for "brick" ("klocek") and, as a consequence of that, a colloquial word for a very dense and voluminous effect of defecation, the kind that tends to clog up toilets when flushing. Thus, I can't help but think about such coding techniques in the terms of the latter meaning...
  • Just look at any pice of code that is a bit harder to understand. It will not have been inspected well.

    Lines of code as performance metric is only for those without any clue at all...
  • by jesterzog ( 189797 ) on Saturday April 26, 2008 @10:42PM (#23211300) Journal

    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)

      by jesterzog ( 189797 )

      (responding to my own post with more ideas) ...

      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.

      Other areas where such a tool might be useful are:

      • For a QA tea
  • I am glad I do not work for them anymore. Of course, I am not surprised. IBM have been treating their workers like cattle rather than humans for some time now. This is just another indicator.
  • -2000 Lines Of Code (Score:5, Interesting)

    by theodp ( 442580 ) on Saturday April 26, 2008 @10:51PM (#23211336)
    After optimizing Quickdraw with a rewrite that saved around 2,000 lines of code, Bill Atkinson dutifully filled out the form Apple management used to measure software productivity, completing the lines of code part by writing in the number -2000 [folklore.org].
    • I do remember once fixing a bug by removing 47 lines of code. Not adding any, not modifying any, just removing them - it was a single function and the sole place it was called.

      I later referred to this as the "Fuck Things Up function", which is honestly a pretty good description.
  • Seen this (Score:3, Insightful)

    by ichbineinneuben ( 1065378 ) on Saturday April 26, 2008 @11:27PM (#23211500)
    Isn't this straight out of US Govt coding hell in Snowcrash? http://en.wikipedia.org/wiki/Snowcrash [wikipedia.org]
  • I can see this idea being used overseas..... More like in a outsourced environment. Companies who outsource their programming to 3rd world countries or countries such as India where the programmers are cheap and flourish may want to use software like this. Countries like those seem to have stricter ideologies, and this may be one more method to keep workers in line. This not only provides a new way of doing QA not on the code side, but rather on the programmers themselves. I personally however, can't se
  • I HOPE they deploy this at work.

    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.

  • Please can I patent a stroll in the park?
  • Don't rush me sonny. You rush a miracle man , you get rotten miracles.
  • ...EA Games is all over this one! If you code less than 50 complete functions within an hour, your computer explodes just enough to ensure you die a horrific death as an example for the next coder in line.

    (Or something to that effect...)
  • Neal Stephensons "Snow Crash".
  • I would do everything I could to sabotage this. I would never use this on my employees.

    This sounds downright evil.

Is knowledge knowable? If not, how do we know that?

Working...