Outsourcing is the best idea ???

  • Hi All,

    Please record your valuable answers.

    karthik

  • There is no best idea. There are ideas that make sense at times and in situations.

  • As with most things in the tech field - it depends. Can it be made to work well? sure. Does it work well in every case? no, not by a long shot.

    There are lots of factors that might go into this, so as of now - the question couldn't be answered as stated.

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?

  • I guess I'll be the only one with a rock solid opinion on this one...

    Outsourcing is absolutely the worst idea at all times. The people writing code to solve your problem are on a strict timeline and the developers are, ummmm... not necessarily up to snuff because no one wants to pay to have real developers in such a code monkey sweat shop. There will be little or no documentation, the code will not have been tested for performance and scalability, it will likely be nearly unformatted, and some of the worst practices in the world will be included in the code... further, no one will really care because you wanted to be cheap about it in the first place, so little or no QA testing will be done... all because someone wants the code real bad...

    ... and when you want the code real bad, that's the way you'll get it.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • I'd disagree, Jeff. If I need a web service that provides mapping, should I hire someone to use Virtual Earth to do this? Should I use VE? That's outsourcing. We hire consultants, which is a form of outsourcing. The question is to what degree do you do it.

    It makes sense in places. Wholesale outsourcing, or wholesale ignoring it aren't good solutions. But you need to think it through.

    Outsourcing a help desk might make sense, or it might not. Often I think that outsourcing makes some sense if you don't have anything in place. As a cost saving measure to remove what you have, I think it's a bad idea.

    I'm against outsourcing core things, things you need to run your business. You should own those.

  • In USA, we produce so little, consume so much. We outsource everything so other people provide us on our debts that is going to bury us alive soon.

    http://usa.redirectme.net/repriser/

  • Heh... told ya I'd be pretty much alone in what I said...

    Perhaps some clarification on what I mean by "outsourcing" is necessary... buying and having someone install/interface a well known and established product like Virtual Earth is not outsourcing anymore than buying a copy of Office is. The kind of outsourcing I'm talking about is like they did in my old company... we had an IT department capable of producing anything and everything the company needed and we did. That is until a couple of whacko company officers decided to "save a buck" and outsourced rev 2 of the software we had built. After 4 months and a million dollars, the garbage we got back could hardly be called "code" never mind finished product. We were then required to work overtime (for free, we're salaried) with scheduled 12 hour days because the project "still had to be done on time".

    THAT's the kind of outsourcing I'm talking about.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • I’m going to make the assumption that what you mean by “Outsourcing” is Offshore Outsourcing.

    A lot of senior management types see IT as a necessary evil at best, and really wish that it could just go away. Add the fact that most do not have any real experience with IT, and it’s easy to see why they think Offshore Outsourcing is a solution to their problems. It just seems like taking your car to the mechanic instead of working on it yourself. Throw in the apparent lower cost per hour and it sounds too good to be true.

    It may be a good fit for some IT jobs, like the help desk and various system and network administration activities, especially for off-hours support. There may be some language difficulties, but at least the help desk person may actually be awake when you call them at 3:00 am.

    Outsourcing for development is quite another problem. Most development projects require close communication with the business in order for developers to really understand the problem they are trying to solve. When you have an offshore developer’s workday that is shifted 12 hours relative to the business, with language and cultural barriers, you are almost certain to have serious misunderstandings. Combine that with relatively inexperienced developers and project managers, poor over-site by onshore people, and you get the kind of project failure that Jeff Moden mentioned.

  • Jeff Moden (12/12/2008)


    Outsourcing is absolutely the worst idea at all times...

    Heh. I guess it depends how you define outsourcing Jeff. According to most employees that I have talked to you and I would both count as outsourcing.

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • As ironic as that sounds and this will also sound, I still think it's a bad idea... and, I prefer to not be a contractor... I prefer to be an employee. I guess in cases of good folks like yourself, outsourcing may not be a bad idea. But I'd have to say that you and folks like you are the exception rather than the rule. For example...

    I already spoke of the mess made by outsourcing a major project at my last company. Before I started working for that company, they had some major performance problems and some major deadlocking to the tune of an average of 640 deadlocks per day with spikes to 4,000. Most of their daily jobs took 8 to 24 hours to run and many of them failed at least every other day. They paid an "expert" contracting house a huge amount of money to study the problem and recommend a path of action. Their recommendation? Change all cursors to Temp Tables and While loops, use WITH (NOLOCK) in all code except updateable views, and buy a faster/bigger machine. NONE of that worked and some of it actually had some pretty severe negative effects not to mention the time and money it took to migrate a Tera-byte database to a new machine. Nice, huh?

    Then, they decided they wanted a customer service IVR intended to service all 1.2 million customers. Instead of buying a proven COTS system, like an EDIFY system that could easily be programmed in house, they decided to "save a buck" and outsource it. As it turned out, the "IVR" company had no clue how to upload the 1.2 million customers nor upload nightly changes nor how to download payments accepted. The "reporting" for the system had huge flaws in it... for example, one of the reports was to report hourly averages of phone line port usage... the reports showed exactly 100 times the number of calls as verified by a study of the phone switch itself... and they wanted to charge us to fix it!!!!!!! After six months, we bought an upgrade from the same bloody company to provide confimation numbers to the customer. First of all, they blew away 6 months of history (which I recovered thanks to me making a backup of the database before we allowed them in) and second, what's wrong with that picture? Heh... we paid them (8 THOUSAND dollars) for a change that should have been in the initial release!!! The really bad part was, I was the one that had to write all the SQL to do the uploads, provide the confirmation number to the system, write all the downloads, AND write ALL the interface procs even for the initial release. Good thing they outsourced it, huh? They eventually figured it out and bought and EDIFY system.

    I could go on, but I think you get the point. So, how do you fix it? How do you find a good outsource like R.Barry Young or some of the others found on this fine forum? Talk about irony... you have to have inhouse experts capable of properly evaluating the outsource. 😛 And, no... close friends who recommend an outsource are full of hooie... that's how the company got into so much trouble with that Rev 2 project I previously spoke of... it was a personal referal.

    So, I'll change my published position on this issue... outsourcing isn't always a bad idea if you know what you're doing... but then if you know what you're doing, there's really no need for the outsourcing... kind of a "Catch 22". 🙂 My recommendation is to learn how to interview good people and then bust a hump to keep them so you don't have to outsource.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • It's funny - I associate with all parts of what Jeff mentioned, which are all examples of "bad outsourcing". The biggest part of the outsourcing folks tend to forget about is that you can't outsource your expertise. It's arguably your biggest asset, since by retaining your in-house expertise, you maintain a "renewable" source of ideas, assets, and new products and capabilities. There is a LOT of value in not giving away your "book of business" just because it happens to reside in someone's head.

    But it's all tied together. If you retain that core expertise, and properly identify the core competencies, document and set up the right steering, there ARE parts that work reasonably well outsourced, since you've had the legwork done, and you keep your knowledge assets under thumb. The other place which is very useful is when you need to ramp up expertise on some aspect, so you use outside resources to start up a new core competency, and build upon what is provided to take some of the expertise yourself once the outsourcer has "primed the pump". Still - I have only seen what I've considered a "good" setup one single time, while I have run into a LOT of "dysfunctional" outsourced setups, a couple of which killed the company that was trying to save itself a few pennies on the dollar.

    As to how you find worthy outsourcers/contractors - that's a darn good question. As a contractor it's certainly possible to build yourself a reputation of fixing the disasters made by others, but it's a painful and tedious process, and it tends to get lost in the crowd of "Hey my cousin's kid fixes computers, maybe he can help". Otherwise - it's a matter of taking recommendations from folks you trust.

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?

  • I guess I'm a bit in the middle. While, as an employee, I really don't want to see my job go away (really, seriously, I like my job, I need my job, please, please....ahem), I think there are some services and projects that are off the critical path or outside our core competencies that outsourcing them can make sense. It's when core business processes are outsourced that I start to wonder, what sets us apart from the competition, who are using the same outsourced service?

    BTW, I have yet to see a major outsourcing effort succeed. We even had a project outsourced through a Microsoft initiative, that, if it succeeded probably might have endangered my job and lots of developers jobs through out the company and would have given MS millions more. Total tank. Worse than some of the stuff Jeff is describing. The fact of the matter is, if the things you are delivering are important, you can't outsource. If it's unimportant, why are you doing it at all?

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Offshore outsourcing is a terrible idea until you can have someone there to supervise those 'kindergarten developers'.

    Even companies outsource their call centers to India bring back their customer service because of sky high complaints.

    I worked with offshore developers, not only the time difference made it tough to work, they did not have the work attitude and professionalism that most people had here. Also their turnover rate was very high since there were so many contracting companies. In short run the companies seem to save a lot of money by offshore, however in long run, a lot of companies eventually bring back their operation to US because of bad coding and documentation.

  • Company I worked for outsourced twice (to different companies) and both times they brought IT back in-house. The last one was a costly, miserable failure yet the outsourcing company had the nerve to tout it as a rousing success on their website! When the company first announced the latter oustourcing deal, people left in droves, therefore drastically depleting the company's knowledge base - dooming it to failure. Remaining workers treated as drones - it was all about the billable time. But then, Karma struck. The outsourcing company got bought by a larger company which consequently laid off thousands of them! 😛

  • I'm not sure I'd call contracting outsourcing. That's more like temporary staffing, or augmentation to me.

    Outsourcing is more a wholesale service or function. I'd consider Virtual Earth outsourcing if it's an important part of your business. Just like lots of people depend on mapping from other sources, they've outsourced that piece of Google/MS/Yahoo instead of building it. That makes sense.

    Outsourcing development? It's not a quick fix, and too many people see that as a possibility. None, not one, nada, zero, of the core principles of development, constant communication, regular feedback, etc. changes with outsourcing. If you expect to throw stuff over a wall and get something usable thrown back, you're making a mistake.

    Plenty of companies do make this work by hiring an outside team to work on things, but they have to work closely, whether they are geographically distant or not, with the people in your company. It doesn't really save a lot of money in the short term, but what it can do is get you expertise and skills that you might not want/need in house for the long term.

    Throwing help desk, customer service, etc. off site is hit and miss. Depends on who you get to do it. In many cases it's not necessarily any different in-house, but you at least can built personal relationships better with someone in the office. You get things done and that person may care, even if they're not completely competent; I think there's value there.

    I prefer keeping most things in house. I think it's worth growing a little slower, hiring smart people that fit in, even hiring them before you need them, to ensure you have some talent in house. I think you can contract for specific things, but you have to work closely with the contractors, and you can't assume they'll build what you spec.

    Actually they might, but you don't want the spec, you want something that fits your needs.

Viewing 15 posts - 1 through 15 (of 23 total)

You must be logged in to reply to this topic. Login to reply