Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Businesses Programming

Ask Slashdot: Is Outsourcing Development a Good Idea? 403

New submitter penmanglewood writes "I am a developer at a small IT company, and we primarily make software and games for the education market. I used to work with a team of developers, but for reasons outside the scope of this question, my boss and I are the only ones left. My boss says that our new strategy is to use outsourced developers to do the 'monkey work' for us. To me, this sounds like a bad idea. Do we give the developers access to our internal libraries? How will they be able to work on parts of our product without having access to our repository. I could think of a hundred more objections, but maybe I'm looking at it the wrong way. Is there a smart way to outsource development, or is it just a bad idea?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Is Outsourcing Development a Good Idea?

Comments Filter:
  • Insource 'em instead (Score:4, Interesting)

    by i.r.id10t ( 595143 ) on Thursday May 17, 2012 @01:41PM (#40030295)

    Why not try creating a non-paid or minimally paid internship?

  • by OneC0de ( 1851710 ) on Thursday May 17, 2012 @01:43PM (#40030339)
    The company I work for is going through the same thing (roughly). We've tried to run an in-house development staff, but talented developers who don't expect six figure salaries are few and far in be-tween. In the last 3+ years we've launched 7 in-house applications that have helped us quadruple in size (revenues, profits, and employee size). Within the last few months the owners asked for another 7 projects to be completed, and to start renting out our systems to potential clients. They did not want to hire any more developers, and tasked me with outsourcing our development. They want the work done in 1-2 weeks compared to 1-2 months. So far, our outsourcing replies have all been $10K+ and 2.5 months estimated time, for one of our smaller projects. Looking forward to reading the responses on this one!
  • My advice (Score:5, Interesting)

    by Zontar_Thing_From_Ve ( 949321 ) on Thursday May 17, 2012 @01:51PM (#40030487)
    As an IT professional with over 25 years of industry experience, I can tell you that if you outsource you need to be very explicit about what you expect them to do and what deadlines there are. VERY explicit. You can expect no thinking outside the box. I'm going to give you an example. Let's say that due to some mistake on your part that you asked them to build you a car that blows up and kills everyone inside when you turn on the ignition. You would hope that if you did that that the outsourcing party would contact you and say "Did you REALLY want us to build a car that blows up when you turn on the ignition and kills everybody inside? Because that is exactly what you asked for." They won't. They'll either shrug their shoulders and build your death car or they simply will assume that maybe you have a very good reason for asking for a death car and it's not their job to question it.

    The quality of work you get from outsourcing is arguable. I work for a Fortune 300 company who I am unwilling to name, but I can tell you that we outsource some programming to our employees in India. We're pretty selective about what we give them, but they do good work. However, the vast majority of the workforce there is not given our most crucial tasks to implement and those continue to be done in our US office. I would say that easily less than 10% of the programmers we have who actually live in India are allowed to work on truly critical tasks for us. Finally, do note that if your software needs are proprietary and a competitor might pay to have access to your code, there is absolutely nothing you can do if someone in a common outsourcing county is willing to sell dumps of your code for cash. Laws are very weak in those countries and they are always in favor of the locals rather than "rich foreigners". In a worst case you'd actually have to outbribe the judges in the country to get any justice.
  • Re:Just remember (Score:5, Interesting)

    by elgeeko.com ( 2472782 ) on Thursday May 17, 2012 @01:54PM (#40030541) Homepage
    We do a lot of out sourced work for other companies and our customers tend to be very happy with us and many of them come back to us for follow up projects. We're also not cheap, in fact our fees are rather high, but so are our standards. We're located in the mid-west and the vast majority of our customers are within our region, but I've been known to hop on a plane and fly to the coast to finalize a deal or to reassure a customer that we're real people doing real work. Your first sentence says it all, you get what you pay for. As for the time zone statement I think it depends on who you're outsourcing. There have been times where we've outsourced some of our projects in order to meet deadlines and we've established solid contacts with several Individuals in Bangalore and I've found them to be an absolute treat to work with. If someone is going to outsource the most important deciding factor shouldn't be money or location, it should be skill. Any good development firm is going to have a list of previous satisfied customers that should provide a solid reference, if they don't then you shouldn't take the risk unless you're willing to accept sub-par work for sub-par pay. If someone is looking for "cheap" then that's exactly what they'll get.
  • by h4rr4r ( 612664 ) on Thursday May 17, 2012 @01:59PM (#40030643)

    So talented employees with valuable skills want fair pay?
    Shocking!

    Why are they willing to pay managers like that but not those who do actual work?

  • by Opportunist ( 166417 ) on Thursday May 17, 2012 @02:16PM (#40030853)

    Allow me to add the CISO's view.

    We have a very good and very eager development department where I work. Despite that, the powers that be decided to outsource a very critical online application development to a third party who has allegedly more experience with this kind of online presence than our developers do. I say allegedly because of what transpired.

    The project started roughly a year ago. We built specs and I added my security requirements as usual. I didn't hear from the project manager until November, despite frequent inquiries. In an in-house development, I could have marched over to the developers (which is not the "due process", mind you, but I could actually do it!) and ask them for progress reports. I can not do that in an outsourced development where I am fully dependent on the project manager and his ability (or, in this case, lack thereof) to give me progress information.

    In November, I was informed that the project is not quite on track but it HAS to be rolled out in February. By that time, I did neither have any beta (or at least alpha) that I could even remotely start to define security tests for, nor anything else, not even a final content sheet. Of course, I did write my usual reports about it, but that only covers my ass, it does not give me a more secure project. In a nutshell, I don't have a problem with that, but my company does!

    February came and I still did not have a finished product in hand. Security tests for a project this size takes at the very least a period of a month, considering that I have to hire auditors, have them conduct audits and compile and evaluate the results. And that doesn't even include necessary fixes yet. In short, to make this whole security process even remotely sensible, I'd have to have this product in hand at least 2 months before the intended launch date. In an in-house development, I can at the very least get the unfinished product and define the testing parameters, maybe even hire an auditor and have him test the almost-finished product instead so we can at least launch with some semblance of security.

    In the end, we launched a completely untested product because the launch date could not be postponed. I wrote a report, detailing that I could not test it and hence are not responsible for any failures, which was nice for me (hey, I don't have to do my job and are still out of any obligation), but it's a catastrophe for the company should the product prove to be insecure, gets hacked and we lose a ton of critical information, both internal secret information as well as customer data.

    This is what's my horror when it comes to outsourcing. You depend even at C-Level fully on your product managers without too much of a chance to reach down the chain and yank it.

  • by h4rr4r ( 612664 ) on Thursday May 17, 2012 @02:37PM (#40031141)

    I suggest you pay market wages no matter what else you decide. Even off shore folks will want nearly as much as you pay a developer, if they are as good they would be making that anyway.

    I realize this might be hard for you, maybe even impossible. Then you will end up with crap software. The folks you want to hire have already "put in their time" otherwise you are talking about college students again.

    I would also suggest benefits that are cheap and often overlooked; Non-fixed hours, no dress code, work from home, etc. These are all things your outsourced workers could be getting and you would never know.

  • Re:Just remember (Score:4, Interesting)

    by bhcompy ( 1877290 ) on Thursday May 17, 2012 @02:55PM (#40031479)
    Well, outsourcing and outsourcing to a foreign country are different things. Most people I know of that outsource development just outsource to small local dev houses
  • Re:Just remember (Score:5, Interesting)

    by Lonewolf666 ( 259450 ) on Thursday May 17, 2012 @03:05PM (#40031637)

    If you're doing something complex, you're going to want to stop, break it up, and explain it exceptionally well. Otherwise, you're virtually garaunteed to lose money.

    Good point, and the "break it up, and explain it exceptionally well" translates to detailed and clear specifications.

    In my experience, not every organization is able to create those. Actually, my experience as a developer is more along the lines of being given a vague goal, producing a prototype, and then people would play with said prototype and start producing change requests. Which tends to developing the project piecemeal and with plenty of feature creep.

    If your company is capable of writing good specifications, outsourcing may work for you. If it is of the "vague goal" persuation as described above, stay far, far away from outsourcing ;-)

  • Re:Just remember (Score:5, Interesting)

    by wrook ( 134116 ) on Friday May 18, 2012 @01:42AM (#40038115) Homepage

    Not only that but outsourcing firms frequently move their highly skilled workers from projet to project. For example, they may have 10 contracts with 4 people on each contract, for a total of 40 people. But only 8 (20%) of those people are highly skilled, so they put one on each team except for 2 teams. Often those 2 teams run into trouble, so they juggle the other teams and move one or more of the highly skilled people onto the failing teams to catch up. This causes the "good" teams to fail since they no longer have their highly skilled person.

    I've run into this problem a number of times when outsourcing. If you can discover who the good players are on the outsourced team, it helps dramatically to insist that those players are always on your team. Of course, that often costs a lot more money.

  • Re:Just remember (Score:4, Interesting)

    by msobkow ( 48369 ) on Friday May 18, 2012 @08:59AM (#40039995) Homepage Journal

    Some developers need specs that are so detailed you may as well just write the code. When I work with a developer, whether in-house or outsourced, I expect them to come up with the implementation algorithms from high level specifications. The only time I've ever included a detailed algorithm specification was when there was a legal requirement for a particular style of calculation to be used (the financial services industry.)

    However, my experience has been that most outsourcers will send their senior staff to your meetings and to collect requirements, and then turn loose a horde of poorly trained junior programmers when it comes time to write the actual code. The senior people you respected at the design meetings are "too valuable" to write code, and rarely get involved beyond the specifications.

    But this isn't a new problem. Just look at the long and failure-littered path of large projects over the years that have hit the news involving firms like EDS or Anderson Consulting. Offshoring adds time zone and language barriers, but the whole consulting industry has a history of bilking customers by billing out intermediate and senior rates while paying juniors to do the work.

    Several posters say "You get what you pay for."

    That's not necessarily true. That's why such firms have been sued for failure to deliver in the past.

You knew the job was dangerous when you took it, Fred. -- Superchicken

Working...