People.uwplatt.edu



Outsourcing Overseas and Its Effect on the Development ProcessSam EiringSoftware EngineeringUW-Plattevillesam@AbstractOutsourcing overseas is a growing trend that is becoming much more common in today’s fast paced, technological world. While outsourcing is still quite new, it can be a very effective and secure way to cut costs if done properly. Outsourcing can also be used to grow a business both in size and expertise. There are several advantages to outsourcing, it can save you time and money and help grow a business’ technical expertise. There are also many disadvantages to outsourcing, for example outsourcing overseas usually means there are many differences like, primary language, time, and laws about data protection. Every company uses outsourcing in their own individual way, which means that the advantages and disadvantages will have different weights. Even though outsourcing will allow a business to cut costs and provide around the clock technical support, there are many hidden costs and disadvantages to having an overseas partner. To maximize the profitability of outsourcing a company should research different overseas firms and options to find the right solution for their company before they begin outsourcing. The first part of researching is that a company should decide what they want from their outsourcing partner before that partner exists. Next the company should do is ask for references and interview potential firms. After a company has their options limited down to a few firms they should get a lawyer to draw up the contracts. The lawyer will ensure that the company is safe with their investment and will not get caught in a bad contract with their outsourcing partner. A bad contract can lead to high cost and unsecure processes.Outsourcing Software Development“Outsourcing Software Development involves shifting of software development activities by a company to third party service vendors or software firms that may be located in offshore destinations.”[1] Outsourcing has been going on for a long time, but software development outsourcing is a comparatively new field. Software development outsourcing began in the late 1990’s when the cost of IT development skyrocketed with the hype of the internet.The software development outsourcing market has grown quite a bit since its beginnings. Now a simple search on will display pages upon pages of links to different outsourcing companies. Of course not every company will be reputable or able to handle any software development project. There are many different companies that have specialties in different areas. To find the right partner to outsource with it takes research and training.Advantages of Outsourcing OverseasThere are many advantages to sending parts of a software development process overseas. The first and most obvious advantage is that it can save time and money. Outsourcing has the ability to save a company time and money if operated correctly. Secondly, outsourcing can allow a company access to specialized labor at low costs. Specialized labor can come in many different forms, from teams that only test software, to teams that have knowledge of new forms. A specialized team will not only eliminate the hiring and training of employees to complete this work, but it will also give the company an opportunity to teach current employees how to use new techniques and technologies. Since the outsourcing team will be completing this work and commenting every aspect it will be very easy for an employee to learn from an example.Outsourcing also saves money in human resource management. Human resources is another cost a company will have when bringing on new employees. With a third party outsourcing firm, after making a partnership with a firm, there is no need for human resource costs when adding more employees overseas. Also, once overseas resources are added there is no need for in-depth training on how the company works. This is all done by the third party firm. Finally, when working with an overseas firm a company can provide 24 hour support on all of their products at very low costs.Uses for OutsourcingThere are many tasks that outsourcing can help a company accomplish. Outsourcing can be used to help separate sections of your development process. There are many outsourcing companies who specialize in different areas of development. Outsourcing can be used to give a company specialized development teams, testing teams, support services, and information technology support. Specialized development teams are an excellent way to expand a company’s knowledge base and expertise. Separate testing teams allow for a company to have a separation between development and testing which is an excellent benefit. The reason that this is a benefit is because; if a tester has not written the code they will be more likely to question the code. If code is questioned there is a better chance that it will be studied and the errors will be spotted within it. Using an outsourcing partner to help support products is a common and beneficial way to use outsourcing. If the outsourcing partner is located on the other side of the globe it will be beneficial because they will be able to provide 24-hour support. There is also the added benefit because they will cost much less than paying an employee to work on a third shift. Outsourcing is also an excellent method of expanding your workforce. Outsourcing is often thought of as a way of eliminating employees from a company, when many companies actually use outsourcing as a technique to expand a company. An outsourcing partner can not only help a company grow in size, but it can also help a company grow in technical expertise.An outsourcing company is a great way to expand the knowledge of a company. If a company does not have employees who are knowledgeable on the latest way to create a new type of user interface for example, the company would be able to find an outsourcing partner who is. That way there is no need to train their employees on something that is constantly changing and would require more training.Disadvantages of Outsourcing OverseasSince outsourcing overseas usually means using a different language and dealing with different cultures there are some disadvantages. Dealing with a different languages will further a language barrier between an overseas partner and the company they work for. For example, there are many differences between the way that people speak English in New York when compared to someone in Ireland or the United Kingdom. There are many slang terms that have different meanings, as well as the different accents. These language differences show how it would be difficult for someone from India to understand a person speaking English from New York if they were taught how to speak English from someone from a different area like Ireland. Another difficulty with language is the in-depth grasp on relevant vocabulary. For example in Ireland the standard slang term “That was some good crack last night.” In standard English this would mean “That was a good time last night.” These couple of issues make language barriers a very relevant factor when considering outsourcing. Another issue is the time difference, which is both an advantage and disadvantage. Even though having an overseas partner can allow for very inexpensive 24 hour support, it is a disadvantage when it comes to communication. With shifts in one office ending as shifts in another office are beginning it can take much longer than usual to solve an issue if there is confusion or questions to be answered. Different cultures also lead to many differences which cause issues when working together.Different cultures have different beliefs, laws, and methods of accomplishing tasks. Cultures all have different beliefs, for example, in the United States most people feel that they need to stick to a schedule and get their tasks done at specific times. In other parts of the world, such as Ireland, people are much more relaxed and will not set themselves to a very structured lifestyle. Issues may arise when a person who is a structured and organized working with a person who is laid back and not rushed to get their work done. Usually the person who is structure oriented will expect everyone around them to work on a structured schedule. This will lead to conflict in the workplace because the person who is laid back will not always work well in a scheduled work environment. These differences can become frustrating, and will eventually lead to a loss of productivity if they are not handled properly.In different countries there are different laws when it comes to data protection and security. Security and confidentiality are two very large concerns for many companies. When a company that is concerned about confidentiality is thinking about outsourcing, the first thing they need to realize is that a company overseas may have a completely different idea of what it means for data to be secure. This is an issue that is fixed when drawing up a contract. This is part of what many people would call “The hidden costs” of outsourcing. Hidden costs are the expenses that are not normal expenditures, costs that a company which does not outsource would never have to deal with. These hidden costs can include for an outsourcing partner, signing a contract with legal guidance, and the cost of extra managers.There is a large difference in the structure of management when it comes to outsourcing. Often there is a loss of managerial control due to time difference, loss of direct communication, and many other factors. There is also a different management style that is required for this type of position. It is much different than most management positions, because there often is not direct contact with employees in an overseas management position. One of the most direct differences is the way that information is conveyed to employees is when assigning work to an overseas employee. When assigning work a manager must be very specific with their requirements. This leads to much less confusion, which will make the process much more efficient since there is such a large turnaround time in answering questions. Another issue that contributes to the large turnaround time between managers and overseas employees is the loss in flexibility. When communication takes much longer, it is difficult to add in functionality after assigning the work. Not only is the turnaround time a factor in affecting the flexibility of a worker, but the language barrier is also an issue that affects flexibility. The most important item when dealing with outsourcing is good communication. In order to have flexibility and change there must be more communication, which means that there are more chances for error. Training Employees for OutsourcingEvery company operates in a unique manner. This uniqueness does not stop when it comes to outsourcing. When a company is starting to outsource overseas there is some training that is required before outsourcing will work effectively. In every company this training process is different. It may involve everyone in the company or maybe it will only involve a few people. This training process will depend on what the company is planning on using their outsourcing partner for. In some companies the outsourcing partner is completely separate from the rest of the company. They may be given work by a specific person or section of the office and never speak with the people that they are doing the work for. In other companies they might be more involved with the day to day workload and may communicate directly with the department that they are working for.A very common misconception among companies is that training must only be for the new employees. There are many people who think that it is not necessary to train current employees to be able to deal with new employees. However, in the case of outsourcing it is practically imperative. It is imperative that employees are trained on how to properly communicate, what security measures to take when communicating, and how to handle issues that arise. This type of training is what will allow a company to be successful with an outsourcing venture. [4]In a corporation called Thomson Reuters the outsourcing is a direct communication sort of outsourcing, meaning that their outsourcing partner has employees directly assigned to different departments. The outsourcing partners report to managers in their local offices, and work is assigned directly from their managers in the local office. Since Thomson Reuters outsourcing partner is so closely related to their day to day operation there was a much more in-depth form of training required for this type of outsourcing. Training at Thomson Reuters had many parts to the training process. The first step that they took to train their employees was to have cultural differences classes. In these classes the employees took tests that were designed to teach about the differences between the different cultures. After these tests were taken and the employees had a good grasp on what to expect from their overseas employees, the overseas employees came in for an office visit. The overseas employees stayed and worked in the office for about 3 months to get used to how the company operates and to meet their co-workers. After the initial training, Thomson Reuters set up some continuous improvement steps. During each project that an overseas employee works on, the in-house manager will fill out a review and rate how the employee did on several aspects. Some of these aspects include: coding skill, testing skill, communication skill, quality of deliverable, time management, etc. The aspects that a manager rates an employee on then get forwarded to the manager overseas and the overseas manager will define the proper steps required to improve the quality of work by each overseas employee. [6]This type of continuous improvement is a very important aspect of training for a company. Continuous improvement is required for an outsourcing operation to be successful, it will help the company cut costs from all aspects of their outsourcing process. Since cutting costs and making the company more efficient is the main reason for outsourcing this is very important. Steps to Begin OutsourcingStarting to outsource work can be a very complicated and daunting task. If a company is new to outsourcing then there are many steps which might not seem obvious until it is too late. Here are a couple of general tips on how to begin outsourcing.Think About an Ideal Outsourcing PartnerWhen starting to outsource work a company must first think about what their future needs might be. Outsourcing is a long-term, cost cutting technique. The first step of beginning outsourcing is to draw up an ideal software development partner. It is important that a company figure out what the goal of this partner should be, and what are the required skills to complete this goal. After drawing up what is needed out of an outsourcing partner, the next step is searching for a partner that meets the skills required. A company should also calculate all of the costs to make sure that this investment is what they picture it to be. If all of the costs are not accounted for it is possible that a company will invest more money than they will get out of it. [5]Selecting an Outsourcing PartnerWhen selecting an outsourcing partner a good place to start is talking to other companies that are currently outsourcing and see if they are happy with their outsourcing partner. Also, make sure to ask the outsourcing companies for references to call. Making sure that other companies have been satisfied with their work is important. The next step is to contact each potential candidate; the goal of contacting them is to see how they handle themselves. Also it helps to know how well they communicate and how flexible they are. While researching companies it is helpful to pick companies who already use the same development process. This is one step of training that will not need to be completed; this will lead to lower initial cost as well as a much more reliable partner. Another thing to ask for when interviewing companies is code samples. This will show what kind of work to expect from this potential partner as far as code quality and efficiency goes. [5]Signing a Contract with an Outsourcing PartnerOnce an overseas partner has been selected it is very important to make sure that a contract is signed. A contract is used to protect the security of data, as well as the security of the physical work place. It is important to make sure that the contract identifies security requirements. These security requirements can include many things, but mainly should allow a third party security audit, and the right to perform process audits at any time. A contract should also be used to set up standards as far as documentation and deadlines. The outsourcing partner should be required to document all of their work. Not only should documentation be required but there should be a specific language required for all documentation. This is to protect the work done, so that any future employee can pick up where they left off. Deadlines are also a very important part of a contract. If there are no deadlines than the outsourcing partner may feel no need to rush. Make sure to protect deadlines by putting consequences on missed deadlines. The important part of this process is leaving a way out of the partnership in case the partnership is not beneficial. A partnership is not beneficial when it is either costing more money than it is worth or if there are time delays that might hinder development. So it is important that a company leave a way out of a contract incase that happens. [5]Initial steps with an Outsourcing PartnerCommunication is the most important part of outsourcing. Communication can be completed in many forms: it can be done face to face, by email, phone, or even video conference. The important part about this is figuring out what is best for each situation. Face to face communication is always the most personable; however it is not always the best form. The reason that face to face might not be the best form is because of how much it might cost to have face to face meetings with overseas employees. At Times it might be a good idea to meet face to face to get a good connection or bond, however not every issue will be worthy of a face to face communication. Before starting to outsource work, an important step is to set up standards on what type of communication is required for different situations. For example if a company is just starting to outsource it might be a good idea to pull some of the overseas employees in for a visit. This will help the overseas employee become acquainted with the people they will be communicating with on a regular basis. However, if an existing overseas employee has a question it might be best to just send an email, rather than having a face to face meeting or even staying to work overtime so that the overseas employee can communicate with the in house employee. This is going to be different for each type of business, so the best way to go about it is to weigh the cost to benefit and figure out which option is right for each situation.Management style is another change that is required to operate with an outsourcing firm. Managers will have to make sure to be much more detailed when sending work to overseas partners. The reason that managers will have to be more detailed when sending work overseas is because there are communication barriers and different cultures that might lead to a miscommunication. Having a specific contact on both ends of overseas communication is a very useful technique. This will lead to less confusion and misinterpretation on both sides. In some companies there are job positions created just to communicate between the outsourcing partner and the main office. CostsOutsourcing overseas is a cost cutting operation, however, like most cost cutting operations, savings are not obtained immediately. There are many costs associated with starting outsourcing, as well as costs associated with the regular operating costs of outsourcing. As discussed earlier, the process in which a company finds an outsourcing partner is a rather extensive and time consuming process. For a company to complete all of the required steps to properly find an outsourcing partner there is a large cost associated, which can be lowered if managed properly and the company is willing to make a large initial investment. Outsourcing is a long term commitment and a continuous improvement process. This means that even though the overseas labor costs might be lower than a typical employee that does not mean that the overseas employee will be as profitable as a typical employee. A continuous improvement process will allow for the company to maximize the productivity of an overseas employee.As with any new employee there are initial training costs, however the training costs are quite a bit more expensive than the normal training for a new hire. When a company begins outsourcing all of their employees must be trained. The employees must be trained in order to handle communication with outsourced employees. Employees should also be aware of the differences between cultures. All the employees who will have communication with members of the outsourcing partner will need to be trained. These employees will need to have more specific training; the training should cover what they are allowed to share with outsourced employees and in what manner employees should contact outsourced employees. This training will be different for every company, but will always be rather extensive. The employees need to understand what the outsourcing partner is here to support. If there are major security issues, it is very important that all of the employees who relate with the outsourcing partner are made aware of these security issues. Costs are not always hidden as they may seem to be in means of security, sometimes they hide in plain sight. In order to judge how much money is saved by hiring overseas workers it is important to look at a developers full cost, not just their salary.Table 1: The Breakdown of a Java Developer’s Salary [8]BenefitMedian Amount% of TotalBase Salary$80,76571.2%Bonuses$1,9991.8%Social Security$6,3315.6%401k/403b$3,1452.8%Disability$8280.7%Healthcare$6,1035.4%Pension$4,1383.6%Time Off$10,1869.0%Total$113,496100.0%As this table shows, the base salary of a developer is not the only source of cost. There are also other costs for an in house employee to consider such as providing office space, and possibly travel expenses. Since good communication is such a key part to making outsourcing successful, and good communication allows for little misinterpretation, this means that an overseas employee may not be as flexible. With a lack of flexibility and the possible issues with communication this is where an outsourcing partner may not be nearly as productive as a standard employee. It is important to realize this when making an investment in outsourcing. Cost cutting in outsourcing involves more than just the cost of a worker. There are also many other costs which might be easily overlooked. When looking into outsourcing and trying to figure out where money can be saved be sure to look at things such as office space, computers, and software licensing. All of these things can add up to a rather large sum pretty quickly. If a company was to expand their business overseas rather than in house these are things that they would not need to pay for. ConclusionWithout a question outsourcing software development is a good way to help a company both grow and cut costs if it is done properly. However, if it is not done properly it will be an investment that will not get paid back. There are many advantages and disadvantages to outsourcing software development. However, most of the disadvantages can be limited if they are handled correctly. For example, there are many hidden costs. If these costs are accounted for when the initial research to determine the profitability of outsourcing is done, then the costs will no longer be considered hidden costs. It is important to consider outsourcing as a long term investment. Outsourcing is handled differently in every company, because it needs to be. The reason that it needs to be different is because no business is the same. There are unique attributes to each company and ways that a business is run, if these differences do not follow through with outsourcing the outsourcing partner may not meld well with the company. To make outsourcing successful a company has to figure out which methods will work best for the company. A company must also assess all of the costs and benefits to make sure that outsourcing is the correct decision. References[1] Berg, R. (2009, August 15). Guest View: Addressing security in outsourced applications - SD Times: Software Development News.. SD Times: Software Development News. Retrieved February 5, 2010, from [2] Filev, A. (n.d.). Adopting and Benefiting from Agile Processes in Offshore Software Development. MSDN: Microsoft Development, MSDN Subscriptions, Resources, and More. Retrieved February 5, 2010, from [3] M, G. T. (n.d.). Controls for Outsourcing Software Development : Palisade. Palisade Magazine: Application Security Intelligence. Retrieved February 5, 2010, from [4] Mullaney, J. (2007, December 26). Software development trends in 2008: Outsourcing, agile development . Software quality management, testing and QA resources - . Retrieved February 5, 2010, from [5] Miller, B. (2009, June 1). Selecting a Custom Software Development Company ? Custom Software by Preston blog. Custom Software by Preston blog. Retrieved February 15, 2010, from [6] Kielpikowski, Bob. "Outsourcing At Thomson Reuters." Telephone interview. Interviewed on February 19, 2010.[7] Outsourcing Software Development,Outsourced Software Development,Software Development Outsourcing Company. (n.d.). Offshore Software Application Development India,BPO,Software Testing India,Call Centre Services. Retrieved February 22, 2010, from [8] Salary Wizard - Java Developer. (n.d.). - Talent Management, Compensation, Competencies, Payroll, Salaries. Retrieved March 4, 2010, from ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download