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?"
Just remember (Score:5, Insightful)
You get what you pay for. There's a reason those outsourced programmers are so cheap. They don't care about you, or your project, and they don't have to maintain it when it breaks.
...turn off the lights? (Score:5, Insightful)
...as if your the last two left, there isn't a company left - it's time to pull the plug. If you can't perform the service / provide the product you were created for within the organization, or even get it started - then you are just conservators of a bunch of assets, waiting for the right time to call it quits; not a software development firm.
Answer: (Score:4, Insightful)
No.
Thank you. Next question?
It's Always Tricky (Score:5, Insightful)
If your internal libraries are proprietary, you'll need to be smart. Don't give away the source code - just the compiled libraries. If you need to issue temporary licenses for the libraries to run (if your code requires licensing), make sure they are for 'dev versions' so they can't be used for release versions.
There are lots of reasons to keep development in house, but if you can't do it all yourself you nee to pick your developers well. Make sure you get references and that you check all of them. Make sure they provide references for several years back so you can see if they tend to repeat the same mistakes.
Sell the business (Score:5, Insightful)
Try IGDA, the Independent Game Developers Association, and find a team with a track record of a game roughly similar to, or better than, the one you want. Give them participation in the deal, so they get paid a basic price plus some fraction of sales. This will encourage them to make it good, not do a half-assed job.
Rent-a-Coder and Freelance will not help. I've never been able to get good work from there for anything above the trivial level. (I once wanted screen scrapers written for state corporation registries. I'd written one for one state, and wanted someone to write the other 49, each state being different. No joy.)
Re:Just remember (Score:5, Insightful)
You get what you pay for (Score:3, Insightful)
"Monkey work" looks exactly as if monkeys have worked on it.
If you want a high quality product, the world is pretty flat as far as cost.
The Attitude Is Telling (Score:5, Insightful)
I know that's not the question you asked, but that's the answer I have.
Absolutely! (Score:5, Insightful)
Who fights harder, people whose country is being invaded, or the mercenaries doing the invading?
You are no longer a developer (Score:4, Insightful)
Re:Is it just a bad idea? (Score:4, Insightful)
You have to trade this off against the flexibility that an outsource outfit gives you. You don't have to spend time and resources recruiting. You don't have to provide office space. You don't have to worry about what to do with the people if your budget or needs dimish.
The other side... (Score:5, Insightful)
so, what do you do? (Score:5, Insightful)
I'm curious, if you're outsourcing development what is it that the business actually does?
I mean fundamentally. What is it your company offers your market? What value does it add, if someone else is doing the work? Why wouldn't customers cut out you, the middleman? How does it control everything that matters - supply lines, production, IP, quality, direction, and so on?
An organisation is just that - an organisation. It doesn't fundamentally matter what's in-house and what's out, as long as it's organised i.e. controlled. However, it is dramatically more difficult when it's outsourced.
Consider say Apple. It outsources production but retains everything else internally. What it has outsourced can be very heavily controlled because it's all extremely highly specified and those specifications are of a nature well suited to contracts.
Re:Insource 'em instead (Score:4, Insightful)
As an IT manager, we do something similar to this. We hire recent college graduates with basic skills we're looking for (Excel and basically programming exposure) and train them to do the work we need to have done.
Now, while this works for our business and our model, it does take time to bring people on board who are not accustomed to the language we use and bring them up to speed. Depending on the timeline of the projects on hand and the time availability of those who would be working to bring associate level programmers up to speed, it may not work in all instances.
I have a close-knit team comprised of experience professionals willing to train entry-level people to do the work both during crunch times and lulls. Both myself and my guys have the desire and availability to do this and we hope that it will continue to serve us well.
YMMV.
Re:Is it just a bad idea? (Score:5, Insightful)
Then again, the non-idiots are less cheap and sometimes that can be a turn-off for decision makers who are more focused on the bottom line than on the quality of the work.
Exactly. There seems to be this myth around outsourcing that somehow there's a magic method by which an outsourcing company can provide you engineering or programming effort for less than what it would cost you to hire someone of equal quality, despite the fact that the outsource company has to provide facilities, licenses, computers etc for that person, and also make a profit. This just isn't going to happen. You go to outsource for business flexibility, or in order to gain access to expertise that you don't have internally, and don't want to pay to hire over the long term. If it seems too good to be true, it is.
Re:The Attitude Is Telling (Score:5, Insightful)
Absolutely 100% the right answer.
Because you're next no matter how it goes.
It will go badly. And then there won't be the budget to fix the problem. Whose fault is that? Well, let's see ... the First Law of Business Physics is "Sh*t always rolls downhill." Since it's just you and your boss, guess who's at the bottom of the hill?
So you will be blamed for the failure.
Some problems are intractable - they cannot be solved under the given conditions and constraints. This is one of them. It's way past time to leave. Try to contact everyone else who's left, tell them you're ready to jump ship and would appreciate any assistance they can give.
If the boss complains when you tell him that it can't be done, tell him you want a big raise. What's he going to do - fire you? Then he's out of a job as well. He's already looking around for another opportunity anyway ... the minute he finds one, you're dead in the water.
Run away ... (Score:5, Insightful)
You have no hope in hell of keeping a product going. You have no way of enforcing your deadlines. You're basically middle-men who may or may not be able to cajole your supplier into doing what you need when you need it.
The projects I've been on that have used outsourcing usually required a fair amount of management to get them to do well-defined tasks to spec, and deliver that on time and working as expected. What you're describing sounds like it simply can't work.
If what you do is primarily make software, and your boss calls that the "monkey work", then you're screwed. That's not really a strategy which is going to work, which means your small IT company will implode in a while
Seriously, what is left for you guys to do? Collect the money and laugh all the way to the bank? What value do you guys add at this point?
Re:Going Through The Same Thing (Score:5, Insightful)
What developer would work for less?
The reason the last 3 were so bad, is because you don't want to pay market wages.
If you want to attract the right developers you will need to pay $70K+ and offer insurance and PTO and 401Ks. I don't see what is so hard to understand about this. If you cannot offer insurance and 401Ks you will have to pay more in wages to make up for that. Employees need to save money and have healthcare. Why should they suffer for you?
You have already seen that paying crap wages gets crap workers. Why continue to try to do that?
Re:Just remember (Score:5, Insightful)
So I engaged with Google translate, broke projects up into smaller pieces, and communicated in shorter well thought out sentences. Also, for cultural reasons, they almost never tell you when they fail at something. So you have to actually instruct them to do so, or they will leave you hanging, or worse, spinning their wheels on the clock for days on the wrong thing.
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.
That said, I don't think outsourcing is so bad these days, once I've gotten the hang of it. Now that I'm accustomed to it, I don't offend people as often with bad jokes (never tell jokes), and the work gets done with close to an 80% satisfaction rate. I recommend it, but there will be a learning curve.
Re:Just remember (Score:4, Insightful)
In my experience, yes, they DO care less than our in-house developers. Also, consider that your project managers often don't know just too exactly yet just what exactly they will eventually need.
Your in-house programmers know that they will have to patch and maintain what they create today, which only means more work but not more pay to them, so their primary goal is to deliver what you will actually want in the end (and, given experience, they also know already what your departments usually forget or omit) so they can minimize their work.
Your outsourced team knows that they will have to patch and maintain what they create today, which means months or years of add-on contracts so their primary goal is to deliver what your specs say even if they know exactly that you'll need something else, too.
Question for 100: Which behaviour is better for your company?
well, there's your problem, right there... (Score:5, Insightful)
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.
I suspect this actually gets right to the heart of your problem.
Just look at the other responses that basically say you boss has no respect for what you do, you should GTFO NOW.
Re:Just remember (Score:4, Insightful)
That demonstrates the problem nicely. The chain of decision about whether the work was good enough is pretty long and your final potential recourse might be a lawsuit which is such a high stakes response that your management are more likely to pay up and change supplier but even more likely to tell you to stop being a perfectionist nerd.
Communicating with people many timezones away is hard when they are great people and horrendously time consuming otherwise and when you change suppliers for any reason or when their employees leave then all their accumulated knowledge is lost.
So outsourcing is dumb if your work is meant to be in any way unique to you. If you're expecting something bog standard for the industry then it offers you something.
Re:Just remember (Score:5, Insightful)
Re:Just remember (Score:4, Insightful)
Outsourcing means that in the long run the knowledge is slipping away and your company will just be an empty shell as soon as the contact with the developers ends.
Of course - it's possible to outsource some stuff that is generic, but if you don't specify in detail what you want you don't get anything useful.
And outsourcing to India means that things that's taken for granted aren't known except as rumors there. Like the fact that roads can be icy in the winter.
Re:Just remember (Score:4, Insightful)
Cultural issues exist when outsourcing closer to home as well though, I once freaked a French customer because I was arguing so technical issue with a college and they thought we hated each other