Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Crowdsourcing Software Development to the Masses

Posted by Zonk on Thu Dec 06, 2007 04:44 PM
from the not-sure-that's-wisdom-of-the-crowds dept.
Lucas123 writes "Computer World is running a piece on Crowdsourcing. That's a catchy term for the practice of taking a job traditionally performed by employees or a contracted company and outsourcing it to an undefined, large group of people in the form of an open call on the Web. Article author Mary Brandel views it as a viable way to develop cheap but innovative software. Sites like TopCoder and their coding competitions are becoming more popular with big name companies like Constellation Energy because programmers who take on the job are global, offering many different perspectives on any one job. 'The creativity and innovation of how people are rationalizing these designs and building components enables us to interject a perspective and approach that normally we wouldn't have access to,' Constellation's director of IT said." Is there any potential here, or is this just a buzzword bad idea?
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • All of "open" and reward based programming schemes are merely ways to avoid hiring programmers. "Let's find someone to do it for free." Only morons would do it.
    • by Mr. Underbridge (666784) on Thursday December 06 2007, @04:48PM (#21603989)

      Only morons would do it.

      At least they get what they pay for.

    • Re: (Score:3, Insightful)

      Yeah. Galaxy Zoo, Wikipedia and the like, I get, but what, exactly, is my incentive to write code (for free) for a company to make money from?
      • Yeah. Galaxy Zoo, Wikipedia and the like, I get, but what, exactly, is my incentive to write code (for free) for a company to make money from?

        The companies market it as a way to "give young programmers real-life experience" and "something to use in their portfolio".
        • The companies market it as a way to "give young programmers real-life experience" and "something to use in their portfolio".

          So there is no incentive for real programmers who already have a resume to bother. Only ameteurs and script kiddies would bother, so where is the quality code?

          The idea has potential in some markets and for some industries however. I might offer to "crowdsource" for the local brothel by holding a bonking competition open to all the young ladies in my neighbourhood as a way of select

    • "Crowdsourcing" usually means getting people to do stuff for you for free, where you own the results and the people who created them cannot use them except by paying you (if at all). This is why people should be sure that projects they contribute to as volunteers release their results under some kind of Free license. For example, contributions to Wikipedia are free-licensed, and even if Wikipedia died or turned ultra-evil tomorrow, you could use the articles yourself under the GFDL, or set up a fork based on them. The same is true of contributions to MusicBrainz [musicbrainz.org] (Open Audio License), among other such projects.

      For a good early example of the opposite, recall the CDDB fiasco---lots of people submitting data that ends up owned by someone who won't let you use it except under onerous licensing terms. The rise of "Web 2.0" has basically taken CDDB-style business models and made them much more common, so it's important to make sure you aren't enabling that sort of thing that in the long term ends up working directly against your interests.
    • by justsomecomputerguy (545196) on Thursday December 06 2007, @05:03PM (#21604271) Homepage
      Jeesh - Doesn't anyone read the classics anymore? It's only been available for over 130 years...
      • Er, I think it was Tom Sawyer. Huck Finn was too busy traveling down the Mississippi... which he threw a silver dollar across before becoming president.
    • "Let's find someone to do it for free."

      TopCoder isn't trying to get people develop for free. If anything, the complaint would be that TopCoder's development methodology is too expensive: payments to design winners, payments for developers, bonuses for reliability, payments for review staff, payments for architects, ongoing programs like the "digital run". I've heard estimates that TopCoder ended up spending around $500,000 on its new UML tool.

      I don't do design/development work for TopCoder (although I lov
      • by BrianRoach (614397) on Thursday December 06 2007, @05:09PM (#21604357)

        There's a slight difference between giving a mega-corp some code for free so they can make more money vs. working on an open-source project which you enjoy and that benefits many folks ...

        (You can argue that SOME opensource projects lead to companies making money via support services ... but they're far and few between ... and really, if that's the case, you can make money from it as well should you choose.)

        - Roach
      • Actually, they sell electricity to Constellation

        It's deregulation. All utilities were basically "split" into generation and delivery. Generation owns the generators, and delivery is the wires and the customer base. The generation people sell their power to the grid - which there is the PJM power pool, and in turn the delivery side buys, for spot needs, from the grid at what's called location marginal price. The LMP is a calculated thing, it is designed to be a public price so that its transparent to all
  • by Anonymous Coward on Thursday December 06 2007, @04:49PM (#21604011)
    TopCoder has nothing to do with people accomplishing work. It's a competition, nothing more.

    I bet this will be about as successful as my last idea, cokesourcing. I'd open my garage door in the morning and there would be piles of cocaine for anyone to walk up and snort in huge mounds. While they were there I merely encouraged them to add some code on the computers sitting in my garage.

    I've never seen so many confusing drug related delusions put into comments! Luckily the comments made for a great book and that was how I, L. Ron Hubbard began Scientology!
    • Suddenly, Battlefield Earth begins to make sense.
    • There are algorithm competitions on TopCoder (which I enjoy, and which I assume you're referring to), but they are completely separate from the design, development, and architecture competitions (though naturally some people participate in both).

      As someone familiar with their software development methodology, the criticism I would be most likely to level is that it's very labor intensive. It involves a large number of designers, developers, architects and reviewers - and the competitive nature of the indiv
    • I've never seen so many confusing drug related delusions put into comments! Luckily the comments made for a great book and that was how I, L. Ron Hubbard began Scientology!

      That is hardly fair. Scientology is a carefully designed and executed fraud. Give credit where credit is due.

  • Two heads etc. (Score:4, Interesting)

    by ShawnCplus (1083617) <shawncplus@gmail.com> on Thursday December 06 2007, @04:51PM (#21604033) Homepage
    While this definitely isn't new it's always a good thing to get another pair of eyes on code. Turning it into a competition has the tendency to trick programmers into doing better or working harder with a (sometimes false) sense of personal gain.
  • by hobo sapiens (893427) <cminor9@gmai l . com> on Thursday December 06 2007, @04:55PM (#21604143) Homepage
    Whatever kind of software we are talking about, you'll most likely get a horrid UI and the resulting usability headaches.

    On one hand, you get design by committee. A UI that is not great, but just didn't offend anyone, the software equivalent of a meal at Olive Garden. Many MSFT apps have a designed by committee feel.

    On the other hand you get no real UI conventions so various parts of the application look like what they are: a patchwork. Some F/OSS software has this type of design shortfall.

    Sounds like a less focused version of an open source project. F/OSS embraces a certain ideal. I don't know if providing a free service for a for-profit corporation falls under that idea.
    • Well, in a lot of ways this is how open source works. However with open source, the gains for the developer are more obvious, more direct, and all-round better. Crowdsourcing is an attempt to do open source development for closed projects and while it will have some limited success, it is not that important.
  • by us7892 (655683) on Thursday December 06 2007, @05:02PM (#21604259)
    So, the company describing this task had their architects divide the "project" into a hundred or so pieces to be worked on separately. Then, the best designs, submitted confidentially, get picked and used the company, with some "royalties" getting paid out. The company developers combine the best of these components into the finished product...

    Something just doesn't seem right here... MobSourcing, RiotCoding, I mean CrowdSourcing. Seems like a good way to get all sorts of stolen code, easter eggs, and pretty much crappy code into your codebase.

  • Anyone who can turn this into Crysis 2 by noon tomorrow gets a lolipop and a free In Soviet Russia joke

    DEF width = 1280
    DEF height = 800
    OPENCONSOLE
    IF CREATESCREEN(width,height,16) 0
            MESSAGEBOX NULL,"Failed to create DirectX screen","Error"
            END
    ENDIF
    FILLSCREEN RGB(255,255,255)
    sx = 0.1f
    sy = 0.2f
    speed = 1
  • It's a cute idea when you're deep in Twainspace and the master is firmly in control of reality, but it's quite another thing in the real world. Does anyone know anyone who's managed to get others to paint their fence, either literally or figuratively? I think it's a rare thing and it almost happens more by accident than by design. Yes, some places like Slashdot have managed to build a public gathering spot and sell some ads around it, but it's quite another to get this crowd to do real, coordinated work. T
    • Re: (Score:3, Interesting)

      Yes, some places like Slashdot have managed to build a public gathering spot and sell some ads around it, but it's quite another to get this crowd to do real, coordinated work.

      Ah, the irony. Think about it. Slashdot has people creating content for free (specifically the comments in the forum) that are of high value (as a whole; maybe not this specific comment!). It would be impossible, or prohibitively expensive to pay a team of experts to create the content of this forum.

      One of the "Tricks" to the C

  • Is this significantly different than sites like www.experts-exchange.com [experts-exchange.com] which allow you to buy and sell solutions/code snippets?
  • Maintenance (Score:5, Insightful)

    by tknd (979052) on Thursday December 06 2007, @05:14PM (#21604437)

    Building new things is great and all but any sane software engineer will understand that maintaining the software is a much harder and more complex problem than building the first version. Even if you pick the best built components, at some point later your customers are going to want a new feature or want a broken feature fixed. I don't think you can simply hold a competition to figure out who can submit the best maintenance job. Additionally, once the competitors submit their entries, they have no further obligation to work for you. So you've essentially lost the most important assets (the people that wrote the stuff) on the day you receive the finished the work. You could always have your own people maintain it but they will be much more costly than had you kept the original authors who do not need to re-learn the code.

  • by SuperBanana (662181) on Thursday December 06 2007, @05:23PM (#21604553)

    That's a catchy term for the practice of taking a job traditionally performed by employees or a contracted company and outsourcing it to an undefined, large group of people in the form of an open call on the Web

    You mean like a few days ago when a story submitter commanded us "slashdotters" to go rifling through Microsoft's OOXML documents for them so, that IBM and friends wouldn't have to pay staffers/paralegals/lawyers to do so?

  • by Animats (122034) on Thursday December 06 2007, @05:23PM (#21604557) Homepage

    I put a job on Rent-A-Coder once. The job was to take an existing GPL piece of Python code that understood how to query some, but not all, of the various registrar WHOIS servers, and make it understand the output from each of them. The existing code was years out of date, but did approximately the right thing. Each registrar has a slightly different format for the same WHOIS data, so you need a collection of parsing modules, or something smart enough to do it generically. It's not a difficult problem, just time-consuming.

    The code, and a test file of 1000 test domains, was provided. The statement of the problem said that all the test cases had to work. The resulting code would be re-released under the GPL.

    Four programmers in succession took that job, with bids from $200 to $500 and locations from Ireland to Russia, and none of them produced any working code.

    • I don't think a lot of good developers hang out there, to be honest, as the rates are hilariously terrible. Right now, there is a guy who wants a clone of the iTunes store. The maximum bid accepted: $300.
      • i second that.. (Score:4, Interesting)

        by fliptout (9217) on Friday December 07 2007, @01:59AM (#21609323) Homepage
        Truly, if one has the masochistic desire to experience cringe-worthy job requirements, go to rentacoder. You too can develop code for $50 that would otherwise be worth thousands of dollars. A few years ago, I thought I would join and make some extra cash.. But it turned out to be an opportunity to troll assholes trying to get something for nothing.

        Some projects I recall off the top of my head:
        -Write software that will take in a .wav and convert it to a midi ring tone. Guy in India wants it done for $50-ish dollars. I've written something similar in Matlab, so I know how freaking non-trivial it is.
        - Create a solid state disk drive for somebody's extra RAM. Willing to pay $300. Har har. I, ahem, told them I could make a prototype for $50k, plus the cost of Xilinx tools.

        I've done bits of consulting, and doing projects for small, clueless companies is by far the worst job you can do as an engineer. They are technically clueless, don't understand that engineering costs money and want it done yesterday. Rentacoder and its ilk only magnify these problems, because they troll for technical people who will work for relatively nothing.

        Recently, I offered to hire myself out as an embedded systems engineer at $60 an hour, and that is pretty much whoring myself out compared to what other people charge for consulting, but the Indian dude who wanted to hire me only wanted to pay $20 an hour. F off.

        All I can say is, if these site works for somebody, good for them. I have bigger fish to fry. It's quite hard for me to see how this attracts any real talented people.
        • What y'all are saying is that RAC is a buyer's market. I agree.

          I tried it once and survived. My trick was to use it as a resource for non-experts looking to break conceptual logjams. I went into it knowing not to expect a clone to Yahoo for $1000.

          All I needed was to fix an irritating spacing problem on a little website of mine. I made a point of going against the grain of the site and "overpaid" on purpose. For $100, I got 2.5 solutions (depending on if I wanted to use tables or CSS plus some tutorial PDF's
    • In other words, you were looking to get something on the cheap by hiring foreign programmers, and it bit you in the ass.

      Oh, well, from what I understand thats a common occurrence, so don't feel bad.
  • by xPsi (851544) * on Thursday December 06 2007, @05:28PM (#21604641)
    Crowdsourcing can work if enough people participate. The laws of probability take over from there. What drives the success and stability of this counterintuitive approach is The Law of Large Numbers [wikipedia.org] and some of the Central Limit Theorem [wikipedia.org]. Basically, with enough random contributions, the counterproductive/arbitrary elements tend to cancel and the coherent parts add up over time. Ironically, this is probably why democracy tends to be a reasonably stable form of government. From a business's point of view, it is great because you essentially get free labor. However, the drawback is that if you don't have enough people participating, you essentially get white noise as your output subject to large fluctuations. You will also have to be patient before you hit the right critical threshold of users to get projects done on any meaningful time scale. Software projects have different needs but, using Wikipedia as a working example, this means you need roughly a hundreds of thousands of rabid, active users to achieve modest stability over several years. In other words, SourceForge. You may needs something on the scale of the open source movement itself for it to work in software.
    • Re: (Score:3, Insightful)

      Basically, with enough random contributions, the counterproductive/arbitrary elements tend to cancel and the coherent parts add up over time. Ironically, this is probably why democracy tends to be a reasonably stable form of government.

      Not really. Democracy is fairly stable because the main reason for government instability is that, in non-participatory systems, people often have no effective way to protest unwelcome government action except for seeking overthrow of the government (making those systems unst

      • That's an interesting observation. Duverger's Law says that things tend to two-party systems, at least when you apportion votes to geographical districts. Even where you apparently have multiple parties, like in England, the coalitions are fairly static and form a close approximation to two parties.

        So I wonder if people feel more effective when they're offered an apparent choice, even if it's really mostly the same choice.
  • There's a similar movement afoot in advertising that goes by the equally dumb buzzword of "Consumer (or User) Generated Content". Under the guise of advertising that's more "in touch" with consumers, agencies are letting the public create their campaigns for them. Be it ketchup or Doritos or whatever, the result is usually only "in touch" with the person who made the poorly produced, half-baked idea, and then it's ability to resonate falls of sharply beyond that.
  • Sounds great... (Score:4, Insightful)

    by Kjella (173770) on Thursday December 06 2007, @05:33PM (#21604729) Homepage
    ....until you get one crap piece of code that goes into an infinite loop on bad input or just some odd input and kills the whole shit. Unless you've written a good set of unit cases, and if you did you'd probably easily write the code yourself with that level of understanding. Reviewing code is IMO a very time-consuming and difficult skill, and putting good people to review bad code to look for the best is usually a waste of time. Either they will skip the checking, or they're skilled enough to write it themselves and on better time. Though I suppose it's better than putting bad people at reviewing, which is the deaf leading the blind. Honestly, would you like a product that's put together by a hundred different indian code shops, only somewhat worse?

    What every software company wants is predictability - they want to know if you typically turn out good code or poor code, then they can review accordingly. And by that I don't mean nothing, everyone has a bad day and everyone makes mistakes, but if it's the new intern you know it needs much more review. There's no way they could be just as thorough on all parts and still deliver this century. Crowdsourcing sounds to me like a lemon market [wikipedia.org], where you'd want reliable contributors rather than the fly-by-night lemon sellers. That's exactly the opposite, where you go into long-term relationships and both side want long-time commitments rather than this micromanagement.
  • When I first saw the words "Crowdsourcing Software Development" it reminded me of the coding practices of the Federal Government in Snow Crash, where Y.T.'s mother worked on a tiny piece of code with no idea of what she was actually contributing to. Basically the coders would each handle one function and know nothing of the whole. Entire departments probably wouldn't even know what they were working on as the contracts were huge and the projects enormous. It was a cool concept (actually that whole chapte
    • When I first saw the words "Crowdsourcing Software Development" it reminded me of the coding practices of the Federal Government in Snow Crash, where Y.T.'s mother worked on a tiny piece of code with no idea of what she was actually contributing to. Basically the coders would each handle one function and know nothing of the whole. Entire departments probably wouldn't even know what they were working on as the contracts were huge and the projects enormous. It was a cool concept (actually that whole chapter on Y.T.'s mom was a great read), just hope it never pans out.

      The whole Feds thread in Snow Crash was ripped off in the Matrix. Its a shame Neal Stephenson didn't get credit for it.

      Crowdsourcing is the total opposite of this scenario. The way the Feds do it is pretty close to how commercial software is developed today in some large companies.

  • Uhmmmmm (Score:4, Funny)

    by The Living Fractal (162153) <execyte&execyte,com> on Thursday December 06 2007, @05:51PM (#21605031) Homepage
    Crowdsourcing?
    You mean..
    Open source?

    Difference?

    Hey I know, let's make up buzzwords for things that already have them. Yes, that's going to help.... I say we brick this idea.
  • The problem with crowdsourcing is that the crowd might not trust you, especially after being burned. Consider the "CDDB" database, which allows computers to identify the music CD that's currently sitting in the drive by building a hash of its contents and searching for that in an online database on the Internet. If it wasn't there, you could enter the data yourself, and then the next person to put the same disc in their computer would enjoy a track list that you composed. It was great, it worked, and it
  • It's just business (Score:3, Insightful)

    by hyades1 (1149581) <hyades1@hotmail.com> on Thursday December 06 2007, @06:06PM (#21605209)

    Why pay for something when you can get it for free (even if you're only paying pennies on the dollar by outsourcing)? Comedy clubs have used this model for years with "Open Mike" nights, and media outlets have their unpaid "interns".

    There is an endless supply of desperate, talented people who will do anything for free in the hope that their gifts will get them noticed by an employer. Employers, of course, are quick to exploit this reservoir of free talent without mercy or restraint.

  • by KC7GR (473279) on Thursday December 06 2007, @06:16PM (#21605345) Homepage Journal
    Seems to me that doing this sort of thing could, assuming minimal checking of the results, open one's code up to widespread abuse in the form of 'back doors' or 'logic bombs' that anyone not pleased with the idea (say, programmers unhappy with the entire outsourcing/offshoring pattern) could manage to slip in.

    As others have (accurately) pointed out, this is also little more than a way to be lazy about doing a job, and not caring if it's done right as long as your company gets paid for it. What benefit do those actually writing your code get for their efforts?

    There are right ways and wrong ways to go about doing any task. This strikes me as just plain wrong. I certainly wouldn't want to do any project I come up with this way. It would be like Boeing throwing open their design process to the world, and saying "OK, you design our next plane for us, but we get to use any idea you come up with and not pay you." Ludicrous, hmmm?

  • by Tablizer (95088) on Thursday December 06 2007, @07:10PM (#21606047) Homepage Journal
    because programmers who take on the job are global, offering many different perspectives on any one job.

    This is PHB speak for "cheap foreign labor". I recognize phrases similar to this from pro-H1B (visa-worker) business lobbyist websites. "Many different perspectives" is just fluffy "global community" talk to hide the real i$$ue.
         
  • by f1055man (951955) on Thursday December 06 2007, @08:24PM (#21606833)
    See it everywhere.
    Overstock.com Divulges Secret To Its Cyber Monday Success [informationweek.com]
    Their secret? They hired engineers. I shit you not, they were a .com with all the tech outsourced. Apparently if you kiss enough asses and make enough powerpoints you start to believe that that's what makes shit happen. The leaches go from one very important golf game to the next while the engineers are busy making shit and rolling their eyes at the douchebaggery. Engineers make the world go round. The eyerolling I mean, something about angular velocity or some shit. Kind of slept through physics class. I was a business major at the time, didn't think it was very practical.
  • It's an incredible waste of resources. Creative ideas and approaches to a problem are a dime a dozen and therefor dirt cheap. Management gurus don't like to consider this because that's all they do. The implementation is the hard/time consuming/expensive part. If I'm running the show, I make a request for proposals, pick the best one and then implement it once. Apparently MBAs like to stick the rest of us with the costs of duplicating labor.
  • This is yet another way to try to use the OSS community to write code for businesses. Most companies that try to just make money selling other people's code fail, only the true "community" ways of writing code manage to survive, think of Red Hat, they have Fedora and many other ways for the Community to help write the software without it becoming a "we need you to write a program to do X" it is the way that people can work at their own pace and do what they are good at which makes OSS programming so succe