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."

182 comments

  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 Anonymous Coward · · Score: 0

      This one time, after three weeks of debugging, the solution was to move one debug log printf line a few lines up, above a lock.

      It was a three mutex, three thread, deadlock which happened rarely in testing, but frequently in production. Three engineers working three weeks to narrow it down to code which hadn't been touched in years. Took another couple of days to convince the testing team that had fixed it.

    9. 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.
    10. Re:What crap by Call+Me+Black+Cloud · · Score: 3, Insightful

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

    11. 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?
    12. 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.

    13. 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.
    14. Re:What crap by Anonymous Coward · · Score: 0

      Patent application:

      Description: A Method of determining Managerial Incompetence by measuring their utilization of automated performance measurement systems...

      There are just so many things wrong with this concept. For one thing, my commit patterns fluctuate wildly, in large part depending on how paranoid I am, but also because "Hey, it's been 2 weeks since I saved any of this", versus "I'd commit this for safety reasons, but it's in such a mess right now that it would only pollute the archives.

      Whenever Management start resorting to things like this it screams trouble. It generally means that a false efficiency has been achieved by not having a low enough manager-to-grunt ratio that people can interact directly or that the manager is too distracted to interact with employees or both.

        And, of course, the first thing everyone does is figure out how to game the system. Which by and large is something that the "Wallys" are more diligent at than the actual productive people.

      The final failure that comes from reliance on bean-counting systems is that only visible beans get counted. As with all formalized tests, the problem domain is artificially restricted. There may be all sorts of reasons for alarm visible to managers who are in close touch with staff, but for those who rely on tests, the problems don't exist until something critical breaks.

      We all know the classic example: call centers whose primary metric is how fast an agent can get a customer off the line. Even if the customer ends up swearing never to do business with that company again. And the hopeless cases where the situation is compounded by shoving "satisfaction surveys" at the customer, who all too often either ignores them or says whatever will get them off the line quickest.

    15. 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 .

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

      Gross!

    17. 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?

    18. 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.

    19. 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.

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

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

    21. 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.

    22. 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".

    23. Re:What crap by Anonymous Coward · · Score: 0

      > This one time, after three weeks of debugging, the solution was to move one debug log printf line a few lines up, above a lock.

      If you spend 3 weeks debugging, the fix is not done with one line change, you need serious refactoring to fix up the mess in a shape where one can understand it well enough to fix it within a day. Even if the fix would make the problem go away, the code is still broken if it is unmaintainable.

      Anyway, your fix is probably equal to adding a sleep somewhere. All it takes is for one thread to hang for a while and the problem comes back.

    24. Re:What crap by Anonymous Coward · · Score: 0

      There's no need to "agree" on a single text editor. It's not even a contest. There's only one in the race - Emacs. Please stop wasting everyone's time by even suggesting there's another viable option.

    25. Re:What crap by Anonymous Coward · · Score: 0

      I remember the days of "GOTO considered harmful" -- are you now advancing the argument that "IF statements are considered harmful"? After all, any IF statement by necessity involves a "choice".

    26. Re:What crap by Anonymous Coward · · Score: 0

      Agreed.
      But it also provides some insight to what has been going on in our shop (an IBM big-iron shop) for ages. We have a contractor who puts lots of code "out there" and so is considered the "most productive" programmer in the shop. Except he has done things like garbaged everybody's SSN with no backup, trashed databases, crashed regions, with no accountability!
      This is for idiots, pointy-haired bosses and trolls.

      I'd love to slap down the idiots who are thinking this is a good idea. I really really would.

    27. Re:What crap by Anonymous Coward · · Score: 0

      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?

      This is nothing new.

    28. 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();
    29. 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
    30. 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.

    31. 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.
    32. 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.
    33. 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."
    34. 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.

    35. 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.
    36. 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
    37. Re:What crap by Anonymous Coward · · Score: 0

      vim ftw

    38. 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!
    39. 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!
    40. Re:What crap by Anonymous Coward · · Score: 0

      Or, worse, the wanker who, instead of performing a bit of trivial refactoring, cuts-and-pastes a large and complex class in its entirety, then #ifdef's out a few bits that don't quite meet his needs?

      (Guess what I'm working on this morning...)

    41. 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
    42. 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();
    43. 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
    44. Re:What crap by Anonymous Coward · · Score: 0

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

      As someone who measures his cock on a daily basis, I'll have to, sadly, disagree.

  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 Anonymous Coward · · Score: 0

      Don't you mean 'iWatch'?

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

      This ought to be rejected as unpatentable. Did we learn nothing from In re Bilski?

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

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

    11. 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.

    12. 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!"
    13. 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.

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

      You also unroll loops for performance. And the compiler also unrolls loops; does the programmer who implements that optimization get a cut for all the loops that get unrolled?

    15. 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 Anonymous Coward · · Score: 0

      No problem. I can adapt. In fact I can think of many ways of doing useless commits every day. I will even automate the process. Do they pay bonuses to the programmers with the most commits ?!

    4. 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
    5. 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)
    6. 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.

    7. 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"
    8. 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. This is brilliant by trunicated · · Score: 0

    Because all of my commits include all the documentation I write, and are completely available to the public.

    --
    There's a reason there is no "Disagree" mod...
  7. 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 :-)

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

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

    1. Re:Good by Anonymous Coward · · Score: 0

      Then every time your CIO goes for an afternoon on the golf course with the IBM drone your can sweat your $priv_part off.
      (Worse, you can wait for MS to implement an even worse scheme badly, and the CIO will have to have it even without the afternoon on the golf course.)

  9. I will commit every other line by Anonymous Coward · · Score: 0

    See how you like it!

  10. 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?

  11. 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
  12. 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.

  13. So IBM is a TPS report hell hole? by Anonymous Coward · · Score: 0

    So IBM is a TPS report hell hole? and they want to have auto manager as well. So If I work at IBM this will just may me do the minimum amount of work not to get fired.

  14. "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".

  15. 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 Anonymous Coward · · Score: 0

      As I read it, it just presents the numbers for management to compare. Presumably in of Powerpoint-friendly graphs.

      And we all know how management thinks about productivity numbers.

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

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

  16. reasonable approach by Anonymous Coward · · Score: 0

    I've done the same analysis myself for decades, but manually. Never had to do it frequently enough to consider automating it. It does give some useful insights.

    Some developers do infrequent big checkins, others do many tiny checkings on the same subject. I don't know which approach is better, the first batches a bunch of little changes and the second doesn't, otherwise theyr'e similar. Some developers add tons of comments to everything. One thing this could notice is band-aids: a developer who makes many tiny changes in many files simultaneously is more likely to be doing a correct fix than one who checks in one block in one file. Another interesting profile is a change that rearranges a lot of code and ends up making the code smaller.

    1. Re:reasonable approach by Anonymous Coward · · Score: 0

      > Some developers do infrequent big checkins, others do many tiny checkings on the same subject. I don't know which approach is better,

      Infrequent big checkings are bad, because:
      - It most likely means that there is no backup for the data
      - It could mean that the developer in unable to split a big task into smaller tasks, which are easier to make and test
      - If there is a problem, it is usually easier and faster to find it from a big change than big.
      - The person doing the commit will most likely have to spend a lot of time with merge problems. Also after the commits, others will have merge problems. And these problems are much harder to solve than they are with small changes
      - Because of the merge problems and possible after commit problems, it the project is large enough, there is most likely a need for something called a "commit ban". Meaning everyone in the project has to stop the work and give time and space for the developer to fix the problem.

  17. 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.

    2. Re:Translation by Anonymous Coward · · Score: 0

      If you know something is bad business but find suckers to sell it to, go ahead - that's the spirit of the free market.

    3. Re:Translation by Anonymous Coward · · Score: 0

      That's the spirit, indeed... and that's why psychopaths thrive in the free market. Lack of empathy certainly makes it easy for some people to screw over other people.

  18. 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.

    1. Re:Good that they're patenting it... by CanHasDIY · · Score: 0

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

      That's pretty much how I thought of it as well.

      And I'm not even a programmer.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
  19. 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.
  20. 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
  21. I only commit one time. You insensitive clod! by Anonymous Coward · · Score: 0

    I never do incremental commits. I only commit fully completed applications into the repository. You insensitive clod!

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

  23. 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.

  24. brilliant by Anonymous Coward · · Score: 0

    IBM patents the idea and then (hopefully) refuses to license it. so now when your boss tries to use that as a metric you can tell HR and Legal and end that bad idea quickly

  25. 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

  26. What is more brilliant is by Anonymous Coward · · Score: 0

    my patent on estimating commenter IQ based on (in)ability to differentiate between the Subject and the Comment fields.

  27. 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.

  28. 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.
  29. 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.

  30. 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.

  31. 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.
  32. 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
  33. Anti-FOSS patent, shame on you, IBM by Anonymous Coward · · Score: 0

    If this patent were to come into common use, it would impact on commits made by FOSS community members. Anyone making public commits under their real names or under well-known pseudonyms would be continuously aware that at some future time, some moron from some HR department will be processing their commit history and potentially limiting their career prospects.

    That's no way to support open source, IBM. In fact it would be a good reason to make a project closed source.

    Among the many clever people at the company, it seems that there are some clueless patent writers who can't foresee the future impact of what they propose.

  34. 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.

  35. 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.
  36. 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?

  37. 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.

  38. 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.

    5. Re:Not close enough by Anonymous Coward · · Score: 0

      Not only you are afraid to understand anything you have not done for "decades", but you succeed to say the exact same thing, repeating yourself.

      You also fail to notice the drawback of your so highly appraised (hah!) evaluating system: the monkeys will figure out your system and game you by kissing your ass. Like any extremist, you choose the superficial "easy" path.

  39. From the company that brought you KLOCs by Anonymous Coward · · Score: 0

    I like IBM, but they hiccup like anyone else. I remember them famously measuring programmers by KLOCs back in the day -- 1KLOC = 1,000 lines of code. Obviously the more code you write the better a programmer you are, right? I think commit mining, like many metrics, will provide interesting information, but I'm sure it's far from a complete view. I'm glad to see that they're looking at comments and some other meta information, rather than just number of commits. Still there's much to do... complexity vs. simplicity is a tough trade off -- which is "better"? A "deep" comment may be unnecessary if an elegant solution exists, that sort of thing.

  40. 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...

    2. Re:Can we do this to lawyers? by Anonymous Coward · · Score: 0

      the metric that matters to most lawyers is billables. Desired outcomes for clients is secondary, in as much as it affects billables. It is OK for lawyers to lose their cases (but not all the time!), as they still get paid. Client may get reamed, paying costs for losing, but the lawyers all get paid.

  41. There is one answer to this : by Anonymous Coward · · Score: 0

    Any management worth its salt knows that a hard to reproduce one liner code which takes many hours of hard work to trace back , is much more worth than your programmer monkey which commit lot of code with refactoring some stuff. If your management don't udnerstand it and introduce such "measuring" : game it.

  42. Awesome! by Anonymous Coward · · Score: 0

    As a developer I think this is great, because it weeds out the employers who don't understand software development (those that feel they need this tool).
    I don't want to work for a company that would use this tool, so it would go a long way in filtering them out for me. :)

  43. 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
  44. Reminds me of working in a call centre by Anonymous Coward · · Score: 0

    The tech support call centre I worked at gave first crack at choosing a shift (it was a 24/7 operation) to the people with the lowest call times.

    It was fun gaming the system to figure out ways to get customers to hang up on you without them being angry at you. My favourite was asking them to unplug their phone in case it was the problem. Yes, go ahead and do that now. *click* Ahhh, morning shift.

  45. 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.
  46. On the Bright Side by Anonymous Coward · · Score: 0

    On the bright side they are patenting this, so for 20 years only IBM will be able to judge you like this.

  47. 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.
  48. 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.
  49. 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]

  50. 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)
  51. 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.

  52. Missing the point - Artificial Intelligence by Anonymous Coward · · Score: 0

    I think everyone here is missing the point. I imagine IBM would like to build the intelligence correlating checkin's to fixed bugs. If the issue gets re-opened multiple times and the same code gets checked in repeatedly w/o significant progress in resolving the issue, IBM could then correlate it to the performance of the developer. I do not think the system would be simplistic to judge just by commits. Rather it would be smarter to associate commits with fixes and bug resolution/system enhancements. If they can quantify these various metrics, I don't see why they cannot begin to build some metrics about the developer/development process itself.

  53. 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.

  54. woot by Anonymous Coward · · Score: 0

    lulz, 1999, http://www.elbit.fi

  55. 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.

  56. Re:IBM, Outsourcing and auto judging of code quali by Anonymous Coward · · Score: 0

    Assuming that the evaluated code chunks are equally used...

  57. 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.

  58. 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.
  59. 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.

  60. 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!"

  61. 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."
  62. 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.

  63. Where's the tool... by Anonymous Coward · · Score: 0

    ...that helps programmers avoid wasting time with inefficient managers??

  64. 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.

  65. 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.

    1. Re:An *additional* metric, not a replacement by Anonymous Coward · · Score: 0

      Perhaps using the metrics can be kept secret, and perhaps the metrics can be changed around to avoid them being gamed? I think management could find these kinds of metrics somewhat useful. But the limits of such tools should be understood.

  66. I feel sorry for developers working at IBM... by Anonymous Coward · · Score: 0

    ...I would never work there.

  67. Patent that Indian Business Machines (IBM) by Anonymous Coward · · Score: 0

    [quote]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."[/quote]

    How about a way to weed out ineffective managers as a way to improve productivity and efficiency across a variety of industries and fields? Ineffective management is more dangerous than a herd of ineffective developers. Patent that Indian Business Machines (IBM).

  68. You can't automate common sense. by Anonymous Coward · · Score: 0

    A good manager or team lead knows the high performers on the team and can spot the low performers a mile away; he doesn't need metrics. Poor managers reach for any crutch they can find whether it be SLOC or other "metrics" such as number of commits.

    As software engineers, we love to automate things and love to pretend everything can be quantified to support such automation. Guess what? It can't. Every metric you create is flawed. Every one will be broken. Leading a team and being a good manager is art and experience. Focus on teaching those things and fix the real problem.

    Stop trying to automate and quantify everything. It only results in self-immolation.
    Just look at the current state of job search and resume filtering as an example.

  69. 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

  70. 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."

  71. It uses a microprocessor! by Anonymous Coward · · Score: 0

    All the people complaining about another absurd patent should read where it says "using a microprocessor'. Since it's a physical device, it's clearly a valid patent! Or is it not? I bet there aren't many people using microprocessors in that so specific way.

  72. 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)

  73. Good TEAMS... by Anonymous Coward · · Score: 0

    In my view a good team has a good mix of different types of thinkers and doers who are able to work together. It takes many brightly coloured strands to make a rich tapestry. :)

  74. award system recursion by Anonymous Coward · · Score: 0

    IBM also monetarily awards their personnel for patent submissions, the result of which is crap patent applications like this.

    I know first hand as an ex-employee of HP.

    Engineers were lining their pockets with absolute shit invention disclosures.

    Just b/c IBM is seeking the patent doesn't mean they will actually implement it (doesn't mean they won't, either).

  75. Hmm, very IBM-ish by Anonymous Coward · · Score: 0

    Well, that correlates with my impression of IBM software developers. A bunch of randomly selected kids located in India, spoiled with total job security, who have close to zero interest in engineering (otherwise they should have left long ago), fixing bugs and introducing more bugs in process of doing that, waiting for a promotion so they don't need to code any more. According to the invention, they will fill the profile of an ideal developer.

  76. 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.
  77. 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.
  78. They have it backwards by Anonymous Coward · · Score: 0

    IBM sure likes to toot their own horn.
    Instead, they should develop something that helps developers avoid wasted time with ineffective management.

    Everyone has had to deal with people who don't know what they want, and waste a lot of time dealing with scope change. Label these trouble makers and avoid them so that you don't waste effort on things that will just be thrown away ;)

  79. 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)
  80. 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)
  81. 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
  82. Prior Art by dmtaub · · Score: 1

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

  83. dependency by Anonymous Coward · · Score: 0

    The utility of the patented software will utterly depend upon the overseer who uses the software to analyze individual performance. It will be impossible for the software to grade the performance of the individual developer. Some people make some lofty assumptions about the intended use of this software.