Slashdot Mirror


IBM Seeks Patent On Judging Programmers By Commits

theodp writes "How'd you like to be deemed unworthy of a job based upon a scan of your GitHub updates? That's what proposed in a newly-published IBM patent application for Automated Analysis of Code Developer's Profile, which proposes weeding out developer candidates for certain roles based on things like the amount of changes one typically makes with each commit, how frequently and regularly one makes commits, what hours of the day one makes commits, the percentage of commits with conflicts that one resolves, and the 'depth' of one's commit comments ('shallow', 'mid-range' or 'deep'). Big Blue explains that commit or repository interactions can be used to produce a 'conclusion report' that compares a developer to others who have profiles on the repository, which helps management 'avoid wasted time with ineffective developers."

132 of 182 comments (clear)

  1. What crap by Anonymous Coward · · Score: 5, Insightful

    The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective, whereas a dweeb performing trivial refactoring is classed as a genius?

    1. Re:What crap by Anonymous Coward · · Score: 5, Insightful

      Programmers will just figure out how to game the system and get good reviews for their checkins. That's what happened when they tried to institute a number of lines of code metric.

    2. Re:What crap by Anonymous Coward · · Score: 1

      And the developer automates trivial refactoring (think R# + VS macros) gets paid to do nothing while he "works" from home.

    3. Re:What crap by hughbar · · Score: 3, Insightful

      Yes, exactly, at a previous job where we were presented with a mad time-recording system, we ended up writing a client to deal with it. I'm sure Friday afternoon commit++ projects will flourish. This is another version of the idiocy of counting number of lines of code per day/month.

      --
      On y va, qui mal y pense!
    4. Re:What crap by dmomo · · Score: 2

      >..The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective,

      If I spent a week doing that, there'd probably be hell to pay. Point taken, though.

    5. Re:What crap by Marxist+Hacker+42 · · Score: 3, Insightful

      Or, for that matter, the other way around. The guy who finds the five year old memory bug is a genius, while the guy who is refactoring all the code to make it more maintainable and save developer hours in the future is now an ineffective dweeb.

      Personally, I want both on my team.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    6. Re:What crap by haystor · · Score: 1

      And the guy who checks out the code base to put braces on the same line as the function; He's a hero, right?

      --
      t
    7. Re:What crap by DaMattster · · Score: 3, Insightful

      This is a poor idea because ultimately it is the quality of the code being committed, not the number of the commits. You can have a high number of commits with poorly written code that has buffer overruns, null pointer dereferences, and failure to manage dynamic memory properly. This rewards someone that is sly, not a good programmer.

    8. Re:What crap by Isaac+Remuant · · Score: 2

      if the guy's name is script, then yes.

      --
      "Science can amuse and fascinate us all, but it is engineering that changes the world. " - Asimov.
    9. Re:What crap by Call+Me+Black+Cloud · · Score: 3, Insightful

      No, because everyone knows braces go on a new line!

    10. Re:What crap by mwvdlee · · Score: 2

      "Commit Judgement", from the company that invented "K-LOC" (http://en.wikipedia.org/wiki/Source_lines_of_code).

      Bad: Fixing a bug by fixing the single line of code that caused it.
      Good: Fixing a bug by wrapping the entire routine in a large if..else.. branch for handling the specific case of the bug.

      Bad: Commenting a commit with "Fixed bug #123; memory for property "foo" not released on destruction of a "Bar" instance."
      Good: Committing with "I spent all day looking for this weird thing that happenned whenever an object of the class in this sourcefile was no longer being used where allocated ram was no longer available to other objects. Turns out that when the garbage collector got around to do it's thing one of the public variables just stuck around".

      Bad: Fix a bug, test, tweak fix, test, commit fix.
      Good: Fix a bug, commit fix, code crashes, fix bug again, commit fix, some minor detail was still missing, fix missing bit, commit, add some comments, commit, test, turns out the bug was in a different sourcefile, revert fix, commit, fix actual bug, commit, add commens, commit, test, tweak fix again, commit.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    11. Re:What crap by INeededALogin · · Score: 1

      This is a poor idea because ultimately it is the quality of the code being committed, not the number of the commits.

      Read the summary at least. This is about more than simply counting commits. This involves the quality of the commit meaning that if someone is having to modify those lines later or remove that commit etc. I think this is brilliant honestly. Your source control knows all modifications to the source tree and by what individuals. Analyze a developers impact on the codebase and you can derive that developers value to the organization.

    12. Re:What crap by mapkinase · · Score: 1

      The whole movement "replace humans everywhere" is idiotic. Biocomputing centers getting rid of curators, oral exams replaced by idiotic choice tests, etc, etc.

      Replace humans where no choice is involved. Once the choice is involved, programming becomes increasingly stupid and prone to errors.

      --
      I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    13. Re:What crap by kdemetter · · Score: 3, Informative

      I don't think it's a good idea too automate it, and it also shouldn't be used as a selection process, because then people start to be afraid of commiting, causing them to delay it, which will result in more merge conflicts.

      On the other hand, it can be very useful at the end of a project, to discussed the lessons learned, since you have the full history.

      As a developer, I want to code efficiently, and meet my deadlines.
      I have a much cheaper suggestion : 'The Clean Coder' , by Robert C Martin .

    14. Re:What crap by hazah · · Score: 1

      Gross!

    15. Re:What crap by jdgeorge · · Score: 1

      Hey, you with the facts and reasons, stop it!

      Seriously, though, the interesting question is: If you are going to be evaluated on your job performance, would you prefer it to be done in part using an automated system as described in the patent, or completely by a manager who may have no effective way of understanding your programming work?

    16. Re:What crap by Anonymous Coward · · Score: 1

      Yeah, trying to trick programmers with programs seems like one of the dumber ideas to come along in a while. My guess: About 80 minutes after some company starts using this system, some programmer will have written a script to randomly refactor code, throw in useless variables and methods, etc, and commit the changes. Voila, now they're a genius and get hired immediately...and meanwhile the code actually gets worse.

    17. Re:What crap by Jawnn · · Score: 1

      ...thus proving that you can, in fact, receive a patent on even stupid and worse-than-useless shit.

    18. Re:What crap by alex67500 · · Score: 1

      Indeed!
      But we might as well try to agree on an IDE / text editor...

    19. Re:What crap by Darinbob · · Score: 2

      I had a boss once who checked in code constantly. He was indeed one of the most productive members of the team, but the number of checkins far outweighed the actual productivity since he was also committing a lot of code to fix up his earlier commits. Ie, he checked code in before testing, then tested it immediately, then updated the code, plus he used the checkin as a means of backing up files sometimes. Whereas I'd wait until the code was working or at least in a workable form before checking in.

      There's another factor too. I'm a programmer but I don't spend all my day programming. There are long periods of time where I do no programming at all, I'm helping out others, answering questions, debugging core dumps, figuring out manufacturing faults, and so on. If someone is being judged on number and quality of commits then this is as ridiculous as judging based on lines of code, a programmer should not be treated like a factory floor assembly line worker.

    20. Re:What crap by hazem · · Score: 3, Insightful

      > I'm a programmer but I don't spend all my day programming. There are long periods of time where I do no programming at all, I'm helping out others, answering questions,

      Imagine now you help five colleagues solve their problems - they get the credit because they did the commits, and you get fired for being unproductive.

      I once worked for a guy who said, "be careful what you measure - you'll get more of it".

    21. Re:What crap by rtfa-troll · · Score: 1

      I had a boss once who checked in code constantly. He was indeed one of the most productive members of the team, but the number of checkins far outweighed the actual productivity since he was also committing a lot of code to fix up his earlier commits. Ie, he checked code in before testing, then tested it immediately, then updated the code, plus he used the checkin as a means of backing up files sometimes. Whereas I'd wait until the code was working or at least in a workable form before checking in.

      And this is why you should switch to a proper modern distributed version control like Mercurial or GIT. Your boss would checkin locally and wouldn't disturb the development. You would learn to checkin more often and learn to record the reason for changes rather than the result. All would be happiness and light.

      --
      =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
    22. Re:What crap by curious.corn · · Score: 1

      I used to work on an online product support team... ha, ha what a travesty. The foreman used to - among other things - bash me for "typing too slow" and "thinking too much" over my replies when the other team members were swiftly and productively typing away at our customers.

      Oh yeah, pity that those touch typing heroes were constantly hitting the del key... metric morons.

      In life, you get what you ask for... if not worse

      --
      Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
    23. Re:What crap by Darinbob · · Score: 1

      Except that things like git may be good for distributed teams that rarely talk to each other (your typical open source project) but people I know who've dealt with this in real world in-the-same-cubicle-row teams tend to spit and cuss when talking about git and mercurial. I haven't used them myself though.

      And changing tools is a major shakeup. You never do this on a whim, it takes time and testing and keeping things in parallel for awhile. Real world projects should never do this just because some blogger liked a tool and wrote about it.

    24. Re:What crap by msobkow · · Score: 1

      Personally I'd be really curious to see how IBM's system rates my work at http://msscodefactory.sourceforge.net/

      With manufactured code, often the only update is the header comment as to which version of the tool was used to produce the code, but at the same time, you'll find gems like me writing the GEL compiler and runtime in under a week. :)

      --
      I do not fail; I succeed at finding out what does not work.
    25. Re:What crap by msobkow · · Score: 2

      You're just jealous that I peaked at 27,000 lines of code per day using my tools for a 2-3 month period. :)

      --
      I do not fail; I succeed at finding out what does not work.
    26. Re:What crap by ATMAvatar · · Score: 1

      Again, it largely depends on the metric used. If the metric program is merely looking at the global repository and not distinguishing branches, one could easily create a branch that serves only as a honeypot for gamed commit activity.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
    27. Re:What crap by jedwidz · · Score: 1

      The invention here is just tooling for data mining commit data. And as such it's a great, since the alternatives are to review commits manually (too inefficient and error-prone), or ignoring commit data altogether (and instead basing management decisions on, um...).

      Only a robot or an incompetent manager would take the generated profiles at face value. They could take them as a starting point, and follow through with manual spot checks on commit quality, and as a talking point for performance reviews.

      In the past I've appealed to commit stats for performance appraisals. It's as good an objective measure as I could think of, and absolutely good enough to identify substandard employee performance.

    28. Re:What crap by dudpixel · · Score: 1

      Aha, so if you and that other guy worked on the same team then both your jobs would be very safe.

      --
      This seemed like a reasonable sig at the time.
    29. Re:What crap by MacGyver2210 · · Score: 1

      YES!

      Also, Penguins.

      --
      If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
    30. Re:What crap by PCM2 · · Score: 1

      Seriously, though, the interesting question is: If you are going to be evaluated on your job performance, would you prefer it to be done in part using an automated system as described in the patent, or completely by a manager who may have no effective way of understanding your programming work?

      Personally? I'll take the manager. Fuck the automated system.

      Why? Because the automated system isn't ever going to be given the authority to assign you promotions, or give you raises, or dole out work. The manager is still going to do those things, whether there's an automated system or not. The purpose of the system is to give the manager information by which to make decisions.

      What that means is, without the automated system, you have a silly, ignorant manager who doesn't know his job. With the system, you have a silly, ignorant manager who thinks he knows his job and can claim to have "hard numbers" to back up his decisions. And because he has the numbers, his supervisors will believe him.

      But as we all know, you can spin numbers any way you want. If you have bad numbers and your manager doesn't like you, your job is on the line. If you have bad numbers and he likes you, he can probably dig around until he finds a trend that he says indicates you're showing improvement. If he really likes you, your bad numbers indicate that you're not being given the work that will really allow you to shine. On the other hand, if he really doesn't like you, your good numbers mean you're overworked, you make too many commits because you don't take direction, or you're a control freak and you're constantly rewriting other people's code. Or the good numbers simply disappear and he tells his boss you're average and you're not causing any problems.

      What's more, you will never, ever dispute your numbers, because if you can successfully dispute them, it will mean that all the money spent on the automated system was wasted -- and the people who authorized the purchase of the system will never let that be known. It simply won't happen.

      So yeah, fuck the automated system. And furthermore, fuck any kind of bullshit "metrics" that are really just CYA for the middle management class. You know what a manager's job is? To manage. If you're not qualified to do that, then why should you be given software that makes you sound as if you are?

      --
      Breakfast served all day!
    31. Re:What crap by PCM2 · · Score: 1

      Ha! It just occured to me that I posted the above immediately after watching an entire half-season of The Wire. Folks might want to check out that show to see how things go when managers are encouraged to play the stats game.

      --
      Breakfast served all day!
    32. Re:What crap by JasterBobaMereel · · Score: 1

      Be careful what you measure, as that will be what people will do ...

      If you measure commits, with comments, then people will do many commits with comments,... the comments may not be useful, the commits may not be relevant, but that is what you measured so that is what they did ...

      --
      Puteulanus fenestra mortis
    33. Re:What crap by rtfa-troll · · Score: 1

      Except that things like git may be good for distributed teams that rarely talk to each other (your typical open source project) but people I know who've dealt with this in real world in-the-same-cubicle-row teams tend to spit and cuss when talking about git and mercurial.

      The point fundamentally is that a proper distributed version control system is an entirely new tool and a major advance in much the same way as any version control is an advance over just using files. This does mean added complexity. Just as when people switched from doing everything in assembly to using compilers, there will be people who have problems; and / or will resist this change for a long time.

      The key benefit isn't really in the fact you can work distributedly. It's rather in the ability to check in fast and often on a local repository without making a mess of the central one. this allows making of checkins for every logically separate change.

      As an example, imagine you add a new feature but for it to work you have to do some optimization. Probably you write the feature first then do the optimization afterwards. However, if you make them in separate sets of check ins, you then push the optimization up stream first (no functional change, so much easier to get in). This means that as you struggle for several months to get your new feature accepted, your optimizations and other changes to the broad code base are already in. Your need to keep rebasing almost completely disappears.

      You could in principle do that with a normal revision control system using multiple branches, but in real life you don't. That's because you discover what changes you are going to have to make as you go along and start fixing the code around your change. By the time you do this it's too late to go back in time and split up your early commits into two separate branches. With a distributed system you can get into the habit of committing early and often so this is much much easier.

      I haven't used them myself though.

      And changing tools is a major shakeup. You never do this on a whim, it takes time and testing and keeping things in parallel for awhile. Real world projects should never do this just because some blogger liked a tool and wrote about it.

      Both GIT and Mercurial are a bit beyond that and have seen both a fair bit of large scale commercial and very large scale open source usage.

      Successful cut overs that I have seen involved at first mirroring from SVN/CVS or whatever into the distributed version control and then moving the tools over so that they read from the new system. However, once that was done there was a day when there was a very hard cut over and all commits suddenly switched from going into the old repository to the new. A softer cut over risks chaos and insanity IMHO. The cut over should be done very close to the start of a development cycle. There definitely has to be an experienced user of the new system to support anybody who is having problems.

      --
      =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
    34. Re:What crap by VirtualJWN · · Score: 1

      C'mon there HAS to be a way to "weed out" those who CAN from those who "CAN'T" and frankly screen out potential upstarts and keep only the chaff. At least keep the smart people CONTRACTORS so they aren't really part of the company, though they often doo all of the heavy lifting. Just more MBA PAP to muddy the waters and provide excuses to promote your buddies.

      --
      "Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke
  2. I'd have expected better from IBM by Viol8 · · Score: 1

    The number of commits or lines of code written is not indicative of how good a programmer is. What matters is whether they can deliver a working, efficient program to spec to the deadline. Aside from that - what happens if said candidate doesn't commit any code on public repositories - will IBM just bin his resume without even bothering to interview? This is just so absurd I had to check my watch to make sure it wasn't April 1st.

    1. Re:I'd have expected better from IBM by Anonymous Coward · · Score: 1

      It's a management tool. I already use FishEye to introspect on these topics. I don't use it to get rid of people, but I do use it to get insight into who needs guidance, whose work might need secondary vetting, etc.

    2. Re:I'd have expected better from IBM by JAlexoi · · Score: 3, Insightful

      No... They are hoarding stupid patents so that they can sue anyone who uses these stupid rules!

    3. Re:I'd have expected better from IBM by Kenja · · Score: 3, Informative

      Why? This is IBM we're talking about. They used to judge programmers on the number of lines of code generated rather then on the efficiency of said code.

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    4. Re:I'd have expected better from IBM by bkmoore · · Score: 3, Funny

      ...They used to judge programmers on the number of lines of code generated rather then on the efficiency of said code.

      They had to change their metric, or programmers would stop using loops in order to get a raise.

    5. Re:I'd have expected better from IBM by w_dragon · · Score: 2

      That's a good thing, right? Keeps other companies from being stupid?

    6. Re:I'd have expected better from IBM by Hogmoru · · Score: 1

      Yes, the job has to be done, but I don't see how a full-automatic system can do it. It requires knowlege about the project, what's going on, etc. And yes there are developers who are really bad at committing code: writing helpful comments, but also paying attention to what the "diff" will look like (i.e. avoid slipping a critical change in the same commit as a refactoring, or at least explain it very cleary to help locate it).
      This is the project leader's job to monitor this, and talk with developers who need to make progress on this...

    7. Re:I'd have expected better from IBM by Viol8 · · Score: 1

      Sounds like the only thing that needs vetting is the idiot who hired someone as clueless as you in the first place.

    8. Re:I'd have expected better from IBM by StikyPad · · Score: 1

      printf("H");
      printf("a");
      printf("h");
      printf("a");
      printf("h");
      printf("!\n");

    9. Re:I'd have expected better from IBM by CoderFool · · Score: 1

      Metrics like this are arrived at by MBAs that haven't a clue as to how real work gets done.

    10. Re:I'd have expected better from IBM by twmcneil · · Score: 2

      Your comment got modded "Funny". I'm uncertain if that was your intent but I can assure you that when being paid by LOC, their programmers did in fact unroll loops.

      --
      "The ferrets, they're every where I tell you!"
    11. Re:I'd have expected better from IBM by bkmoore · · Score: 1

      It got modded "Funny" because nobody on /. thought anyone would be dumb enough to pay programmers by LOC. I guess IBM has proven us wrong.

    12. Re:I'd have expected better from IBM by jgrahn · · Score: 1

      You also unroll loops for performance.

      In the 1970s perhaps you did. Not now.

  3. Tool for idiots by Anonymous+Codger · · Score: 5, Insightful

    This is a tool for idiot managers who don't understand programming and who have no clue how to manage programmers, and who want to look like they're in the loop. There's no way I'd stick around in a job where I was judged based on this absurdity.

    --
    No sig? Sigh...
    1. Re:Tool for idiots by Hentes · · Score: 4, Interesting

      This exactly. If you can't hire "efficient" coders, it might be a clue that you need more efficient managers.

    2. Re:Tool for idiots by ShavedOrangutan · · Score: 2

      Not having this tool, managers will just reward the programmers who complain the most.

      --
      Godaddy is a scam and a ripoff.
    3. Re:Tool for idiots by AnalogDiehard · · Score: 1

      When I was at RIT during the mid 1980s, the CS students knew better to stay away from the IBM recruiters.

      I did some co-op work at an IBM plant during those days (I was an EE not a CS). The new hires were top-of-the-class 4.0 GPA students. Some of them demonstrated beautifully that they were really good at college studies but absolutely terrible in the real world workplace.

      My dad was a manager there and he was competent with computers. He and his colleagues said most of the blame was laid squarely at HR. Managers would find a qualified candidate, then HR would submit resumes of other candidates who had 4.0 GPA grades and met "diversity" rules laid out by federal regulations.

      --
      Eternity: will that be smoking, or non-smoking? I Corinthians 6:9-10
    4. Re:Tool for idiots by St.Creed · · Score: 1

      When I was graduating I had to work for my living and I worked for the hardware helpdesk at IBM. Apart from the very strict rules, the posters against espionage (we handled the calls for faulty typewriters for crying out loud) and the fact that we switched manager every 3 months and most people didn't last longer than the managers so they didn't even notice it, it was also the dumping ground for people they didn't want to fire but didn't want to retain in their old position either. I didn't really understand the definition of "morose" before I started working there, but afterwards I could lecture you on that word for hours.

        It was the best way to make sure I'd never work for IBM :)

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    5. Re:Tool for idiots by Hentes · · Score: 1

      My dad was a manager there and he was competent with computers. He and his colleagues said most of the blame was laid squarely at HR. Managers would find a qualified candidate, then HR would submit resumes of other candidates who had 4.0 GPA grades and met "diversity" rules laid out by federal regulations.

      I'm not familiar with the hierarchy of IBM, since when does HR tell the management who to hire? In normal places HR only participates in the first part to weed out those that are not serious.

    6. Re:Tool for idiots by Fulcrum+of+Evil · · Score: 1

      In some places, HR is in the drivers seat and can dictate tech hiring decisions.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    7. Re:Tool for idiots by dudpixel · · Score: 1

      The part of it that gets me is that its the managers who allocate the work in the first place.

      --
      This seemed like a reasonable sig at the time.
  4. What do eHarmony and IBM have in common..... by Anonymous Coward · · Score: 5, Funny

    They're both full of people who are afraid to commit.

  5. And here it goes... by Anonymous Coward · · Score: 1

    So how many one line changes can I commit per day before someone yells "ENOUGH!!"?
    I know too many 'hero' developers that would surely take advantage of this setup.
    What if my commits are simply being done because I'm fixing bugs put in by someone else who's doing commits that are bug-ridden?
    Yes I know a 'true' developer won't check in code that hasn't been unit tested....guess what, it does happen, and it's those developers who like to see themselves as pounding out 1000s of lines of code that make the difference, not the quality.

  6. Well, who's gonna code this? by ccguy · · Score: 2

    I assume this is just a theoretical analysis. Well, eventually a team of coders will get to do it... and guess what, they'll use it of themselves.

    I expect this team to have lots of backstabbing fun :-)

  7. Good by will_die · · Score: 4, Funny

    Let IBM have the patents that way no other vendor will add theses to thier products.

  8. Ineffective by Anonymous Coward · · Score: 2, Funny

    "which helps management 'avoid wasted time with ineffective developers.'"

    Does it also help developers avoid wasting time with ineffective management who use stupid metrics?

  9. I'm going to patent... by spidercoz · · Score: 5, Funny
    ...judging companies by the number of bullshit patents they file.

    Business methods are NOT inventions, they do NOT advance the sciences or useful arts, and SHOULD NOT BE PATENTABLE!

    --
    "I disapprove of what you say, but I will defend to the death your right to say it." - Evelyn Beatrice Hall, re Voltaire
  10. Obvious Flaw by Anonymous Coward · · Score: 1

    How do you measure the value of a commit when tracking down a one-line bug can take a very long time to find? I don't get paid because of my ability to write massive amounts of code... I get paid because if there is a bug, I am the only one who can track it backwards and find where to fix it.

  11. "managers who don't understand programming" by Viol8 · · Score: 3, Insightful

    That sums up the majority of IT managers I've ever worked for. Most of them were admin/business types who'd been moved sideways from other areas and they generally would have had trouble spelling "computer" , much less programming one. But yes, this will be perfect for those sorts of numbnuts who need an easy way to "measure performance".

  12. What Multidimensional Crap! by eldavojohn · · Score: 5, Insightful

    The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective, whereas a dweeb performing trivial refactoring is classed as a genius?

    The examples are endless so I'll provide another that I 1) witness monthly and 2) have been on either side of. You have the programmer that, when presented with implementing a solution to a complex problem, sits down and draws out class diagrams on paper and erases and redraws while that is cheap and writes the code once many days later and makes small changes to it as it is tested/refined. You also have the programmer that dives right in, may well discover that this was a really expensive solution though easy to code and has it constantly sent back to him after testing only to have to rewrite major portions of it and/or realize then that he/she is reinventing the wheel leading to major changes to try to use another library and, well, this run-on sentence like their work could go on forever while your first programmer was done weeks ago. And who gets the major commit and repository score?

    --
    My work here is dung.
    1. Re:What Multidimensional Crap! by Anonymous Coward · · Score: 5, Informative

      IBM employees get bonuses for submitting patents. Therefore there are always peeps at IBM cooking up some kind of crazy patent so they can get it past the patent board at IBM and get it submitted to USPTO and get their little bonus. The effectiveness of all this is all subjective and marginal. Why do you guys think IBM has the most number of patents.

    2. Re:What Multidimensional Crap! by Anonymous Coward · · Score: 1

      And you make the automatic assumption that they would rather see frequent commits with massive changes than a fewer number of commits with smaller changes?

      They list the metrics used, I do not see any listing of good vs bad anywhere in the summary.

    3. Re:What Multidimensional Crap! by dvice_null · · Score: 2

      - Consider a problem solver who spends most of the time helping others. That person can perhaps solve a problem in 5 minutes, which would have taken 2 weeks from a whole team.
      - Or an educator, who can turn bad programmers into good programmers by teaching them, thus increasing the development speed.
      - Or a person who can say "we don't need to spend half a year developing that, we can use this instead" and save a huge pile of money.
      - Or a person who invents a way to speed up the process and saves 1 hours a day for each developer in a project of 100 developers.

    4. Re:What Multidimensional Crap! by jedwidz · · Score: 2

      That's brilliant, I wonder if they have a patent on that scheme...

    5. Re:What Multidimensional Crap! by garatheus · · Score: 1

      Should probably check out whether it's been patented, and if not, patent it... QUICK! $$$ PROFIT $$$

  13. Translation by davidbrit2 · · Score: 4, Funny

    "IBM Seeks Patent On Poor Management"

    1. Re:Translation by cdp0 · · Score: 1

      This has the potential of bringing them more money than the rest of their business, then.

  14. Good that they're patenting it... by Anonymous Coward · · Score: 1

    I wouldn't want anyone else to use this idea...

    I know fantastic developers with wide ranging practices on commit size, frequency, length of commit comments. While I disagree with many of them, they still produce great software.

  15. So once the algorithm is made... by jellomizer · · Score: 5, Insightful

    Then the programmers will just change how they comment their code.
    When I was doing consulting I got dinged because as part of my time breakdown I put Bug Fixes as a line item. After I got dinged for that (Because they didn't want to pay for faulty coding) I changed bug fixes to specification changes. They were happy with that. For the most part good employees what to be honest about their work, however if you make a system where honesty is punished, then people will start stretching the truth.

    No one has really found a good way to evaluate a programmers efficiency, mostly because if they do their job right they are not doing the same thing every day so their output will very. There were attempts of measurements like Lines of code which meant programmers started to write more verbose code and doing more copy and paste and less objects and procedures. Then they try to measure by number of projects or sub projects they produced, so the experience developers will jump on and take up the quick and easy projects leaving the ones that require more work to the newbies. Then there reporting by bugs tracked later on, now this had the problem where the developers would take so much time to make sure there weren't any bugs reported that the product never left the shelf or put try and catches that jumped over errors cases and hid the fact the bug happened only to appear in someone else section of code.

    Software Developers/Programmers do the job that computers cannot do. So it is difficult to use computers to monitor their performance just because their work is a lot less calculated.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:So once the algorithm is made... by Maximum+Prophet · · Score: 1

      Software Developers/Programmers do the job that computers cannot do. So it is difficult to use computers to monitor their performance just because their work is a lot less calculated.

      I've often argued this with managers w.r.t. time estimates. If I know how long something will take, it's because I understand it and have done it before. If that's true, most likely, I can automate it so that it takes almost no time at all, i.e. scp foobar user@newmachine:/opt/productname/foobar

      If I don't understand something yet, and I've never done it before, then right now, my estimate is infinite time, because there's a chance the current system won't handle the new specs using the available resources. I've even had exchanges like this:

      • Manager: How long will it take?
      • Me: ASAP
      • Manager: I need to know if I will have to put additional resources on the project.
      • Me: We're there. Are there any more resources?
      • Manager: No
      • Me: Ahhhg
      --
      All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
    2. Re:So once the algorithm is made... by swillden · · Score: 1

      No one has really found a good way to evaluate a programmers efficiency, mostly because if they do their job right they are not doing the same thing every day so their output will vary.

      I think lots of metrics have been devised that provide useful information -- but only if the programmers don't know what they are, and only if the people interpreting the metrics have a clue. As soon as people know they're being measured they adjust their behavior to optimize the measurements, so unless you can measure exactly what you want to optimize (and software development is far too complex for this to be easy, and may be too hard for it to be possible), then any metric will ultimately be counterproductive if used slavishly. Also, any metric is at best a partial picture, so the users of the numbers have to understand what the numbers do and do not tell them.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  16. IBM, Outsourcing and auto judging of code quality by roguegramma · · Score: 3, Insightful

    Considering that IBM has initiated a global outsourcing program, starting in Germany, it is easy to see how automated judging of code quality can go wrong:

    Outsourced coders tend to code much more to spec, not using their brain and being sensible, and if automated judging of code quality results in an increase of payments, they will add 10 lines of comments to a x+=1 if the automated judgement likes that.

    In addition, when I'm finished finding some bug, very often the resulting code will be shorter than the offending code. This is consistent with the true and tried concept that lines of code are proportional to the number of bugs. I wonder whether automated analysis is smart enough to detect such activity.

    --
    Hey don't blame me, IANAB
  17. Any single number will be fudged by ElmoGonzo · · Score: 1

    Years ago I heard of a group of C developers who were judged by a metric which was Reported Bugs / Lines of Code. Lines of Code was determined by a compile time count of lines compiled. Developers started adding extraneous .h files which increased the LoC value and lowering the metric to a releasable state. You want more commits? Here are more commits. I changed one character. Commit!

  18. The Daily WTF by doomday · · Score: 3, Interesting

    This sounds like it belongs on thedailywtf.com. So would anyone who writes copypasta look good according to these statistics? Would people who write short, carefully considered, effective, reusable code look bad? This type of application has the effect of forcing people to start optimizing their code to maximize the metrics, rather than working to produce an excellent product.

  19. Judging Organizations by Patent Applications by RevEngr · · Score: 1

    My invention is a system and method for the Automated Analysis of Patent Filings to determine which companies are submitting things that are obvious, anticompetitive, practically worthless, and/or generally inclined to stifle rather than spur innovation. These factors will be used to produce a "conclusion report" that compares a company to others in the field to help job-seekers 'avoid wasting time with trolls and bloated relics from days gone by.'

    1. Re:Judging Organizations by Patent Applications by lolococo · · Score: 1

      Man, I would mod you up ++Insightful if I had points

  20. Hah! by decipher_saint · · Score: 1

    This reminds me of metrics that awarded lines of code, as if programming were factory piecework (well, maybe at IBM, I don't know).

    The only metrics that are important are:
    -Does the software work
    -Is it maintainable
    -Is it done on time

    Everything else is balls, or y'know fuelling management paranoia to sell IBM metric tools...

    --
    crazy dynamite monkey
    1. Re:Hah! by rrohbeck · · Score: 2

      Judging programmers by LOC is like judging airplanes by weight. Who said that?

    2. Re:Hah! by BinarySolo · · Score: 1

      Bill Gates, I believe.

  21. Sun used to do this by Anonymous Coward · · Score: 1

    Posting anon, sorry. But I did work at Sun Microsystems for a good number of years and it was very much a system that rewarded those that committed (cvs, "putbacks/bringovers", whatever tool of the day was used) often. I always felt that my code commits were being judged in frequency and comparitively.

    I don't know if things got better or worse when Sun "merged" with Oracle. I was not there at that point; but before then and just before then it kind of started to suck in terms of code devel politics.

    1. Re:Sun used to do this by Isaac+Remuant · · Score: 1

      That's something not many people is discussing here due to the lack of effectiveness of the "solution" but an implementation of such a system shouldn't be patentable. It's not inventive. A bad idea but an [b]obvious[/b] one.

      --
      "Science can amuse and fascinate us all, but it is engineering that changes the world. " - Asimov.
    2. Re:Sun used to do this by Isaac+Remuant · · Score: 1

      arghh... bbcode instead of html... I'm ashamed of myself.

      --
      "Science can amuse and fascinate us all, but it is engineering that changes the world. " - Asimov.
  22. That's how we roll here . . . by mmell · · Score: 2
    Worst. Metric. Ever.

    But we prize form over function. Server down - that's okay. Form not completely and correctly filled out? That's a FIRING offense.

  23. On the other hand .. by roguegramma · · Score: 1

    .. many tiny changes in many files indicates that concerns have been incorrectly separated in the pre-existing code, which might have been written by the same developer.

    --
    Hey don't blame me, IANAB
    1. Re:On the other hand .. by dvice_null · · Score: 1

      Or the developer could be just refactoring the code and e.g. getting rid of duplicate code lines.

  24. They need the incentive by Sloppy · · Score: 5, Insightful

    Remember, if The computer company, who happens to hire a great many programmers, were not granted a monopoly on this technique for hiring programmers, then they would have no incentive to develop the technique.

    If you don't grant this patent, why should IBM innovate ways to figure who to hire? What's in it for them?

    It is only by forcefully preventing the other companies in the tech industry from doing things like this, for two decades, that technology as a whole can move forward.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  25. 19th Century is calling by Bucc5062 · · Score: 2

    How do you patent this type of shit. It's an idea, a process, not a product. Even if it were a "product" how does it even come close to being original. Management has been using these bullshit techniques to attempt to measure "performance" since the damn 60s.

    Of course it will get a number, because the USPO has lost touch with reality. Everything is original, there is no prior act, no idea is far fetched enough to not get a patent. Hell, I remember when "lines of code" was the measurement of work. As I recall, 25 lines a day was the average. Tripe!

    If management looked at development, not as a manufacturing job, but what it really is, craftsmanship then we could do away with bullshit patents like "count the number of times Joe/Jane programmer commit changes". We craft/build programs based on specifications and were we to meet those requirements, then we did our job. Measure completion rates, over/under completion times, quality of the product, but for Heaven's Sake, grow some brain cells and get out of the 19th century mentality of counting widgets made per day as productivity.

    --
    Life is a great ride, the vehicle doesn't matter
  26. Once again for the people that haven't gotten it by cdrguru · · Score: 1

    Everything you do on the Internet is available for inspection and analysis. Sooner or later, someone will come up with a methodology for analyzing photographs on Facebook and Picasa that indicate a person's personality type. And this will be used to filter job applicants.

    If you post it online, it will be used to rate you in some fashion. It may be just an HR tool for sorting resumes, or it may be something that is used to select between candidates.

    Someone I know just went through about four months of a job working its way through a large company where the job changed from a contractor job (that he was approved for) to a employee position. There were four candidates and four different managers each rated a different person as the top contender. HR took this as an indication that there was no "outstanding" candidate and nobody got the job. The hiring manager was pissed but there was nothing that could be done about it. This is how hiring works in large companies with unions. The actual hiring manager has zero control over the process.

    But if you haven't been paying attention, everything you do online will be collected, collated, inspected, analyzed and reported on. There will be services (probably are already) for researching job candidates, prospective spouses, potential roommates, etc. that will use this information to build up a profile that will be useful to some. Is it all BS? Maybe, but people will pay money for it and therefore it is going to happen.

  27. Well, at least it's an easy system to game... by gestalt_n_pepper · · Score: 1

    Computers are stupid, much like the folks at IBM that conceived this idea. In the end, all programming metrics are subjective.

    Low scoring (i.e. few commits): A new, unique and briliant algorithm that models molecular interaction 10000x more accurately and only requires 10 lines of code and some trivial unit tests.

    High scoring (i.e many commits): Changing the labels in 1000 dialog boxes to correct for proper case, making a commit for every 10 changes.

    There is simply no way, absent of meaningful artifical intelligence, to measure whether the changes were difficult or meaningful. And, sorry to say, guys, Watson isn't there yet.

    --
    Please do not read this sig. Thank you.
  28. Recursion by TBerben · · Score: 1

    Does the analysis software scan it's own source code repository, firing the programmers who have contributed too little to its creation?

  29. Re:IBM, Outsourcing and auto judging of code quali by rrohbeck · · Score: 1

    +1.
    Getting rid of crap and making things more consistent is worth a lot more than adding tons of code that trigger Coverity warnings or need to be refactored or even rewritten later. Programmers who produce tons of LOC are rarely good in my experience. A few weeks ago I spent about a week figuring out a truly hairy bug and added about 10 lines.
    I found that longevity is a good metric. Code that doesn't need to be touched again because it just works is good code.

  30. Not close enough by Asic+Eng · · Score: 4, Insightful

    I've encountered this thinking frequently: "we can't measure everything objectively, so we'll just measure something somewhat related - that's got to be better than not measuring anything."

    Sounds reasonable, but is actually wrong and dangerous. Engineers will identify what you are measuring and will change accordingly - which skews the results. And worse some will not change out of a sense of obligation or pigheadedness - which also skews the results because others do. Even if the thing you measured originally had some correlation with what you *wanted* to measure - it will no longer do that once you start measuring.

    At least they are patenting it, which should prevent others from introducing this dumb idea.

    1. Re:Not close enough by uncqual · · Score: 2

      At least they are patenting it, which should prevent others from introducing this dumb idea.

      They may turn it into a commercial product with a nice glossy cover on it that any PHB can use without even knowing what a "commit" is, let alone the contents of said commits in his/her organization.

      Perhaps what is needed is a philanthropic organization to prevent problems like this. The organization could be funded by geeks' financial contributions and geeks could submit really bad ideas which should never see the light of day. The organization would then patent the ideas, the geek would sign over exclusive rights to the patent, and the organization would then "bury" the patent -- refusing to license it but aggressively defending it against others using it for evil. Perhaps the first truly useful patent troll organization!

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    2. Re:Not close enough by wye43 · · Score: 1

      While I concur with your conclusion that this specific patent sucks, you much be also painfully aware that its also much more easier to find faults with other people solutions than finding your own solution.

      No matter what you do, people will find ways to screw with your procedures, organisation, efforts and goals. Many people range from innocent idiots to some really insidious monkeys. Sometimes its better to implement a weak solution, monitor results, handle the extremes manually and adjust the solution dynamically. Handling it entirely manually can result in huge costs of micromanaging.

      Evaluating people(not just programmers) has always been a problem. But not doing anything is not a solution.

    3. Re:Not close enough by wye43 · · Score: 1

      In before grammar police: s/you much/you must/g
      Yeah I suck, mod me down into oblivion :P

    4. Re:Not close enough by Asic+Eng · · Score: 1

      Well you are concurring with a conclusion I did not arrive at. I gave you the reasons why a bad measurement makes things worse than not measuring at all. This matches up with decades of experience in the field: each time such a faulty measurement methodology is introduced, it's entirely to the detriment of the company.

      Evaluating people(not just programmers) has always been a problem. But not doing anything is not a solution.

      And neither is using the wrong methodology. It's seductive this hope you could run a simple computer program and presto - there is your evaluation. Unfortunately it's just a pipe dream, there is no such shortcut. You need to look at what people do, you need to watch who is solving the difficult problems, you need to find out who has the respect of his peers. Anything else is just like using a "system" in order to win at roulette. It would be so nice if it worked - but of course it doesn't and obviously it can't.

  31. Can we do this to lawyers? by Required+Snark · · Score: 1
    Is there some way this kind of bullshit metric could be applied to lawyers? Perhaps take the number of pages generated and compare it to the number of hours in the courtroom, or the outcome of the case,

    I figure that this class of mind numbingly stupid patent results from the bastard mating of lawyers who want to patent all human activity with managers who want to have so many patents that they will never be blamed for not having a legal rabbit to pull out of the hat.

    So if someone comes up with a meaningless way to judge the "output" of lawyers and makes their lives a living hell, it would be appropriate "justice". They would get to experience the kind of crap that they have been shoveling into the lives of normal humans.

    --
    Why is Snark Required?
    1. Re:Can we do this to lawyers? by dna_(c)(tm)(r) · · Score: 1

      Is there some way this kind of bullshit metric could be applied to lawyers? [...]

      So if someone comes up with a meaningless way to judge the "output" of lawyers and makes their lives a living hell, it would be appropriate "justice". They would get to experience the kind of crap that they have been shoveling into the lives of normal humans.

      [Number of word processor manual save]*Square root of[Number of vowels typed in last 24 hours]

      It measures brain activity and penalizes copy/paste, template stuff like headers/footers, standard letters with a few fields changed per client...

  32. The fallacies of IT metrics by smooth+wombat · · Score: 1

    Infoworld had an article about the fallacies of IT metrics which I copied and have saved. If you want to read why measuring code in lines per day/month is the wrong metric (even if you already know why it's wrong), this article gives more reasons.

    The link to the article is this one.

    It should be mandatory reading for anyone who utters the term 'metrics' in a meeting.

    --
    We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
  33. Re:IBM, Outsourcing and auto judging of code quali by Marxist+Hacker+42 · · Score: 1

    Hmm..and in keeping with it's sometimes hard to tell the difference between a feature and a bug, one could also say that the number of lines of code is proportional to the number of features.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  34. performance metrics at IBM by fliptout · · Score: 1

    Every time I read a story like this about performance metrics at IBM, whether it be git commits/KLOCs written/whatever, I have to wonder what kinds of practices engineers there develop. Does engineering quality suffer as a result of gaming the metrics? Are really good engineers helped in their professional development by these metrics, or are they hampered? Are they driven away? Personally, this kind of environment sounds dreadful, but I'm curious what IBMers would have to say about it.

    --
    A witty saying proves you are wittier than the next guy.
  35. Re:IBM, Outsourcing and auto judging of code quali by sconeu · · Score: 1

    Code that doesn't need to be touched again because it just works is good code.

    The flip side of that is code that doesn't *get* touched because everyone is afraid to modify it.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  36. So this patent is good! by gr8_phk · · Score: 3, Insightful

    If you think these methods of rating programmers are faulty then this patent is good. Nobody will be able to use these faulty metrics (except IBM) because they are patented ;-)

    1. Re:So this patent is good! by mapkinase · · Score: 2

      May that's what IBM wants it for, to save humanity from stupid metrics...

      --
      I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
    2. Re:So this patent is good! by Anonymous Coward · · Score: 4, Funny

      If only they
      had patented
      the metric
      for judging
      code by
      number of
      lines written/
      changed/
      updated
      .

    3. Re:So this patent is good! by timelorde · · Score: 2

      or;;;;be;;;;;rated;;;;using;;;;;a;;;;code;;;;counter;;;;;that;;;;;only;;;;counts;;;;semicolons;;;;;
      [a true story]

  37. Re:IBM, Outsourcing and auto judging of code quali by Maximum+Prophet · · Score: 1

    I found that longevity is a good metric. Code that doesn't need to be touched again because it just works is good code.

    Quick, patent your process.

    This sounds like a great idea that you could even base bonuses on. You get a point for every line of code that is still in production. After the points are added up, the bonuses are based on the relative percentage of all points.

    Question: Do you care if you have someone that has amassed so many points that he doesn't have to work anymore?

    If bonuses are based on a percent of sales, then consider the end case where you've got a profitable product that none of your coders have touched in years. Do you care? If sales fall, so will bonuses, providing an incentive to invent something new.

    Under this system, newbies would have to code new apps that provide additional revenue.

    --
    All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
  38. You can patent metrics? by stoicfaux · · Score: 1

    Seriously, can you really patent the idea of taking metrics in order to evaluate performance? Even with the idea of software patents, that seems overly broad.

  39. The important part.... by tilante · · Score: 1
    It looks like the important part here is paragraphs 0115 - 0116:

    [0115] In conclusion, a method, computer program product and system are described for assessing the habits and understanding a developer's coding style and general day to day cycle that automates the process of estimating the relevant role of development this developer would suit. This contributes to any assessment of a member of a coding team's suitability to a project and the current efforts of team members already in place. For instance, a determination can be made as to whether a developer is suited to a specific development style and role in a specific project. This could lead to teams becoming more efficient, productive and delivering faster with better code. It could also lead to happier developers working on more appropriate projects.

    [0116] The approaches described more fully herein, avoid wasted time with ineffective developers, thus increasing productivity and efficiency of processes. The approaches described more fully herein, may also result in building a balanced, accurate understanding of developer(s). The approaches set out more fully herein also avoid the problems of having to rely upon assessing a person for their suitability to a development methodology solely by interview, appraisal or study of their previous work, which is a very time consuming process for management to undertake. For instance, there may be many candidates to evaluate and such manual processes can result in a heavy burden on time, accuracy of results and money.

    [0117] The described method and system provide a number of advantages over existing assessment techniques. As an example, a small agile development team may require frequent synchronization between developers and the central repository, and not require change commentary for code submissions. The user profile for a possible addition to the team could be studied and very quickly a conclusion could be drawn about the specific persons coding style and whether it suits the current team and the team's requirements. This conclusion is based upon the described algorithms and study of the appropriate data.

    So, in other words, the idea is not to say "There Is One Ideal Way to Do Commits!" but rather to use the metrics this algorithm generates to see if a developer's way of working will integrate well with an already-established group. If IBM actually uses the system this way, it might actually make some sense.

  40. Ah PMs by jimmerz28 · · Score: 1

    Maybe one day they'll be able to patent managers that actually manage and get to know their programmers.

    But really I mean by then there will be no such thing as managers and they'll all be Scrum Masters and power will go to the development team itself.

  41. K-LOCs! by Sqr(twg) · · Score: 2

    In IBM there's a religion in software that says you have to count K-LOCs, and a K-LOC is a thousand lines of code. How big a project is it? Oh, it's sort of a 10K-LOC project. This is a 20K-LOCer. And this is 50K-LOCs. And IBM wanted to sort of make it the religion about how we got paid. How much money we made off OS/2, how much they did. How many K-LOCs did you do? And we kept trying to convince them - hey, if we have - a developer's got a good idea and he can get something done in 4K-LOCs instead of 20K-LOCs, should we make less money? Because he's made something smaller and faster, less K-LOC. K-LOCs, K-LOCs, that's the methodology. Ugh! Anyway, that always makes my back just crinkle up at the thought of the whole thing. -- Steve Balmer.

    Not much has changed at IBM since the 70s, apparently.

  42. Re:IBM, Outsourcing and auto judging of code quali by powerlord · · Score: 1

    Outsourced coders tend to code much more to spec, not using their brain and being sensible, and if automated judging of code quality results in an increase of payments, they will add 10 lines of comments to a x+=1 if the automated judgement likes that.

    If it gets Outsourced coders to use comments, then I'm all for it. Too often that tends to be the thing they skip the most. They are too involved in writing the code, too green, or under too much pressure to write and be done, that comments often are thrown under the bus.

    --
    This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
  43. It is *a* tool by Stewie241 · · Score: 1

    I really don't see anything wrong with this, as long as it is used for what it is - a tool. A tool to have a rough gauge of what developers are up to. We don't throw out weigh scales because it isn't an accurate measure of a person's health, do we?

    If you have a good and competent manager she/he can use this tool as a rough measure to see what people are doing. Trends probably matter too. If you see a developer suddenly drop off in terms of commits, this is cause to look at other metrics and perhaps view some commits to see what's happening, or to watch a bit more closely in meetings. There are many metrics (lines of code, style errors, poor commit messages, the way a developer interacts with others, work habits, hand inspected code quality, problem solving approach) that each contain a small picture of how well a developer is doing his/her job. A lot of these on their own are worthless, but if you are able to properly interpret the data then the data can be useful.

    IMO, the bottom line is that a crappy manager will do a crappy job no matter what tools he/she has. A good manager may be able to use a tool like this to help her/him do her/his job better.

  44. What?! It'd be awesome... by Hankavelli · · Score: 1

    I'd just add and then delete the same file so many times that the company would go bankrupt paying my bonus. Then, when everyone is packing up their things, I'd traverse the office, leaping from desk to desk, shouting "I won, I won!"

  45. You just missed it! by zooblethorpe · · Score: 1

    This is brilliant

    No no, that should read This is brillant!

    Certainly on par with a lot of The Daily WTF postings, only now on a managerial level. Joy!

    --
    "What in the name of Fats Waller is that?"
    "A four-foot prune."
  46. An actually useful metric I heard was used by mbkennel · · Score: 4, Interesting

    15 years or more ago, I had a friend in a high-level consulting company (as in contract programming stars, not powerpoint pushers). Their usual m.o. was to pay 2x the going rate and expect 5x to 10x the productivity and brains.

    They had a contract with IBM fixing bugs in I think AIX or something (lucrative and endless). They shared the bug data base with IBM's own workers, who were working on the same project.

    Clever gits that they are, they mined the bug data base algorithmically to look for old bugs which were opened, had many people work on them unsuccessfully, but were eventually closed. They identified one IBM employee (out of dozens/hundreds) who was able to fix demonstrably hard bugs (that other employees had tried and failed to address) consistently.

    So, they made him an offer he couldn't refuse.

  47. This wouldn't be the first by Reasonable+Facsimile · · Score: 1
    dumb patent (application).

    See: http://www.freepatentsonline.com/crazy.html

    The question isn't whether it's a valuable or meaningful metric, but rather, can they make money from it (otherwise why would they patent it)? Maybe it'll end up as part of some application lifecycle tool that they hope to foist on the marketplace (profit!).

    Patents aside, it definitely seems like an ineffective metric. A large percentage of my work consists of measuring progress and defects in the software development lifecycle. Before I even consider measuring something, I ask myself, "What problem am I trying to solve?" From reading TFA, it seems like IBM found a metric that was easy to collect/calculate, and is trying to reverse-engineer it into a process or in this case, a patent.

  48. An *additional* metric, not a replacement by erice · · Score: 1

    There is no measure of productivity that does not have huge flaws. We'd like to measure quality but there isn't even a reliable definition of quality.

    Other posters have mentioned that developers will game the system. That is true. Even if the metric is simply personal observation, people will exceptional and sometimes devious social skills will game the system. That is what office politics and the good old boy network are about.

    If trick is to combine subjective and object metrics (even if flawed). You need the objective metrics to catch the social slackers. You need subjective measurements to catch deliberate distortions and account for variations in working styles.

    Granted, there will always be idiots who will a tool inappropriately but that does not mean it is a bad tool.

  49. Re:IBM, Outsourcing and auto judging of code quali by Altus · · Score: 1

    Also leads to a situation where incumbents have a financial reason to be defensive about their code. Try suggesting to your boss that something he wrote years ago has to be re-written if his bonus is riding on it.

    --

    "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

  50. Wally would Love This! by Abstract+Class · · Score: 1

    I guess we'd have to refactor the immortal words of Wally, "I gonna commit me a new minivan."

  51. Read this old Apple story on the subject by Polo · · Score: 1

    Apple tried this a long time ago with predictable results. (well, predictable to most of us anyway)

  52. I'm not even a coder by bryan1945 · · Score: 1

    and I know that lines per day, commits, Mountain Dews chugged don't work as a valuable metric. I know it's different for programmers, but in the rest of the world it boils down to "Get X done by this date." Sure there are status updates, but not daily monitoring of networks routed, cables pulled, systems setup, etc. It's like management is treating coders like data entry people. Just push some buttons and magic comes out! Woo hoo! Don't know how you guys deal with that crap.

    --
    Vote monkeys into Congress. They are cheaper and more trustworthy.
  53. What crap? RTFA! by Raedwald · · Score: 1

    The guy that spends a week finding a five year old memory bug, that no one has every been able to find is now ineffective, whereas a dweeb performing trivial refactoring is classed as a genius?

    Heaven forbid that you should RTFA, or even the summary, so plow on with your prejudice. Nowere does its say that frequent check-ins would be used as indicating a good programmer. Quoth the patent:

    The data analysis component 433 may also include a comparison component 435 for comparing analyzed profile attributes of more than one developer... Determine any other valid statistical comparison between this user profile and other user profiles to find the standard deviation of a profile from the mean profile values. This finds users who may be at the extreme side of the average who may need to be highlighted for support or acclaim

    So, Alice and Bob are good programmers and check-in once a week. Charlie is a bad programmer and checks-in ten times a day. Perhaps his manager says to him Why don't you work more like Alice and Bob? They make less frequent changes. Perhaps you need to slow down a little?. Once you have data to analyse, you will be able to find correlations. This is how spam filters work, after all. They do not a priori decide that Viagra indicates spam: the data indicates that is so.

    --
    Ne mæg werig mod wyrde wiðstondan, ne se hreo hyge helpe gefremman.
  54. Re:IBM, Outsourcing and auto judging of code quali by Maximum+Prophet · · Score: 1

    Since his bonus is only a part of the current sales, perhaps that part of the code shouldn't be rewritten.

    Instead of spending your time rewriting code that is making paying customers happy, start with the current codebase and make a new product that will make you a large bonus. Re-invent the wheel only to get new customers. If you mess with the existing product, you might impact current customers, even if you make it better. The are many instances where a customer is dependent on a "bug", has worked around it, and would rather live with it vs. something unknown.

    --
    All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
  55. Re:IBM, Outsourcing and auto judging of code quali by Maximum+Prophet · · Score: 1

    They *should* be afraid to modify it. Even a bug fix can adversely affect some customers. They may have worked around and come to depend on a particular bug, and "fixing" it would adversely affect them. Even a code speedup can cause problems in the real world.

    If the paying customers are happy with the code, leaving it alone is a sound business decision. If you want to fix it, create a new version (or even a new product) that fixes all the known problems with the current code. After most of the customers of a code base are gone, and it's not worth maintaining it, open source it. (Although, if you are efficient enough, maintaining a code base for exactly one remaining customer shouldn't be to hard.)

    --
    All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
  56. WOW, All I can say by VirtualJWN · · Score: 1

    What will the "BRAINIAC MBAS" think of next? We live in a world of irony.....based on this logic, We would all read by candle light, as at 10,000 "commits" Tom Edison's people would have never have perfected (or discovered for that matter) the electric lightbulb. What a moronic and short sighted approach to innovation. The MBAs btw- same folks that brought us OUTSOURCING and th ehousing bubble (hows THAt working for you????) are the single greatest force against American Exceptoinalism that exist. Short term profits do not a strong economy or industry make. How about we quantify how much time is wasted by redundant middle level mgmt, and needless meetings, and frankly if the mgmt chain doesn't understand a new technology in 15 minutes, (without a helpdesk person) then send them packing. Same logic. Why waste time trainign peope to drive cars, just have an off shore person with a two way radio for the driver to ask question to (i.e. what does the octagon shaped red sign mean......) wouldn't that be cool. NOT!!! "BAN THE MBA SAVE THE WORLD!"

    --
    "Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke
  57. Prior Art by dmtaub · · Score: 1

    The backend for GitHire [githire.com] almost certainly constitutes prior art...