Learning About Outsourcing in College?
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)?"
...a lot of documentation... *yawn*
Make sure the college you're doing the work with doesnt have any english speaking students.
cheating when we paid other students to do our work.
(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.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
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.
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.
"Piter, too, is dead."
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?)
What I'm listening to now on Pandora...
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
I am not a lawyer, and this is not legal advice. For Entertainment Purposes Only.
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
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.
"What can a thoughtful man hope for mankind on Earth, given the experience of the past million years? Nothing." -Bokonon
I learn everything I need to know at my job on the internet.
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.
Good lord Jodi was hot...
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!
[o]_O
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 thermodynamics, well, now you know why America has such large inventories of stuff nobody will buy.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
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 this educational system can do is arm the people entering the workforce with the proper tools to survive in it. if i saw this kind of shit on the curriculum when i was still in school i would have went to a different university.
sigs suck
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
Lost at C:>. Found at C.
To make it even more realistic, they should get a bunch of clueless business administration students to come in and grade your work.
It's good to use your head, but not as a battering ram.
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".
[Insert pithy quote here]
I think they will find that there is a difference between what they are learning and the real world. Indians are polite.
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 diggers, harvesters, or other menial laborers here who feel differently). In this scenario, geographic distance between laborers and management is of minor importance because the management tasks involved are minimal.
Compare this with a typical software project; engineers are frequently required to have training and experience in several technologies, requirements or designs are often ambiguous, production timelines are short, and collaboration between workers is essential. Here, clear and constant communication between the business and the workers involved is critically important. Technology has mitigated this communications gap between remote sites somewhat, but differences in timezones, languages, and cultures are still formidable -- and often crippling to a poorly managed project.
As someone who has managed a team of offshore developers (I'm in San Francisco, my team was in Bangalore), I can write you a book of reasons and examples of how outsourcing a project can cost *more* in the long run than keeping it onsite. The bottom line, though, is that any business that bases a decision based solely on how much people cost "there" as opposed to "here" is ignoring many factors that will probably bite them in the arse -- and sooner or later, I think the industry will eventually come around to the same conclusion.
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 bunch of fad management that'll be passé in a year.
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.
hot foreign sheep.
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.
Show me on the doll where his noodly appendage touched you.
Yes, about 10 years ago, WPI 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 was not to teach about outsourcing so much as it was to teach about generating a good set of requirements and learning how to interpret what the customer wants. These are skills you use regardless of whether you are outsourcing or insourcing.
Show me on the doll where his noodly appendage touched you.
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.
Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
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?
Punitive, confiscatory tariffs.
he 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
Like living in a refrigerator box at the park.
... "outsource" their essays? :-)
Uh oh, I hope you're not outsourcing to the nearby UIC -- University of Indians and Chinese. That seems just wrong.
...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 built up with your IT department, all the favours you do for them and they normally do for you, AREN'T GOING TO HAPPEN ANYMORE. want to check if a user's on the system? what used to be a 2 minute chat with the sys admin turns into logging a call with a telephone helpdesk in india, getting a call reference, and waiting a day or two for them to sort it out for you.
things like "goodwill", "favours", and "wanting to bang someone's head off the wall because you're so frustrated" don't appear on balance sheets - this is why outsourcing looks so great on paper.
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?
Contrary to the popular belief, there indeed is no God.
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 outsourcing. The primary focus is on utilizing project management techniques to define the project and determine how it will be managed. In addition to building a complete project plan, the students will also build a procurement and solicitation plan. Students will present their recommendations to management to request budget and get the approval to move forward.
Task 2 - Risk Management and Solicitation:
Enact your risk management process, from Task 1, by identifying, analyzing, and mitigating risks associated with the project. Perform the next step in solicitation planning by detailing out how solicitation will be performed and a vendor will be selected utilizing techniques that reduce risk. This effort includes developing the evaluation criteria for vendor selection and drafting the documents necessary for the solicitation package. The final piece is to write up your contract type recommendation that includes the benefits and drawbacks of at least three types of contracts.
Task 3 - Project Execution and Closeout:
Perform project execution and close-out in a simulated environment. You will be provided with information associated with post contract award to start the simulation. Each student will be presented with a series of communications, that you need to analyze and develop action plans as well as communications in response. At the end of each scenario, after your individual response, you are to gather as a team and compile the "best of the best" results in a team response to the scenario. At this point you will also be asked to answer specific questions associated with the scenario. As you progress through the simulation, you are also expected to perform aspects of your project plan regarding monitoring and control and upload that information to your team site. The last scenario is for you to perform the project and contract close-out process as a team.