| When considering whether to outsource a software | | | | difference between client and offshore vendor. This |
| project, the following advantages as well as the | | | | makes communication very difficult. A question could |
| disadvantages should be taken into consideration: | | | | be asked on Monday, answered on Tuesday, a |
| Cost | | | | response requested on Wednesday, and a reply on |
| Cost is the main reason that most companies take into | | | | Thursday. To solve this problem, schedule weekly |
| consideration when outsourcing a project. Software | | | | meetings. If a difficult problem arises - schedule an |
| engineers outside of the developed countries are | | | | extra meeting to discuss. Any decent offshore vendor |
| compensated much less than their counterparts in | | | | should understand the need for good, timely |
| developed countries. The average salary for a | | | | communication and be willing to meet on your |
| software engineer in India is $10,000 per year. The | | | | schedule. |
| saving in salary can be passed on to the client. There | | | | - Low quality: If the offshore company produces low |
| are some reports ( that salaries in India are rapidly | | | | quality code or architecture, this will definitely increase |
| rising. Maybe in a few years the cost benefit of | | | | frustration within the company. This needs to be |
| outsourcing will not be so obvious. However, there are | | | | solved by having all people who will be responsible for |
| many other important advantages to outsourcing that | | | | maintaining the code/architecture involved early on in |
| one should consider. | | | | the project. Code reviews need to be done frequently. |
| Time | | | | If frequent meetings/code reviews/reviews with |
| There may be few people in the company with the | | | | customers are not done, then the chances are you will |
| right skills to complete a particular project. In this case | | | | receive a product that does not meet requirements, is |
| the project is in risk of not meeting its deadlines. The | | | | poorly written, is not maintainable (or only by the same |
| company could company hire more skilled people | | | | offshore vendor - fees will increase for sure), and is |
| (either full time staff or contractors) and management. | | | | not scalable to your liking. |
| However, this would be expensive and after the | | | | - 'This isn't what I need!!' - If the customer is only shown |
| project is finished you may not need the extra | | | | the product at the end of the development cycle, |
| manpower. Outsourcing could be a solution. There are | | | | chances are this is what you will hear! Generally, |
| many outsourcing companies with many different | | | | customers are not very good at describing exactly |
| specializations. The right company could provide the | | | | what they need. Sometimes, it is because they do not |
| skills and manpower necessary to meet any strict | | | | know themselves what they need. The earlier you can |
| deadlines. | | | | show the developing system to the customer, the |
| Skills | | | | better. Only then will you discover that maybe the |
| An outsourcing company could provide the client with | | | | requirements weren't clearly communicated. |
| skills that the client does not have. For example, | | | | Be warned that the offshore vendor is easily made a |
| maybe the client wants some software coded in a | | | | scapegoat. Disgruntled employees will jump at the |
| particular technology but the client does not understand | | | | chance to blame the offshore company for any |
| the technology. The outsourcing company could | | | | mistake made. The employee should be reminded that |
| provide these skills to the client. However, bear in mind | | | | nobody is perfect. If a mistake is made by the |
| that if you are outsourcing a project outside of your | | | | offshore company you could empower the employee |
| companies skillset, this could pose problems with | | | | to find out the reason for the mistake, and ask him/her |
| standards and maintenance later on. | | | | to strive to solve the problem by working with the |
| Empowers Individuals in the company | | | | leader and the offshore company. |
| Because the offshore company will now be doing the | | | | Testing more difficult |
| 'grunt work', this leaves more time for individuals within | | | | Generally, the testing phase in an outsourced project is |
| the company to concentrate on 'higher' tasks, such as | | | | more difficult than an in-house. If you test a piece of |
| gathering requirements, design and management. The | | | | software that was developed offshore in-house (and |
| smart individual will find herself leading others, rather | | | | you certainly should) and find a problem, this needs to |
| than general maintenance and development work. | | | | be communicated to the offshore vendor. This could |
| Pitfalls of Outsourcing | | | | cause problems as the offshore vendor might not be |
| Needs constant management | | | | able to reproduce the problem. It could be easily fixed |
| This is the number 1 reason why outsourced projects | | | | if only they could see the machine that it happened on. |
| fail. You need a good manager, a leader who is in | | | | Or maybe the problem isn't properly communicated. |
| constant communication with the offshore vendor. The | | | | The 'Entering the testing phase' page will help you |
| leader needs to understand the requirements, and | | | | have a smoother testing phase. |
| each and every day make sure that the offshore | | | | Company Morale |
| vendor also understands the requirements. The client | | | | Choosing to outsource a project instead of developing |
| should make sure that standards are being met by | | | | in house could affect company morale. Employees |
| viewing code, looking at latest builds, viewing the bug | | | | could feel that their jobs are threatened. If jobs are at |
| tracker, viewing language resource files, etc. A lack of | | | | risk, then the employees should know as soon as |
| constant management generally means the project will | | | | possible to reduce the spread of bad morale. Likewise, |
| get out of control. | | | | if jobs are not threatened, then the employees should |
| Increase in frustration | | | | be told of the change, and that not only are their jobs |
| An increase in frustration in the company could arise | | | | safe, but the employees will be given the chance to do |
| for a number of reasons: | | | | a higher level of work. See 'Introducing Outsourcing to |
| - Time difference: Usually, there is about a half day | | | | your company' for tips. |