Slashdot Mirror


Mob Programming: When Is 5 Heads Really Better Than 1 (or 2)?

itwbennett writes: Proponents of Mob programming, an offshoot of Pair programming in which the whole team works together on the same computer, say that it increases both quality and productivity, but also acknowledge that the productivity gains might not be readily apparent. "If you measure by features or other classic development productivity metrics, Mobbing looks like it's achieving only 75 to 85 percent of individual or Pair output for, say, a team of six or seven working for a week," says Paul Massey, whose company Bluefruit Software is a heavy user of the Mob approach. So, where does the productivity come from? Matthew Dodkins, a software architect at Bluefruit says the biggest gains are in code merges. "In a day spent using traditional collaboration, you would have to first spend time agreeing on tasks, common goals, deciding who's doing what... and then going away to do that, write code, and come back and merge it, resolve problems," says Dodkins. By bringing everyone into the same room, "we try to merge frequently, and try to do almost continuous integration." Matt Schartman, whose company Appfolio also uses Mobbing and wrote about his experience, gave Mobbing high marks for producing a quality product, but didn't find that it improved productivity in any measurable way.

126 comments

  1. Hypersupervised programming? by jeffb+(2.718) · · Score: 5, Insightful

    Golly! How do you suppose that having one person at a time writing code, with the rest of the team effectively doing simultaneous code review, magically produces "fewer features" but "better code quality" than having everybody writing code, then throwing it together and maybe doing a cursory bit of code review at the end?

    Next, you'll be telling me that having one or two testers per developer produces better-quality software than spending all your money on developers so you can "get more features".

    1. Re:Hypersupervised programming? by Anonymous Coward · · Score: 2, Interesting

      You make a good point. If that's the only way to get code reviews done, though, there's something terribly wrong with the world. Most of these social interaction "innovations" are thought up by people that don't understand that some people just like to be left alone, and work better that way. While I am one of those who like to be left alone while working, I feel that a competent code review is an important part of the development process. Too bad many of my previous employers either didn't think so (one promised me someone to do code reviews for three years before I finally left) or do it wrong (one did code approvals, rather than code reviews, and sometimes included unmarked changes by the "reviewer" with no feedback).

    2. Re:Hypersupervised programming? by Anonymous Coward · · Score: 1

      Most of these social interaction "innovations" are thought up by people that don't understand that some people just like to be left alone, and work better that way.

      Probably the same people that believe tossing a bunch of devs into a single room produces more and better software than giving them quiet offices where they can actually think without being interrupted all the time.

    3. Re:Hypersupervised programming? by Anonymous Coward · · Score: 1

      I can't review code while chatting and looking over someone's shoulder. Nor can I concentrate on programming while people are looking over my shoulder. I need to be left alone with the program for a while, then when I have accomplished something I can discuss it with other people. In my experience it's rare that >2 people are so much in tune with each other that they can effectively work as a group all the time, and with introverts like me it probably doesn't work at all because I can't think and talk concurrently all the time, it's just too exhausting and I don't get into the flow. Also large groups invariably have some members that are too lazy to figure things out on their own and rely on their social skills instead.

    4. Re:Hypersupervised programming? by Mr_Tulip · · Score: 1

      In my job, we do the equivalent of 'mob programming' at the start of a project, or when implementing something interesting, such as a complex framework component intended to be reused by all the developers. The other 80% of the time, it's far more efficient to sit at your desk, headphones on, and bang out code that is integrated at appropriate intervals. This assumes that we are all writing modular and structured code, otherwise, good luck with integration.

  2. Meanwhile inside Google by mewsenews · · Score: 2

    "We are all Eric"

    "There used to be 11 of us"

    1. Re:Meanwhile inside Google by __aabppq7737 · · Score: 1

      we are [all] anonymous

  3. question about this by Anonymous Coward · · Score: 1

    I'm old school and write my own code, although it may be reviewed by others later.

    A question: with either pair programming or mob programming, how do you keep from punching each other in the fucking face?

    1. Re:question about this by Anonymous Coward · · Score: 2, Insightful

      The certainty of jail time + loss of job, associated with a mortgage does it for me.

    2. Re:question about this by AuMatar · · Score: 2

      They don't. That's why nobody does pair programming in the real world. You might do a "hey can you look at this" and work together for 15-20 minutes once or twice a month, but that's about it.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    3. Re: question about this by Anonymous Coward · · Score: 0

      I guess this is an inevitable consequence to the insane push to get more people who can't program into programming...

    4. Re:question about this by Anonymous Coward · · Score: 0

      The certainty of jail time + loss of job, associated with a mortgage does it for me.

      Clearly you have never worked with Indian "programmers." The only way they can write a line of code is to form a mob either in-person or via StackOverflow or formerly USENET. Mob programming is for idiots and is akin to the 1000 monkeys in a room with manual typewriters able to produce a Shakespearean play.

    5. Re:question about this by Anonymous Coward · · Score: 0

      When the job is bid enough, arguing about the little details becomes so tedious that everybody in the mob "gels" eventually. At the meantime, the project manager should budget mouth guards for the team. Shared knowledge of the code base decreases risks for both the employer and the employee.

    6. Re:question about this by Anonymous Coward · · Score: 0

      Shared knowledge of the code base decreases risks for both the employer and the employee.

      That's why we used to have this thing called "documentation", which often included "comments" in the code. Nowadays that's just silly talk.

    7. Re:question about this by plopez · · Score: 1

      You ask that question as if it were a bad thing....

      --
      putting the 'B' in LGBTQ+
    8. Re:question about this by JaredOfEuropa · · Score: 2

      Indian programming shops suffer from the same issue that our own ones do: lack of quality control. The difference between a good and a bad programmer is a factor that runs into double digits, but that doesn't do you any good if you're unable to recognize, attract, nurture and reward talented people. Most firms in the western world fail miserably at this. Why should India be any different?

      Another complication is introduced with outsourcing. Before, the manager was responsible for hiring and staffing teams, and appraising their employees. That was too troublesome, so development got outsourced. Now they complain that the Indian programmers don't understand their business. Well, sitting half a world away working for a different firm tends to do that. They also express disappointment in the fact that the Indian team is about as dysfunctional als their own old team, despite assurances from Indian management that they are a highly professional shop, CMM level 5 hundred, ITIL-trained, ISO over 9000, with all the right certificates. Must be that the Indians suck at programming, right? Or maybe it's due to the fact that you thought you hired 3 FTE worth of average programmers, but you didn't get 3 FTE, you got Gupta, Lakhsmi and Pradeep. Gupta was struggling a bit, but Lakshmi did well, however she quit and joined a firm that paid better money. Pradeep is brilliant but he got moved to a different team doing a difficult project for a high level client.

      There are good Indian programmers out there, and I've worked with them plenty, but through the layers between myself and the remote teams I found it hard to find the good ones and even harder to retain them. That is another hard lesson about outsourcing: if you do it, you may think you're outsourcing responsiblity and buy with it the right to scream obscenities at lying vendors who underperform, but you have also largely lost the ability to control your team, who is in it, and who gets rewarded for good work. You now rely on the vendor to do that for you, but guess what: he may have different interests at heart.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    9. Re: question about this by Anonymous Coward · · Score: 0

      Exactly my point. Bringing more (so called) programmers into the room solves the problem. Just make sure it is open space.
      sincerely Dogbert

  4. Mob Programming, huh? by Dutch+Gun · · Score: 5, Insightful

    I'm guessing it works for solving some sorts of problems fairly well. But there are some problems I've run into that require some silent contemplation over quite a bit of time to come up with a solution. I have a hard time envisioning that working with pair programming (which I've done only in very brief amounts) or with mob programming (never tried, probably like most). There are also some problems so technically difficult that I need maximum concentration to keep everything straight while implementing or debugging it. Having a group of programmers surrounding me seems distracting to that end.

    I could see how it might help in some situations... you're essentially programming while having a constant design and review meeting, so I can see how the quality of code would improve. You're unlikely to simply accept a sub-par solution, because you've got a couple other programmers to readily suggest solutions you haven't thought of yet. The fact that it improves quality but not productivity should really come as no surprise, as you're essentially multiplying the brain-power focused on a single problem, but five programmers can't necessarily solve a problem five times faster.

    An interesting concept. I don't think I'd want to *always* program that way (nor pair programming), but I could see it being helpful at times. At the moment, I either work on my own projects or as a remote contract programmer, so I'm largely in the position of *having* to solve everything myself, and it's often fairly difficult to not have immediate access to other programmers for advice or assistance.

    --
    Irony: Agile development has too much intertia to be abandoned now.
    1. Re:Mob Programming, huh? by Jeremi · · Score: 4, Insightful

      When I hear of group-programming styles like this, I always think of a network of modern multi-gigahertz computers, all linked together over a 1980's-style 10MB/sec Ethernet LAN.

      Whatever benefit the additional CPU cycles might add is more than taken away by the low throughput and high latency of the communications medium. (What is the average throughput of a spoken conversation, anyway? Maybe 1200 baud on a good day?)

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    2. Re:Mob Programming, huh? by Dutch+Gun · · Score: 5, Insightful

      Keep in mind that human beings are pretty good at creating a shared mental context of their conversation, and programmers would also have a lot of shared knowledge, both of the problem at hand as well as more generalized knowledge that most programmers (should) know.

      For instance, if I said "We should use a proxy object here to create a streamlined interface and minimize coupling between these various systems"... how much information did that convey? If you're a programmer, that probably said a quite a bit in a very few words, because you understand a deeper meaning behind all those words.

      I guess you can consider shared knowledge to be a highly effective form of compression for personally-transmitted information (spoken communication is only part of it, remember).

      --
      Irony: Agile development has too much intertia to be abandoned now.
    3. Re:Mob Programming, huh? by AuMatar · · Score: 1

      You're unlikely to simply accept a sub-par solution, because you've got a couple other programmers to readily suggest solutions you haven't thought of yet.

      Absolutely wrong. If this was right, "design by comittee" wouldn't be a synonym for utterly fucked up. And the bigger the group, the more likely you are to just pick something to get the fights over with.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    4. Re:Mob Programming, huh? by turbidostato · · Score: 2

      "Absolutely wrong. If this was right, "design by comittee" wouldn't be a synonym for utterly fucked up."

      Point being that those in the comittee are good at reaching places at comitees, not necessarily good at the problem at hand.

      In other words: "designed by comittee" is a synonym for "uttelry fucked up" because it never happens that the ones that can solve the problem are at the comittes but their managers. Imagine a world where the solvers instead of their managers were at the comittee.

    5. Re:Mob Programming, huh? by AuMatar · · Score: 2

      No, design by committee fails because no matter how good the people are at their job, as you increase the number of people involved differences in opinion and politics magnify. Design by committee fails even if you have the best and brightest on the committee.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    6. Re:Mob Programming, huh? by Anonymous Coward · · Score: 1

      The more people in the group the more each of them cares about having their ideas pass and the less they care about getting shit done. If putting a bunch of people together were a good idea Congress wouldn't exist.

    7. Re:Mob Programming, huh? by Dutch+Gun · · Score: 1

      Design by committee often fails, in my experience, if you have a group of equals on the committee and no one is empowered to make the final decision, or is not willing to make the final decision when it needs to be made.

      In this sort of programming environment, I'd think it would be critical to have at least one person with the authority to make a final decision on any matters of disagreement or contention - likely the senior programmer when it comes to technical issues, or the feature/product owner when it comes to decisions related to functionality. Likewise, when part of a group dynamic, members need to learn the skill of knowing which battles are important enough to fight, and when it's best to just shrug and disagree. Otherwise, nothing would ever get done.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    8. Re:Mob Programming, huh? by rtb61 · · Score: 1

      So you break down coding to it's elements and create sound logically structure. You do not want all coders, churning out code, you want to break down coding, it's application it's final result into all the tasks required to achieve a successful outcome. So code researchers, who gather information on the problem to be solved, who define and layout the problem. Next code describers, who describe the problem in coding terms and break down the problem into it's various coding elements. Then you have coders who produce those elements, those rough initial draughts that lay down the framework for the code. Then you have debuggers who take that framework and flesh it out and debug it. Then you have code documenters, who just detail the code for future review and rework. You break up the task so you do not waste skills, you establish a training path from documenting up to research and you train them along the way as they carry out their tasks.

      You want creative coders, creating code, not talking to clients, no breaking down specs, not engineering, not debugging (which is often the most lengthy and time consuming task) and certainly not adding in descriptions for what is going on (can be pretty time consuming if done really well).

      --
      Chaos - everything, everywhere, everywhen
    9. Re:Mob Programming, huh? by Anonymous Coward · · Score: 0

      I participated in a programming contest in the 1980s, 8 bitters (Apple, Atari, TRS-80, etc.) driven by teams of 5, with the restriction that only one computer could be used to type in the solutions for the competition. Many teams, including mine, brought 5 computers and had people working independently on the 5, then shuffling the "working" solutions to the contest computer for entry. In this particular contest, it was the "Mob approach" teams that dominated the contest.

      Of course, there's lots of barriers in that contest that don't exist in a real modern workplace, like no network sharing of info for starters, and a collection of more or less trivial problems to be solved by high school kids, but the mob synergy was apparent in how rapidly the teams converged on working solutions.

    10. Re:Mob Programming, huh? by Anonymous Coward · · Score: 0

      (What is the average throughput of a spoken conversation, anyway? Maybe 1200 baud on a good day?)

      And you're using 2/3's of that to argue about brace formatting and trivia. I honestly thought this article was satire when I read the headline.

    11. Re:Mob Programming, huh? by Hognoxious · · Score: 1

      comittee comitees comittes

      Perhaps you should form a committee to decide which spelling to use, for the sake of consistency.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:Mob Programming, huh? by Kjella · · Score: 1

      Well, in that respect what's the bandwidth between the user and the computer over the keyboard? If the primary purpose was communication and not implementation, you have a thousand tools for that which at best are equal to a meeting room with a whiteboard. They're trying to mash up the traditional system where you agree on what to build then go off to build it so that you're doing both at once all the time. To me it smells like jack of all trades, king of none where you need to deal with everything from high-level design to low-level implementation issues all the time. I guess it works if you have the right people, but then nearly every system works if you have the right people.

      --
      Live today, because you never know what tomorrow brings
    13. Re:Mob Programming, huh? by Anonymous Coward · · Score: 0

      When I hear of group-programming styles like this, I always think of a network of modern multi-gigahertz computers, all linked together over a 1980's-style 10MB/sec Ethernet LAN.

      Whatever benefit the additional CPU cycles might add is more than taken away by the low throughput and high latency of the communications medium. (What is the average throughput of a spoken conversation, anyway? Maybe 1200 baud on a good day?)

      I think you've just expressed Moore's Law in hardware terms.

    14. Re:Mob Programming, huh? by BitZtream · · Score: 2

      For instance, if I said "We should use a proxy object here to create a streamlined interface and minimize coupling between these various systems"... how much information did that convey? If you're a programmer, that probably said a quite a bit in a very few words, because you understand a deeper meaning behind all those words.

      Been programming for a long time. That sentence is useless. Its meaningless speech you direct at your manager who doesn't know what you're doing.

      That may have meaning to people very involved with the project, but only if you're all on the exact same page, which is pretty much the case never.

      Keep in mind, that even though slashdot just rediscovered the practice, this 'style' has been done before and it universally sucks.

      This is nothing but a rediscovered fad for people who can't actually code but think they know all about it.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    15. Re:Mob Programming, huh? by Anonymous Coward · · Score: 0

      That will work for about 3 seconds, because all these tasks are utterly boring to do. The programmers you want are a rare enough breed that they'll switch to something else (because they can, and will find something more fun easily), leaving you with the sub-par programmers to execute your vision of a manufacturing line.

    16. Re:Mob Programming, huh? by Bengie · · Score: 1

      Keep in mind that human beings are pretty good at creating a shared mental context of their conversation

      You also assume a certain amount standard knowledge and understanding among the peers in order to have a "shared mental context". Depending with whom I am talking, I may need to dumb down my vocabulary or complexity of ideas. If I toss out the phrase "scalable lockless eventually-consistent datastructure", it is going to WHOOSH over 99% of the people I talk to. Now I need to spend several days trying to get someone up to speed with the concept, but they probably won't fully understand a lot of what I'm talking about for months or ever. They're not less smart than me, they just don't have the obsession required to maintain the attention to detail required to understand some advanced topics.

      I know 1, maybe 2, people at work I can talk with at full capacity, and we can tear through ideas quickly. We don't "brogram", but we do go to each other with a well thought out issues and present pros, cons, and random thoughts. I work with many bright programmers who do a great job, but most of them are "normal" intelligent people. Not nearly as obsessed as a small handful of us. There is a huge gap between an intelligent person who can program and a probably equally intelligent person who has been programming since a young child and can tell you almost exactly what is going on under the hood networks, CPUs, thread schedulers, memory allocators, garbage collectors.

      I've done my fair share of nonintuitive optimizations that result in slower micro-benchmarks, but faster macro-benchmarks. Maybe using a struct instead of an object shows as being slower in a micro-benchmark because you're copying around more data, but the macro-benchmark shows up faster because the random memory access caused by objects is thrashing the cache and the struct has better locality with fewer evictions.

      Maybe your simple lock looks to be faster, but has horrible scaling under high contention.
      Maybe allocating objects looks plenty fast, but putting pressure on the garbage collector is invoking many stop worlds which is hampering your thread scaling
      Maybe your SQL query optimizer is showing you that a column is causing a scan, so you want to index it, but if you rearranged your query, you could do without the index all together.

      Of course most of their programs work just fine and don't need these levels of understanding, but there is a reason why my programs seem to just work so well. They're quite thought out, from top to bottom.

    17. Re:Mob Programming, huh? by dissy · · Score: 1

      (What is the average throughput of a spoken conversation, anyway? Maybe 1200 baud on a good day?)

      1200 baud is actually a pretty accurate guestimation.

      75 and 300 baud was way slower than my reading speed.

      1200 baud was the point that certain cases (say transferring an ascii text file) was pretty much equal or just slightly faster than reading speed, only balanced out by the relatively slower ANSI "box" characters being added to the mix and/or ANSI color codes that took more bytes to send.

      2400 baud was the point things were beyond reading speed by a large enough amount that most all "baud frustrations" disappeared.

      Granted this was all reading speed and not verbal communication, of which the latter is possibly faster.
      But even then I would still only say "1200-2400 baud" as a good range for generic spoken communication, and only faster than that when both parties know the terms and higher level ideas being conveyed ahead of time.

  5. Matthew Dodkins? THE Matthew Dodkins?! by Anonymous Coward · · Score: 0

    Matthew Dodkins, a software architect at Bluefruit says the biggest gains are in code merges.

    Is this THE Matthew Dodkins? The Matthew Dodkins who runs the popular The Agile Dream blog, read by millions of readers around the world?

  6. 5 H1B's are better then 1 avg coder and chepaer by Anonymous Coward · · Score: 1

    5 H1B's are better then 1 avg coder and cheaper but 5 avg ones can blow them away but that costs to much so we get poor work overall vs say a 1 good coder.

  7. For the love of God... by Anonymous Coward · · Score: 1

    ...don't turn this into a red-tape process.

    It was bad enough when we needed 3 peer reviews on a log statement, now we need 5 programmers watching me type it??

    Has code become so complex that one brain can't handle one statement? It's time for refactoring...

    1. Re:For the love of God... by chipschap · · Score: 4, Insightful

      This seems like another "fad of the day" approach.

      All these new "methods" strike me as coming either from 1) managers or "experts" with little to no actual experience at the keyboard writing actual code, or 2) university professors and theorists whose code is all written by slave labor in the form of grad students.

    2. Re:For the love of God... by Anonymous Coward · · Score: 1

      We're converging on infinite monkeys. Code quality will be awesome.

    3. Re:For the love of God... by Anonymous Coward · · Score: 0

      We do mob programming at my workplace all of the time..

      As in, the boss comes in during the morning and says "if you don't get this done in a few hours time, we'll send you to the bottom with concrete shoes".

    4. Re:For the love of God... by Oligonicella · · Score: 1

      You forgot salesmen, which is probably the biggest block of promoters of these fads.

  8. Re:Who is gang rapped at the end ? by DescX · · Score: 1

    ==UserScript== @name Nuke anonymous cowards
    http://pastebin.com/7tsPe2X6

    Had it with anon children. Sorry to those of you who occasionally post something of value without an account.

    I'm sure there's a setting to control this in user options that's dead obvious, but I couldn't be arsed to look since the layout for simple checkboxes is hideously mangled. Also, I don't github/etc, and couldn't possibly care any less about "correct" JavaScript, so YMMV, don't expect me to reply with a how-to, etc. Enjoy!

  9. Reminds me of group projects in high school... by Anonymous Coward · · Score: 0

    ... and we know how well those usually turned out.

    1. Re:Reminds me of group projects in high school... by phantomfive · · Score: 2

      This is one of the 'hidden' secrets of pair programming........the quality of your partner matters a lot. With pair programming, suddenly interpersonal skills matter a lot more than they ever did with normal programming, because you literally have to work with someone on every line of code.

      --
      "First they came for the slanderers and i said nothing."
  10. It's all about the environment... by ndykman · · Score: 1

    Seriously, I'm still waiting from a company that realizes having private offices plus collaborative spaces (you know, a old school office) is the best way to go.

    You need quiet to concentrate on a tricky problem. You have it. You need to get together as a team and work on something, you have it too. You have rooms with actual doors, you train people to use a proper conversational (not cell phone loud) tone and boom, productivity. Not chaos that mimics the appearance of creative work, but actual work.

    Seriously, hire a developer for six figures and give him a few hundred bucks in desk space that doesn't even have four cube walls? That makes all the sense in the world, right. Argh.

    1. Re:It's all about the environment... by phantomfive · · Score: 3, Insightful

      Seriously, hire a developer for six figures and give him a few hundred bucks in desk space that doesn't even have four cube walls?

      I've wondered that. Beyond noise as a distraction, when they're that close, personal hygiene becomes a distraction.
      Hard to concentrate when you can smell your neighbor didn't shower this week.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:It's all about the environment... by AuMatar · · Score: 2

      Different people do well in different environments. I've been where everyone had offices. It sucked. Complete lack of human interaction, very few work friendships, and a high bar to actual collaboration. I found it a depressing environment. I work in an open environment now. Once in a long while I'll have trouble concentrating due to noise. But that loss in productivity is absolutely crushed by the gains due to just being able to talk to people. And crushed by the increased productivity I have due to higher morale and more fun at work. I'd run away from any environment with offices.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    3. Re:It's all about the environment... by Snotnose · · Score: 1

      I'm the opposite. A private office with phones, email, coffee klatch, etc are all I need to be at my best. Stick me in a shared office and my productivity goes down. I've never been forced into the open office format, but I can pretty much guarantee that if I am my productivity will shrink to close to 0.

      Just because I've got an office doesn't mean I can't walk down the hall to collaborate when I need to.

    4. Re:It's all about the environment... by NormalVisual · · Score: 1

      Hard to concentrate when you can smell your neighbor didn't shower this week.

      Fortunately everyone in my office bathes regularly, but we do have an office manager that believes too much perfume is merely a starting point. Seriously, I'm four cubes down from where she works and I can tell when she's arrived to within five minutes.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    5. Re:It's all about the environment... by goose-incarnated · · Score: 1

      Seriously, hire a developer for six figures and give him a few hundred bucks in desk space that doesn't even have four cube walls? That makes all the sense in the world, right. Argh.

      That's because the goal isn't to be productive, it's to remind the plebs of their places. Offices are reserved for those who are higher in the organisation, not those who require offices. It's a class system and its' designed to remind you that you are the cattle.

      The occasional loyal worker will, of course, argue that open-plan is better ("collaboration", "exchange of ideas", etc), but that's because they consider themselves important enough to the organisation that they will one day get their own office - IOW they aren't poor, they're just temporarily embarrassed millionaires.

      --
      I'm a minority race. Save your vitriol for white people.
    6. Re:It's all about the environment... by kevingolding2001 · · Score: 1

      Seriously, I'm still waiting from a company that realizes having private offices plus collaborative spaces (you know, a old school office) is the best way to go.

      Well I've been waiting for this since 1994, so don't hold your breath.
      Fortunately for me the company I currently work for instituted a 'work from home' policy for employees who lived "a long way away". I decreed that 10kms was "a long way" and basically stopped showing up. If they ever object I will immediately quit because I can literally feel my blood pressure rising when I sit in an open plan office and have got to the point in my life where my health is more important than my career.

      Fuck! Open! Plan! Offices!

    7. Re:It's all about the environment... by JaredOfEuropa · · Score: 1

      Open plan works well enough if you do it right. I'm very much the introvert, and I used to prefer working in my own office, but I've come around and I now prefer open plan as long as a few condifitons are met.
      - Get the right people together: don't mix programmers or analysts who need to focus with people who are likely to be on the phone all day.
      - Don't do hot-desking; give everyone their own desk
      - Provide plenty of quiet booths for a single occupant, rooms to have meetings in, and a coffee corner away from the desks
      - Promote sensible guidelines for using the office: don't hog the quiet booths as your own personal office, take heated arguments into a meeting room and long social chats to the coffee corner, be mindful of others when having a phone call, and take the longer ones into a quiet booth. Don't leave your cell phone unattended on your desk: if it rings, the penalty is to have it dunked in a cup of coffee.

      By the way, there's a good reason to give senior managers their own office. These are people who will very frequently have phone calls, and have short meetings with staff, vendors or clients all the time. Giving them a place to conduct those is not only good for them but for the staff around them as well. The downside is the same one cited as a reason not to give everyone an office: you'll have far fewer spontaneous interactions with others if you're sitting in one.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    8. Re:It's all about the environment... by Anonymous Coward · · Score: 1, Informative

      Seriously, hire a developer for six figures and give him a few hundred bucks in desk space that doesn't even have four cube walls? That makes all the sense in the world, right. Argh.

      They're fixing that. Their getting rid of the 6-figure programmers, and replacing them with minimum-wage programmers from India. Then the balance between the cheap-ass cubicle space and the cheap-ass programmers will be restored.

  11. Arguing ensues by Virtucon · · Score: 1

    Yeah, not a good idea. Sure if all the team members are mediocre or noobs then it may work but if you're dealing with some alpha over-caffeinated coders then it'll invariably lead to open arguments and people tearing off in a huff. Pair programming does work when the pair collaborates and gets along, i.e., have compatible ways of communicating both verbally and non-verbally. Taking that to a higher extreme usually results in chaos.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
    1. Re:Arguing ensues by DescX · · Score: 1

      Hit the high points, I think :). Haven't tried the mob stuff myself either and hope I never have to... but it would be handy to have a workstation around that's not anyone's personal desktop/laptop for quick ad-hoc learning sessions.

      Seems to me that most teams could do this easily and just don't think of it. Rather than having formal scheduling for group work, just put together a VM sandbox in a kiosk (common IDE/command line/barebones stuff) mode, snapshot it a couple times a day, and steam the screen/input to a single machine with a few wireless mice/keyboards. Peers could then connect over view-only shared VNC to watch what's happening on, or drop by to type something. If people really need to split into sub-groups, clone the VM and wash/rinse/repeat...

  12. Re:Who cares by Anonymous Coward · · Score: 0

    I'm sorry that your imaginary bearded sky fairy didn't smite down those horrible judges for granting people equal rights. That's the thing with believing in imaginary sky fairies, they really don't do anything. Now... if you want to talk about the Great Noodley One, the Flying Spaghetti Monster, FSM gets sh1t done, for reals...

  13. ROI by sdinfoserv · · Score: 1

    oh, I'm sure companies will be all over hiring 11 people for 1 job... So long as they're all willing to split the pay and bennies 11 ways.

  14. The Tao of Programming... by Anonymous Coward · · Score: 2, Insightful

    A manager went to the Master Programmer and showed him the requirements document for a new application. The manager asked the Master: "How long will it take to design this system if I assign five programmers to it?"

    "It will take one year," said the Master promptly.

    "But we need this system immediately or even sooner! How long will it take if I assign ten programmers to it?"

    The Master Programmer frowned. "In that case, it will take two years."

    "And what if I assign a hundred programmers to it?"

    The Master Programmer shrugged. "Then the design will never be completed," he said.

  15. If you can't quantify something by 93+Escort+Wagon · · Score: 1

    If you can't quantify something that should be readily quantifiable, then it's probably not there - no matter how much some PHB might wish it to be true.

    With five people all interrupting each other and all trying to get their ideas heard, it likely means none of them are putting anything past a cursory amount of thought into the work. I can easily believe a group like this would actually be less productive than a single person coding alone.

    --
    #DeleteChrome
  16. Pair programming was invented by talkers by Anonymous Coward · · Score: 0

    Some people are just naturally good at talking through what they are doing, though not necessarily (rarely, in my experience) the best, or close to the best, in actually getting the work done. They can actually be more productive when they are talking 1/4 to 1/2 the time. And of course, there is generally a lot of time for hip-techie talk, references to sci-fi movies and video games, etc.

    The problem is that these folks also are good at grabbing management's attention and getting the lion's share of the credit, so the quieter folk actually doing the work will voluntarily move on to different projects or companies.

    1. Re: Pair programming was invented by talkers by Anonymous Coward · · Score: 0

      +1

  17. Or, you could quintuple the salary by Anonymous Coward · · Score: 0

    to summon a true master to do it much better than 5 mediocre programmers ever could, no matter what fad they used.

    1. Re:Or, you could quintuple the salary by chipschap · · Score: 1

      Really, that's the answer to all of this, isn't it? Competence? Aren't many of these fads intended to be a substitute for basic coding competence, which, sadly, I've found to be rarer than we might wish?

      And ultimately, the fads fail, because in order to produce a good product, competence can't be eliminated no matter what. But the big downside is that when truly competent staff are forced to get bogged down in all the management dictated faddish-ness, they can't produce and look nearly as bad as everyone else.

    2. Re:Or, you could quintuple the salary by phantomfive · · Score: 5, Funny

      They call it Mob, I call it RAID:
      Redundant Array of Incompetent Developers.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Or, you could quintuple the salary by Anonymous Coward · · Score: 0

      Indian developers.

  18. Re:When You Are An Isil Freedom Fighter by Narcocide · · Score: 1

    Hah, nice shout-out to Pomona, but Google Maps says that bar is in St. Louis.

  19. Re:Userscripts in pastebin by BenJeremy · · Score: 1

    Nice.

    Here is a quick and dirty script I made to fix the "XX comments" Slashdot moved to out of the way balloons.

    http://pastebin.com/1xUuuvtN

  20. Mob dev is design by the least experienced by Morgaine · · Score: 1

    There's a problem with mobs: they gang up and lynch anyone who isn't part of the mob.

    This doesn't happen just in westerns. It's been happening since the dawn of time, because it's a natural property of crowds: the least able thinkers are the ones most likely to be swayed by group-think. And one of the strongest group-think arguments is "Outsider, danger to group, kill it", which is a very effective survival M.O. for life below a certain threshold of intelligence. The combination of these two aspects of mob behaviour is predictable.

    That makes TFS and TFA a bit of an exercise in wishful thinking. Development by mobs could (in theory) work well, but only in the very unlikely situation that the mob has a statistically improbable makeup in which independent thinkers are dominant and are also well informed and technically experienced. Unfortunately that scenario lies in "pigs will fly" and "hell freezes over" territory.

    The perfect number in team programming is two people of similar experience, because then they can't gang up and form a lynch party. If they don't immediately agree then it creates a stalemate which can be broken only by rational explanation / defence or by terminating the pairing. It's an ideal situation, yet not too hard to arrange.

    Mobs don't really have a place in intellectual endeavours, and programming is one of those.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
    1. Re:Mob dev is design by the least experienced by Khyber · · Score: 0

      "Mobs don't really have a place in intellectual endeavours, and programming is one of those."

      Programing isn't an intellectual endeavor in the first place. It's MATH, shit you should know once your ass gets out of high school.

      Optimization is an intellectual endeavor. And at that point, it's best to have *ONE* person doing that.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    2. Re:Mob dev is design by the least experienced by Anonymous Coward · · Score: 0

      Programing isn't an intellectual endeavor in the first place. It's MATH, shit you should know once your ass gets out of high school.

      Math is solved, computers do math really well. Programming is the application of Math. Of course some people just copy/paste and assume all is well because the program runs.

    3. Re:Mob dev is design by the least experienced by Anonymous Coward · · Score: 0

      Of course some people just copy/paste and assume all is well

      You undervaluate copy'n'paste a lot. Only beginner programmers want to write everything themselves every time. The more experienced programmer looks what he/she already made once and tries to reuse that. The seasoned programmer also looks what others made and has no shame in using that, because it saves valuable time which then can be spend on more important things. And i'm not (only) talking libraries. I'm talking code snippets from any source.

      Only stupid programmers take pride in writing everything self.

    4. Re:Mob dev is design by the least experienced by Jack9 · · Score: 1

      > There's a problem with mobs: they gang up and lynch anyone who isn't part of the mob.

      Democracy often feels that way. It's not necessarily true, in the first meetings, even if it feels the same as later when it is true. Saying it always happens, is not realistic.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    5. Re:Mob dev is design by the least experienced by Anonymous Coward · · Score: 0

      > Programing isn't an intellectual endeavor in the first place. It's MATH, shit you should know once your ass gets out of high school.

      Sure. Programming is "math" in the same way that painting is "chemistry" and sculpting is "physics."

    6. Re:Mob dev is design by the least experienced by Anonymous Coward · · Score: 0

      The more experienced programmer looks what he/she already made once and tries to reuse that.

      Many programmers copy/paste wholesale or assume what they've read solves their problem when it doesn't. If you don't understand how it solves your problem, you won't change the code. If you don't change the code, the code only ever gets larger because you never take away. At some point the code is a mess of copy/paste all mixed together and the programmer has no idea how anything works, but it does work, kind of.

  21. Possibly a band aid for poor code organisation by Mortimer82 · · Score: 2

    The article talks about how this makes them more effective as a team because they suffer less pain with integration and merge conflicts. This makes me think they are working with a very poorly organised code base, or as a team don't practice use of interfaces/contracts effectively. If they inherited a code base from someone else, then it may be largely unavoidable, but if it's always been their own code, then in my mind it's a bad smell.

    I have been working on a project for 2 years with a team that is 7 developers which is in on time and the client just finished their final testing today with no significant bugs left outstanding. As a team, we were almost always able to each work independently on tasks due to early establishment of good patterns and architecture as well as regular design sessions for upcoming work by our two most senior team members. Each team member would typically push their SCM (Git) changes up to several times a day and merge conflicts were rare and practically always easy to solve. We even changed to better patterns 4 months into the project and due to good layout of our code, we could run the new patterns side by side with the old ones.

    So how did we largely avoid stepping on each other's toes? Code was properly arranged so that areas of concern were appropriately isolated. When working on a front end use case, the only area of contention was typically registration of a module, after that all your code would be in its own independent area which no one else was working on. If it was a large use case with lots of screens, one developer spends 20 minutes stubbing out the code layout, commits, pushes to Git, then everyone else pulls and goes on their merry way. If use cases need to interact with each other, then one developer ensures the interface is correct, which may involve a 10 minute talk with a fellow developer, the interface is immediately updated and pushed into the repository and again each developer goes back along their merry way.

    You may have noticed me mention that we push quickly into our repository, the article mentioned developers trying to merge a week of work and that terrifies me. If code is properly isolated, then your work can be incomplete, but not affect the existing working code, or other people's work in progress, so you should push *at least* once a day. If you need to alter an interface on your side for a colleague, but you were in the middle of something and weren't really in a position to push your code, then you: Git stash, update interface file, stub out implementation file if needed, push, then Git pop, you can carry on and so can your colleague. Additionally, our CI environment (Jenkins) is building and running tests on every commit, if someone pushes something that breaks the build the whole team is notified and it's fixed within 15 minutes.

    Another comment has already mentioned that the quality of code would be higher with the team approach, but in my experience, as long as the code is reasonably efficient and more importantly, easily understandable to anyone else looking at it, improving quality beyond that in most circumstances adds little to no real value for our client. Since easy to understand code is mandatory, in the event it needs a bug fix, or in the rare case it needs to improved, perhaps for performance reasons, it's not especially hard for any developer in the team to do so.

    Of course it will be different working on our code in 2 years time from now for ongoing improvements, but as we have been doing for the past two years any time we feel our process isn't working well, we will discuss it during our regular retrospectives and adjust our process to cope with the problem, could that process result in team programming like in the article? Possibly, but I highly doubt it.

    1. Re:Possibly a band aid for poor code organisation by phantomfive · · Score: 1

      You may have noticed me mention that we push quickly into our repository, the article mentioned developers trying to merge a week of work

      That's the problem. If you merge quickly, merging is usually painless. If everyone saves a week of work for merging, it can get really painful.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Possibly a band aid for poor code organisation by Anonymous Coward · · Score: 0

      If you properly encapsulate your code, then merging is ALWAYS painless. If you have a class, Foo, and your only access is Foo(), ~Foo(), and ActFoo(), then everything else you do inside of Foo can change and it won't affect any other classes. Too many programmers, however, create accesses for everything, or even worse, cheat and let friends access private directly or even just make everything PUBLIC (thank you, Java, for that brilliant decision), and then they act surprised when everything breaks during mergers.

      Know your (limited) entry and exit points, and treat everything else as a black box and you'll do fine even on huge projects.

    3. Re:Possibly a band aid for poor code organisation by phantomfive · · Score: 1

      Until two programmers are modifying ActFoo(), and then it's painful again.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Possibly a band aid for poor code organisation by david_thornley · · Score: 1

      This doesn't happen if all the details are nailed down. If you ever find such a project, with all the details nailed down, that isn't in one of those fields where they spend lots of money for verification like NASA, I'm sure you could charge programmers admission to go in and see it in amazement.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    5. Re:Possibly a band aid for poor code organisation by phantomfive · · Score: 1

      Yes, I would pay money to see that.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Possibly a band aid for poor code organisation by mdodkins · · Score: 1

      Hi Mortimer :)

      Someone linked me to this discussion. Nice to read something thoughtful on the topic. I'd like to give you some context and then clarify a couple of aspects of the way we use mob programming.

      First, some context. We were asked to develop 3 embedded home control devices, 2 of which have LCD user interfaces and 1 of which connects to a cloud, from the ground up in ~1 year. They allow you to do complex stuff like set up multi-channel heating schedules and bind to a 868mhz radio network... with firmware update capability... etc. They also needed to be future proofed for a whole bunch of new products coming later, supporting ridiculous levels of complexity. Oh and one of them needs to consume less than ~100uA of current. Ah, and there's a 1% RF duty cycle we must abide by ;)

      In order to achieve this, they wanted as many people working together on the products as possible without treading on each others toes. To this end, we had more than 20 developers working on 3 products with plenty of cross-over. We also encouraged an evolving codebase rather than locking down interfaces and lots of big up-front design, which we all know utterly kills habitability :)

      Our architecture (and technically i'm not an "architect"... we encourage all developers to architect as they go) is one of the most habitable, well tested code bases I've ever seen. We use TDD, and we use it well. It's future-proofed, and largely de-coupled. I'm extremely happy about its general level of habitability.

      Now to clarify when we use it :)

      When you have that many devs working and re-working code from the ground up with so much shared code too, *and* in an embedded context.... you get some interesting conflicts man! :) The other day someone had added an ISR wrapper to help safeguard context behaviour which conflicted with a bunch of DMA changes... this ain't nasty interface churn I'm talking about, it's serious stuff.

      At other times we have some more esoteric issues, such as tests failing as a result of merged code, which can be resolved MUCH faster when both parties involved in implementing the code are present. At times like this, we often form a small "mob".

      Otherwise, the only time we tend to use the technique is for training purposes. We do plenty of pair programming though, and that often naturally leads to impromptu... ahem... threesomes.

      Best regards

  22. Mob programming ROCKS. by Khyber · · Score: 1

    However, I practice a different form.

    1. All programming, compiling, testing, and debugging happens on one system.

    2. Everyone logs into that system (I remain local at that system) and we all start up a voice conference.

    3. Everyone is able to write up code, sling it straight to me where I can immediately compile and test, and everyone gets to see the results and hear my experiences with the software as it runs.

    I'm currently working on a little 2D version of SecondLife. Pair programming sucks. Mob moved us from code updates every week and shit progress to multiple updates per day and much much better progress.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    1. Re: Mob programming ROCKS. by Anonymous Coward · · Score: 0

      I call completely and utter bullshit. Everyone logs and compiles on one system and "slings" code to you? To do what? How could this possible be better than using git and having a sane version history. And if you are what possible advantage is there for everyone logging into one system - and you being local. This is hog wash

    2. Re: Mob programming ROCKS. by Khyber · · Score: 1

      "How could this possible be better than using git and having a sane version history."

      For starters, we have really good collaboration. Someone could be writing code, someone else notices fucked indentation or syntax, an can fix it on the fly while explaining what's going on.

      "And if you are what possible advantage is there for everyone logging into one system - and you being local"

      Most of my devs are in other countries. Waiting for everyone to do their thing, submit, and have to dig through shit to see what does and does not work eats too much time. Time zones are a fucker like that.
      To boot, my system is the server system, so having me be local and able to test live is what makes things run smoothly.

      The only one piece of documentation we need is the design documentation. Everything else is a waste of fucking time, especially when a new client upgrade could force us to re-write half the code base in the first place (like last night's upgrade forced us to have to scrap and re-write half of the initial framework.) As long as we have that design documentation, if shit changes, we still know what needs to be done and can do it, instead of having to go looking back through code and go "Okay, here can we make changes here?" That's sloppy as shit and leads to security problems.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    3. Re: Mob programming ROCKS. by Anonymous Coward · · Score: 0

      FINALLY, some commenter that makes some sense.

      Typical /.: Someone mentions that something worked for them. The /. MOB argues to death how it can never work and lynch whoever might agree somewhat with the suggestion.

      Have nobody here worked in groups on a common goal, like EVER? Mob/group programming absolutely ROCKS if you're unsure of your goal, the best path to get there and/or what constraints and necessary requirements need to be fulfilled. Just call it an "extended brainstorm session" if you wish. As long as there are uncertainties, risks or potential opportunities, it really makes sense to involve a larger group in some fashion.

      The most innovative and inventions are either made by completely loners, or mobs like this.
      If you've never experienced this, it just means everything you've done until now have just been routine, and someone before you have actually made the thought processes possible.

    4. Re: Mob programming ROCKS. by Khyber · · Score: 1

      I'm not going to say that I make sense. I'm just parroting my personal experiences in managing and coding various projects.

      It only makes sense to those that are not afraid to admit that they are wrong and have encountered this same problem of which I speak.

      I thank you for the praise, however! It is rare I see MOB programming get any credit of any sort.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  23. It's for kids, silly by Spinlock_1977 · · Score: 1

    "... and Nancy, who we'd been working with for several years, suggested Mob Programming as one way to mature technical leads faster"

    If you're a skilled architect with 15-20+ years experience, there's nothing to see here. Unless you need to grow new ones.

    --
    - The Kessel run is for nerf herders. I can circumnavigate the entire Central Finite Curve in a lot less than 12 parse
  24. Re:Userscripts in pastebin by Anonymous Coward · · Score: 0

    Did you mob program that one? If not it's not really on topic...

  25. Goverment construction workers by penguinoid · · Score: 1

    Looks like they put a government construction worker in charge of a programming team.

    --
    Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
  26. prototyping at a bar by technosaurus · · Score: 1

    If your like-minded gang of guys are out at a bar and come up with a great idea, this method is great for banging out the initial prototype on the one laptop that someone happens to have with them.
    ... but then its not called Mob Programming, but gang banging.

  27. 'The mob' programming by dafelcardozo · · Score: 1

    I imagine the junior programmer telling: "you have spent so much time trying to fix that bug.... so let me make you an offer you can't refuse".

  28. Bynars by Anonymous Coward · · Score: 0

    There was an episode of Star Trek TNG where technicians from a race of cybernetically linked pairs were brought aboard the Enterprise for upgrade work. They communicated in binary and hijacked the ship.

  29. Two better than one, six better than two, so ... by 140Mandak262Jamuna · · Score: 1

    I am patenting 24 people writing code simulaneously!

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  30. Re:When You Are An Isil Freedom Fighter by the_Bionic_lemming · · Score: 2

    From my experience single programming with quality co-workers that you can interact with is the way to go.

    Once they started scrum - progress slammed to a halt at the last big company I worked at. I have no idea why they blame programmers for excel spreadsheet failures that were timelined by project managers.

    If I was lazy, I would love to have one person at a keyboard and happily chirp with the rest of the crowd on how to process a variable. I don't understand how that actually saves money - anyone with spreadsheet skills, can you show me?

    --
    _ _ _ Go for the eyes Boo! GO FOR THE EYES!
  31. Good if you have stupid programmers by Anonymous Coward · · Score: 0

    I've seen that, in college we worked on teams. Typically we split work, a pair does the programming a pair does number crunching and graphs, the usual freeloader brought pizza and beer, or was simply funny and friendly. But there were other teams doing exactly that, they usually were really stupid programmers sitting all together just helping each other do/undo the crap each other did. It kind of worked for them as they managed to deliver more or less decent homeworks.

    I can understand pairs doing programming, but in my experience, three or more is just a sign they are too stupid and should do other things instead of programming.

  32. That brings back memories by Anonymous Coward · · Score: 1

    Pair (extreme) programming was fun: one guy does 90% of the work, two take 50% credit each. Mob programming promises to be even more fun.

  33. Mob Programming REDUCES Red Tape by Anonymous Coward · · Score: 0

    This is mob programming. If programmers write too many bugs, they get whacked.

  34. Are 5 heads better than 1 by maryjanety3 · · Score: 1

    Not sure if I would agree with the argument in question. http://www.dailymotion.com/vid...

  35. some factors to take into account by Dan9999 · · Score: 1

    When people are grouped into a small team with a simple hierarchy then interpersonal problems start to dissappear and the team effort becomes more important. In addition the team itself gains a group experience that grows and keeps growing if the team spirit stays alive even if one member changes once in awhile. Unfortunately this would require the right software, ide, shared screens etc... and at least a couple of years to grow. It should be more like bridge programming (like the bridge of a Navy ship). The momentum of a team can eventually be more than the sum of the parts if fed properly. I would even say that a tester and documenter (and whatever other non coder is required ) could take part and to put it even further perhaps each member would have a person or a smaller team working for them. Yeah if I had nine zeros to spare I would definitely try to grow something like this.

  36. How are they getting their metrics? by plopez · · Score: 1

    Really. Did they do a controlled study? How did they factor in the complexity of the problem domain, the experience of their developers, the efficiency of their tools etc.? Or is this just another buzz word compliant"'it worked for me marketing gimmick? Does it scale based on project and team size? What about global projects where the team may be in Europe, N. America, and Asia? How did they control for those factors?

    Sorry, it sounds like crap to me.

    --
    putting the 'B' in LGBTQ+
  37. Pair/gang programming doesnt work. by JustNiz · · Score: 0

    Pair programming is a crap idea that never works. The better programmer just gets held back and frustrated with the other programmers incompetence, and the worse programmer just stays out of their depth. What you can only ever get is a mediocre piece of work at best since the better programmer usually has to compromise for the sake of the worse programmer.

  38. Programming for women by William+Baric · · Score: 0

    So I guess the idea is to make the job comfortable to people who need lots of social interaction in order to be able to work? Generally like women? ... And to fuck people who like clear structure and who are better when working alone? Generally like men?

  39. Re:Who is gang rapped at the end ? by kevingolding2001 · · Score: 2

    Getting rapped by buch of programmers is worst experience ever.

    Yeah, it's pretty bad.

  40. mob programming by Anonymous Coward · · Score: 0

    This is wishful thinking from the H1B overlords... "Hey we'll cram 50 H1B workers in a MOB ROOM and BOOM! Profits!

  41. Re:Userscripts in pastebin by BenJeremy · · Score: 1

    Well, it is on topic, because it stands as counterpoint to mob programming.

  42. When it fails by Anonymous Coward · · Score: 0

    there's more players for the blame game and more heads to roll.

  43. Re:Userscripts in pastebin by Hognoxious · · Score: 1

    ... which was probably what caused the problem in the first place.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  44. Managers will love the idea by Anonymous Coward · · Score: 0

    Mob programming finally gives managers what they have craved for: action. With a single programmer quietly typing ahead you never quite know what's going on. The guy might be typing private emails or chat with his favorite secretary instead of writing code. So managers resort to all sorts of tricks to get some informaion out of this guy, like measuring lines of code or issues completed, none of which is a direct meauarement of productivity. Seeing 5 people in action, all babbling seemingly smart stuff, like semicolon! Nono, refactor that! hey guys, we need another jar on javapath! This must make the manager proud, gee see how all these smart people get stuff dobe, and I am the one who hired them!

    Gee, what a big pile of BS.

  45. More complex projects by CBravo · · Score: 1

    We do pair programming for larger projects without many explicit specs. These projects require you to 'think up' use cases and requirements on the fly to ensure that your code is sufficient, complete and valid. For instance we created a replacement for a parser of complex documents that had to get classified. We had a coder with strong domain knowledge and a strong coder. Not sure what to do when n > 2.

    --
    nosig today
  46. "I will offer him an interface he cannot refuse" by Qbertino · · Score: 1

    *Tadum* *Crash* *Thud*

    Thank you, thank you, I'm here all week.
    Tip your waitor and try the fish.

    --
    We suffer more in our imagination than in reality. - Seneca
  47. The biggest problem in software development by Qbertino · · Score: 1

    In my experience the biggest problem in software development is people (developers, PMs, stake holders, etc.) not talking to one another. And not talking about the next concrete steps to solution of a problem.

    Anything that mitigates this problem is a good thing.

    Wether it's pair programming, Scrum (formalised rituals of talking to one another) or this "mob programming" stuff. The problem with these methods is, you always have to keep in mind why you're using them: To solve problem #1 mentioned above. Forget that, and you're back to square one, only now you're wasting your time with rituals no one understands or fails to use productively.

    --
    We suffer more in our imagination than in reality. - Seneca
  48. When the one typing isn't slow as molasses by Kjella · · Score: 2

    Okay, I didn't actually mean just typing but the headline was too short to explain. We have at least one, maybe two people in our group who actually produce fairly decent solutions but who are just s...l...o...w at ad hoc work. For example we're in a meeting discussing something, I can whip out a query in a minute to answer and he'll have to take it back to his office after the meeting and work on it for ten minutes to find the same. He's slow at typing. He's poor at using auto-complete. He constantly needs to reference documentation and diagrams.

    The thing is though, he produces solutions that are actually good and work well, unlike some of the others who either make weird designs causing grief down the road or buggy code leading to fire fighting. If I was asked as the manager who I'd like to let go, he wouldn't be near the top of my list. But if I had to sit there fiddling my thumbs while he worked, I'd probably be ready to quit in less than a week. I'm guessing in pair programming he'd hand me the keyboard, but in "mob" programming I'm sure there'd be some enforced round robin system so the one holding the keyboard isn't dominating.

    --
    Live today, because you never know what tomorrow brings
    1. Re:When the one typing isn't slow as molasses by Anonymous Coward · · Score: 0

      Some people should work on the cutting edge, use them for that.
      Some people work best in routine, use them for that.

      What makes your people happy and productive?

  49. Two idiots one keyboard by Mr_Silver · · Score: 1

    Why does the description of Mob Programming remind me of this?

    https://www.youtube.com/watch?...

    --
    Avantslash - View Slashdot cleanly on your mobile phone.
  50. Re:Who is gang rapped at the end ? by Anonymous Coward · · Score: 0

    Sometimes I just forget to, or am too lazy to log in. Like now, it seems.

  51. Re:Who cares by Anonymous Coward · · Score: 0

    I'm sorry that your imaginary bearded sky fairy didn't smite down those horrible judges for granting people equal rights. That's the thing with believing in imaginary sky fairies, they really don't do anything.

    The imaginary sky fairy of whom you speak is our ancestor from Mars. As mars became unable to support human life indefinitely the inhabitants of the planets, humans but we call them Martians, devised a plan to colonise planet Earth, another planet like their own. Originally the pyramids in Egypt, and parts of Central and South America were navigation and astronomical aids. Stonehenge in Great Britain served a similar purpose. As time passed and technology failed we were forced to revert to more primitive social structures and lost was all of our collective knowledge for a few millennia. Your words debase our ancestors and for that you must be put to death. Your passage to an ISIS waystation awaits.

  52. Code merges? by rasmusbr · · Score: 1

    Maybe they should investigate why they have problems with code merges first. Having everyone bunch up in front of one editor seems like a workaround that does not get at the root cause of the problem.

    If you use reasonably loose coupling between software components and define interfaces between components before you start writing them and have one and only one programmer work on each component or sub-component between merges you will only have problems with merges if and when someone makes a mistake.

  53. Clearly by Anonymous Coward · · Score: 0

    these idiots need to read Fred Brooks' The Mythical Man Month.

    Another "methodology" with nothing methodical about it.

  54. uhuh. by holophrastic · · Score: 1

    so mob programming is better than merging. that's not hard, since merging is by far the all-time worst part of most programming companies.

    The solution, of course, that I implemented in my programming company over a decade ago, is to build platforms that don't require merging in the first place.

    The benefit of mob/pair/multi programming is that everyone knows what's going on because everyone was there to see it happen. Nothing more.

  55. As fallacious as asking "Which Language is best?" by tingentleman · · Score: 1

    Every month of so we get a story about some brand new development paradigm or arrangement of coders. That new thing (be that Mob Programming or Angular) can usually be shown to work great with specific problem sets, but as a programmer / architect I am always wary of panacea solutions that propose the best way regardless of the problem.

    It's like the ancient philosophical conundrum of defining happiness... it's different for different people.

  56. Re:When You Are An Isil Freedom Fighter by Anonymous Coward · · Score: 0

    10/10 same experience here. I suppose they idea was to somehow legalise stupid developers using scrum/agile/other shitty method. Guess what ? it does not work. It is bullshit. Just hire the professionals.
    But I actually love code discussions with really smat people with whiteboard or code on screen. But we usually do it in less then 1h and it is at most not programming but discussion. Everyone does his programming later.