Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Education IT

Learning About Outsourcing in College? 75

nial-in-a-box asks: "I just started my software engineering course today at Loyola University Chicago and I found out that I will be learning hands-on about outsourcing. My classmates and I will be outsourcing parts of projects to students at another university, and then those students will be doing the same for us. This seems like it could be rather interesting. Has anyone out there been in a class like this before? Any other ideas on how to effectively teach about the implications of outsourcing (especially pointing out that outsourcing doesn't necessarily mean no jobs upon graduation)?"
This discussion has been archived. No new comments can be posted.

Learning About Outsourcing in College?

Comments Filter:
  • by cs02rm0 ( 654673 ) on Thursday September 02, 2004 @11:15AM (#10139132)
    ...a lot of documentation... *yawn*
  • Make sure the college you're doing the work with doesnt have any english speaking students.
  • by Marxist Hacker 42 ( 638312 ) * <seebert42@gmail.com> on Thursday September 02, 2004 @11:33AM (#10139393) Homepage Journal
    (especially pointing out that outsourcing doesn't necessarily mean no jobs upon graduation)?"

    This is highly counterintuitive. I suggest that if you want to teach this, you need to find a company that outsourced without losing jobs, without laying off even a single individual. If you find such a beast- let me know, because as near as I can tell, outsourcing ALWAYS means lost jobs.
    • Outsourcing is bad from a jobs perspective if one is working for the company that is now considering outsourcing, but if one doesn't yet have a job then working for the company that won the outsourcing contract is perfectly feasible.
    • by Anonymous Coward
      First, as someone said, a job lost in one place is a job gained elsewhere.

      Second, most outsourcing (in my experience, anyway; as for life in your dorm, YMMV) has nothing to do with losing jobs -- it's companies contracting out work instead of hiring new people.

      • First, as someone said, a job lost in one place is a job gained elsewhere.

        Yep- as long as that elsewhere is anywhere other than America, or at least so it seems in IT.

        econd, most outsourcing (in my experience, anyway; as for life in your dorm, YMMV) has nothing to do with losing jobs -- it's companies contracting out work instead of hiring new people.

        In my experience, it's usually about asking the IT staff to train their replacements before being fired. This has caused at least one suicide (Kevin Fla
      • Second, most outsourcing (in my experience, anyway; as for life in your dorm, YMMV) has nothing to do with losing jobs -- it's companies contracting out work instead of hiring new people.

        Spoken as a true college student.

        When (if) you get a job in the Real World, think about what you've written today...

    • you need to find a company that outsourced without losing jobs

      Easy. My first employer. Of course, I can't point you at them because they went out of business, but for completely unrelated reasons.

      Outsourcing, when done properly, is a money saver. The specific type of outsourcing I'm talking about was electronics assembly. We used to have someone whose job 8 hours/day, 5 days/week was assembling PC boards. As volumes grew, first we hired someone else, then engineers (like the newly hired me!) had to pitc

  • sure (Score:5, Funny)

    by pizza_milkshake ( 580452 ) on Thursday September 02, 2004 @11:34AM (#10139399)
    they could outsource the entire class (except for "upper management", i.e. the prof). the students would have a few weeks to prep foreigners on what they would do in various situations, and then the professor could teach the foreigners via conference calls while the students go look for other classes.
  • Another person (Score:4, Insightful)

    by chris_mahan ( 256577 ) <chris.mahan@gmail.com> on Thursday September 02, 2004 @11:48AM (#10139621) Homepage
    Propose to get another person to take the classes for you. When they say you can't do that, you tell them you're outsourcing.

    Then ask them what the differenc is, really. This might turn out into an econ/ethics class, so make sure you got your econ 160 stuff down pat.
    • Well ... (Score:4, Insightful)

      by gstoddart ( 321705 ) on Thursday September 02, 2004 @02:23PM (#10141500) Homepage
      Propose to get another person to take the classes for you. When they say you can't do that, you tell them you're outsourcing.


      Then ask them what the differenc is, really. This might turn out into an econ/ethics class, so make sure you got your econ 160 stuff down pat.


      Because they're not trying to teach the lesson of what it's like to lose your job. They're not trying to teach you to be a smart-ass.

      I would think there is a very practical lesson to be learned in telling someone at a remote site exactly what you expect to see, and exactly what it's interface will be, and how you plan on verifying it. This is a practical exercise in writing your spec in advance and handing it off to someone to implement. Which, oddly enough, is arguably applicable to software engineering.

      An awful lot of projects never really know what they're looking for until they get a few iterations in. I'm willing to bet if you did that in an outsourcing project it would become extremely inefficient.

      I'm betting the prof is counting on several bad specifications going out the door which are either completely useless or way too open-ended. In which case the people who implement it will deliver what they understood the requirements to be -- the coders will be judged by how well they implemented what was asked for, not what was wanted by management.

      Cheers
      • Yes, but ultimately, they are doing the project manager job. Outsource that too, while you're at it.

        So they are getting a computer science degree and learning how to do project management. I thought that's what BA in Management with Information Services (MIS) degree was for.

        The key is that the current outsourcing providers are getting very good at interfacing with upper management for project management. So teaching CS students how to manage outsource projects when in fact it's only a matter of time befo
        • If your project managers are writing the specs to give to a 3rd party to be coded, you are absolutely screwed. In a big way.

          Unless code specifications come from engineering, they would be absolutely meaningless. Directions like "a bluish button should appear asking the user if they really meant it". You would need to write functional specifications and the like. In my experience, a PM would not perform that role.

          Likewise, getting specs from another site and turning that into a working object, and veri
          • I stand by my previous assertion that there are legitimate lessons related to software engineering to be had from this exercise.

            I completely agree. Where I work, we have functional specialists who gather and create functional requirements (use case flows, UI design, etc). This gets handed off to a senior engineer who translates the requirements into a technical design (class diagrams, etc). Sometimes the same engineer will implement it, but often the design goes to a less experienced engineer for act

          • ...but you're right, it's a huge pain. users write user requirement specification. techies write functional requirements specification. traceability matrix written to make sure that all items in former doc are mapped onto items in the latter, and that everything the user's asked for is in there somewhere with a techie bullet point by it.
            the problem with this (and with outsourcing generally) is that if it's not written down and agreed (read "paid for"), you're not going to get it . all the good will you've
      • This is a practical exercise in writing your spec in advance and handing it off to someone to implement. Which, oddly enough, is arguably applicable to software engineering

        Actually, it's already being done for that reason. When I took a Systems Analysis class on the way to a degree in Software Engineering, our instructor told us that he usually did just that: after different teams presented their designs to the class (and had them verbally ripped to shreds with criticism), have the groups swap designs an

  • First thing is... (Score:3, Interesting)

    by Otter ( 3800 ) on Thursday September 02, 2004 @11:51AM (#10139668) Journal
    No, actually, I'll start with an anecdote, instead. We had a talk last year from one of our foreign colleagues who figured (not unreasonably) that the opposite of "in-house" is "out-house". He went on at some length about "out-housing" certain studies, to the puzzlement of the audience.

    Anyway. The first thing that needs to be clarified is that outsourcing doesn't necessarily mean India! It simply refers to having some task done by people outside your company.

    (That said -- this guy's class does sound an awful lot like it really is "Outsourcing to India 101", doesn't it?)

    • This class may be beneficial, but maybe not in the way the prof intended.

      I suspect that students on both sides of the project will learn that outsourcing isn't as easy (or as cheap) as they might have suspected. By the time you factor in the communications costs, delays, reworking, and sheer aggravation, these students may just learn that sending work outside the company isn't the quick fix many see it to be.

    • Outsourcing simply means the use of external resources, be they consulting companies or independent contractors. They may even be working inhouse.

      If they are working down the road but relatively close, they may be referred to as onshore, if they are in an adjacent country with similar culture and timezones then this is near shore. A company in the US or Western Europe outsourcing to Asia, is off-shoring.

  • by isaac ( 2852 ) on Thursday September 02, 2004 @11:57AM (#10139755)
    This is part of the new curriculum being phased in at CS programs around the country. The next phase will have you deposit your diploma into a shredder for recycling after you cross the stage. You'll then be loaded onto a container ship and be sent to a reprocessing facility in China, where you'll become something useful, like soylent green.

    -Isaac
  • If you want to make it realistic, you have to have the situation where you are NOT receiving any work from the other college. So you and your collegues get to do no work, and receive an F in the class.

    BC
  • by quantax ( 12175 ) on Thursday September 02, 2004 @12:04PM (#10139843) Homepage
    Ever since I've taken several history classes at my college and read about the industrial revolution, I've begun to question whether opposing outsourcing is even worth it in the long run.

    Basically, during the industrial revolution, countries like Britain, whom had large colonies overseas such as India, would export that colonies natural resources (in this case tea, silk, textiles, etc) back to Britain where the British public would buy these goods. Then people began realizing, you can hire the colony natives for far cheaper than your country men in Britain, so companies relocated their textile, silk, tea, etc factories in India where they would pay the native workers far less to work in often very poor conditions, and often polluting, etc the environment around the area. In Britain, many factory jobs were lost to the Indians, which naturally angered the workers, but economically made more sense. Figure: instead of carting some natural resource thousands of miles away, you dig/produce/farm/whatever said resource right there and then transport it 100 feet to the factory where it spits out goods, which you then ship to Britain, where people whom have the money can buy it (rarely can natives in these situations afford the products they produce). This generates more service jobs in the host country to sell said goods and more manufacturing jobs in the colony. Low-wage & menial jobs historically get divied out to the lowest bidder.

    Now, all of this can be applied to the current 'information revolution' in which we are currently undergoing. Countries that have only recenty industrialized, (India, China) are now becoming computerized and are rapidly attracting foriegn investors who realize these places are the frontlines of this revolution, and the people who will be employed in it. Can we realistically expect to be paid the big bucks for now-menial jobs? Programmers arent such an exclusive job anymore, nor is a lot of things that used to be rare/lucrative skills only 5 - 8 years ago.

    I am a computer animator, one of the jobs currently entering embattled grounds of outsourcing. They have these companies in Eastern Europe & Asia where they hire 100 guys who know Maya, 3D studio max, etc and these guys pump out huge blocks of finished animation in a matter of weeks for about $10 - $50/day (which is rich by sweat-shop standards), where the same project would take 8 - 12 months in America or Europe at easily 50 - 1000x the cost. Can I really fight this? Other than making sure that I can offer something none of those 3d-slaves can offer, theres not too much, so what can I really do?

    I think this process is inevitable though I do not totally welcome, the best thing to do in the longterm is putting yourself in a position where some guy who codes for 16hrs a day for $10 does not have leg up on you; though this sounds hard, remember, chances are this guy can do nothing except that task even though he does it very well. Also, removing things like tax-cuts for companies that outsource is something I agree with, and I think will result in a healthier transition in the longrun.
    • The real difference can be seen in our current INDUSTRIAL outsourcing. America has a huge supply of natural resources- even today. What we're doing is shipping our natural resources to China and our informational resources to India, then importing the finished product back to America to sell to the consumers- which happen to be the same people we laid off so that we could take advantage of the cheaper labor rates in India and China. If this sounds like it breaks the economic equivalent of the 2nd law of
    • The problem with this argument (and a problem I've seen with every argument in favor of tech outsourcing, in fact) lies with the logistics involved in management of IT resources, and the complexity of tasks performed within this industry.

      The example you gave regarding natural resource harvesting and production involves laborers performing a simple task (i.e. digging, harvesting, etc.) that requires little specialized training, little oversight, and arguably little collaboration (my apologies to any digger

    • Programmers arent such an exclusive job anymore, nor is a lot of things that used to be rare/lucrative skills only 5 - 8 years ago.

      Can't learn a "lucrative skill" in five years. Sorry.

  • Nothing new (Score:2, Funny)

    by Anonymous Coward

    Even though I haven't been in college for many years, one of the young women in CS 101 with me was a master of outsourcing. Jodi Jackson would always outsource her programming assignments to others in the class. These chumps would happily work overtime for a chance to have her smile at them and perhaps even sit with them for lunch one day. When you think about those Indian schmucks happily working themselves to dust for crumbs from American companies, you can see the parallel. Jodi was ahead of her time

  • by DarylBeattie ( 540029 ) on Thursday September 02, 2004 @12:31PM (#10140189) Homepage
    Regarding question 1; Yes, the University of Toronto Computer Science classes have been doing this for years, but mainly between groups within the same class or classes.

    Question 2; I hate to point out the obvious, but they are not teaching you about "outsourcing"; they are really just using that as a term to describe what you will be doing. They are attempting to teach you how to work with others effectively when face-to-face communication is not always possible. In programming, this means properly internally and externally documenting code, and defining clear interfaces. Since this is a situation will come across very often in the working world, it is important to learn. Also, in this class you are not only held accountable to your professor, but also to the students in the other school.

    I believe it is an excellent way to teach important lessons to students. When you have an interview with a company, I would suggest pointing out this class to the interviewers and telling them what you learned from it; it'll probably impress them. Have fun! :)
    • Mod Parent Up! I totally missed this- and from this point of view, the way to point out that this form of outsourcing actually does *create jobs out of nothing* because it is MUCH harder to define specs remotely instead of face to face. Thus you need extra people, nearly twice as many, to get the project done.

      A very good lesson that real companies often only learn after spending millions and still getting crap back in return from India.
    • Yes, mod the parent up!

      More and more often, technical projects will be done on a geographically-distributed basis. Not only because of outsourcing and offshoring, but because the database group is in Houston and the Web developers are in Chicago. And the graphics people are in NY. And the people producing the video clips which must be integrated into the whole package are in LA. Students who are comfortable with such an arrangement will be more valuable when they get out and go to work.

      Distributed worki

  • zerg (Score:4, Funny)

    by Lord Omlette ( 124579 ) on Thursday September 02, 2004 @01:19PM (#10140798) Homepage
    You're doing it wrong. The best way to teach these kids about outsourcing is:
    • Make it a mandatory course that you need to graduate. No substitutions or exemptions.
    • Make it a really really hard course w/ lots of homework and studying and tests and stuff.
    • No matter how well they do in the class, give the guy who did the absolute least work an A and give everyone else an F at the end.
  • instead of teaching these kids the fundamentals of their fields (and god forbig: eventually expanding on these fundamentals) to make them intelligent, they waste part of their 4+ years by teaching them about outsourcing... who would you rather hire? yeah yeah, outsourcing is an important issue, but it won't be solved by programmers/engineers/etc, its the stupid bastards with business degrees (quick money in my pocket = good for the economy) in washington that are the cause/solution to this. the least thi
    • This is coming from the same people, no doubt, who will make their students read the management or self-help book du jour (be it Peopleware, Who Moved My Cheese, one of the many Extreme Programming books, or what have you) rather than teaching them how to faithfully execute the development process in the CS classes. If all people know is group management and stuff like that they aren't marketable. I don't know for certain, but I imagine that in India they mostly train people how to DO THEIR JOB, not a bun
  • by raider_red ( 156642 ) on Thursday September 02, 2004 @02:30PM (#10141562) Journal
    To make it even more realistic, they should get a bunch of clueless business administration students to come in and grade your work.

    • This happened to me at Purdue, I kid you not. Our Systems Analysis and Design final project presentation was graded, in part, by a panel of MBA students. Luckily, we were prepared for this and thought up a bunch of impressive sounding bullshit with only a brief mention of technical details. They bought it hook, line and sinker and gave us an A. There was a group that had very impressive solutions from a technical standpoint and then stood up there and lectured about network layer protocols got a low C, whic
  • it's a sham (Score:2, Interesting)

    It sounds like a ploy to keep students from going into other fields. How else can the keep up the rolls in the computer science department? "No no no, outsourcing won't take the jobs away, here, pay for this course and we'll show you."
  • Don't worry if your university doesn't teach you about outsourcing as part of the CS curriculum. You'll learn all about it after you graduate. Meanwhile, you might want to invest some time in a course entitled "Operating Principles of the Fryalator 101".
  • I think they will find that there is a difference between what they are learning and the real world. Indians are polite.
  • Why not India? (Score:4, Insightful)

    by bskin ( 35954 ) <bentomb@gmail. c o m> on Thursday September 02, 2004 @07:40PM (#10144635)
    Just something I wanted to toss out here...

    Really, if these jobs are going to Indians with CS degrees...why wouldn't they deserve the job? If they're qualified, why not give them work? I mean, if two workers are both qualified, and one will work cheaper, you hire the cheaper one.

    And if you think they're not qualified, then one of two things would happen: either companies will see the difference in quality, decide it's not worth the cost savings, and start bringing the jobs back...or they'll decide the quality is good enough, that it offers a better value for their money, and there'll start to be a lot less high pay programming jobs in the US. Companies may just not need as highly skilled programmers as they thought. To them, it'd be like hiring an engineer to be a janitor, when he was still demanding an engineer's salary. Either he's gotta drop his price, or the job's going to someone else.

    I guess people just need to realize that programming, as it's done by most large software companies, isn't really skilled work. It requires a lot of training, yes, but so does being an auto mechanic. Sure, there'll always be smaller companies that have a need for highly skilled programmers. Id isn't going to start outsourcing. But a young, technically-minded individual will just have to consider other career paths than programming. Low-level programming jobs aren't going to disappear in the US, but they'll prolly pay a lot less and just generally be a lot less glamorous.
    • Really, if these jobs are going to Indians with CS degrees...why wouldn't they deserve the job? If they're qualified, why not give them work? I mean, if two workers are both qualified, and one will work cheaper, you hire the cheaper one.

      It really isn't about the degrees, two graduates are to a better or lesser extent very similar. It is about the capability of the organisation that they join. The critical point is domain specific knowledge? Who do you expect to know more about credit derivatives, JP Morg

    • --
      Really, if these jobs are going to Indians with CS degrees...why wouldn't they deserve the job? If they're qualified, why not give them work?
      --

      Isn't it more the obligation of a country to supply native work for its own skilled labor pool than it is for a foreign country to be responsible for employing them via offshore contracts? America should not be seen as some kind of global employment service. Why doesn't India support its own programmers with its own industry? You know what, one day they will, b
  • by pyrrhonist ( 701154 ) on Thursday September 02, 2004 @11:20PM (#10145857)
    I just started my software engineering course today at Loyola University Chicago and I found out that I will be learning hands-on about outsourcing.

    You're in the wrong class. This is actually one of the Management courses. The SE course is down the hall.

    I just thought you'd like to know before you get too into it.

    On second thought, if you couldn't figure out what room you're supposed to be in, you'd be a good manager. Nevermind.

    • You are so right. I was thinking that to have potential ITstaff to go on this class is a waste of time. It should be for the MBAs. Anyone in the IT industry knows about specs, however management doesn't appreciate how much effor it is to specify everything down to the lat detail for someone to implement 10,000 miles away.
  • Has anyone out there been in a class like this before?

    Yes, about 10 years ago, WPI [wpi.edu] used to do this in their Software Engineering class. However, they stopped doing this a year after I took the course, due to time constraints (we have 7 week terms).

    Basically, what we had to do was generate a requirements document for the other development team to follow, and then they would develop the software per our requirements. We had to do the same thing with another group's set of requirements.

    The aim of this

    • they stopped doing this a year after I took the course, due to time constraints (we have 7 week terms).

      Immediately a lesson was learned! One a project has been outsourced beyond your building, the need for a formal methodology means that it will take more time.

  • ... "outsource" their essays? :-)
  • What the fsck happened to the approaches like "make different teams develop clear interfaces and functionality specifications, then implement them to make the whole project work as a whole"? What is this dumb idea that specs should be written by people who do not code, and implemented by people who do not write specs? Are we in 60's when the languages were so screwed up that people capable of writing code were least likely to see the forest behind the trees?
    • The problem arises when the customer doesn't know how to express what he needs... You'll know what Im talking about when you get assignments like "we want a new database, kind of like the old one, but better. What? Whats source code? I dunno, make it faster and make it do more." Requirements and initial design docs are a process of letting the coders find out what the customer actually needs(or thinks he does). Now, do businesses mutilate this process horribly? Yes...
      • Those things are not really part of the development process -- a very small part of the product architecture can be derived from the customer's requirements, certainly not large enough to warrant collaboration between teams within it.

        The real engineering work starts later.
  • Carnegie Mellon University West at Sunnyvale CA has such a one semester course as part of its Masters Program. A description follows:

    Managing Outsourced Development (MOD) Certificate consists of three separate tasks:

    Task 1 - Project Initiation and Planning:
    Perform project initiation and planning by building a Project Charter, Project Plan, Procurement and Solicitation Plan, and a presentation to management that recommends the viability of the project, including the team's recommendation and rationale for

There are two ways to write error-free programs; only the third one works.

Working...