Wednesday, November 29, 2006

Why outsource IT projects?

Why outsource IT projects?

IT outsourcing, and software outsourcing in particular, is a most effective way to stretch your budget. If you need to have state-of-the-art IT solutions worked out and innovations implemented with less losses, outsourcing may be the only way out. Cutting your costs and upgrading the quality of the services you offer will allow you to concentrate on your core activities and expand the competitive capacity of your business. This is the main reason why an average software development and/or Web development company resorts to outsourcing today.

What kinds of projects are usually outsourced?

In theory, it's possible to outsource almost any kind of project (e.g., application development, database design, Web development, ecommerce solutions, ecommerce Web site design, etc.). In practice, businesses usually prefer to keep network and database administration in house and to outsource such projects that would allow them to concentrate on their core activities. This is true for outsourcing both to domestic and offshore vendors. A middle-sized software development company or a Web design company might outsource virtually each project, especially the company has established reliable partnership relations with the vendor.

What return of investment can I expect?

I've read that when managers of a software company plan outsourcing, they usually make it their aim to cut down expenditures by 30% or even more. Moreover, I believe that if you count not only person hours required to implement the project but also the deployment and in-house personnel training costs, you'll be able to save about 50% of your expenses by outsourcing your project overseas.

Is there a surefire way to choose a reliable outsource service provider?


I'm afraid there isn't. However, there are ways to avoid costly blunders. Choosing an OSP that best fits your needs is a hard and responsible job. A comprehensive Request for Proposal will help you create competition between the potential vendors and, consequently, cut your costs. Contact at least one client of each potential vendor for the information on the quality and promptness of the service rendered. It's also a good idea to create an image of a perfect vendor, and then pass on to the selection process. Compare the information on your potential outsource service providers against the image that you have created and leave out the ones that don't seem to be your perfect OSP. Making a final comparison, take into consideration a combination of factors, not just the one that seems to be the most attractive.

Are internationally certified vendors more reliable?

International technical certification such as SEI-CMM Level 3, 4, or 5 and ISO-9001 usually guarantees that you'll have no problems with the specification, plans, quality assurance, and with the process in general. On the downside, an internationally certified OSP will charge you more, so if your top priority is return on investment, you might want to look for a vendor that will offer you the same quality for a lower price.

Can you tell me something specific about outsourcing software development?

Choosing a provider to outsource a project to, you may ask for code samples and have them reviewed by specialists. After you've made your choice, discuss coding standards with the vendor, determine the appropriate requirements, and include them in the text of the agreement. Building mock-ups of the system and/or UI prototypes at the specification phase is one of the most important features of efficient software development. Any OSP is supposed to have a routine procedure of using a bug tracking system to manage bug reports. If they do, you should have access to the bug reports related to your project. If they don't, you might consider creating your own one and providing the vendor with access to the appropriate bug reports.

Does outsourcing mean losing control over the entire project?

It's true that an outsource service provider (OSP) is supposed to take control - at least in part - over the project, and their key personnel should manage all of the daily affairs. Don't' get scared: after all, you're interested in the final result, so let your vendor achieve it any old way they want. The tools that will help you gain your ends in this situation are the product specification, project plan, milestones, and deadlines.

How strict or flexible should the provisions of a contract be?

A contract can provide for some penalties associated with your vendor's inability to fulfill the contractual obligations. However, these provisions are a double-edged weapon: when OSPs face excessively strict terms and severe penalties, they tend to secure themselves by increasing the profit they get out of the project. Therefore, make the provisions of the contract flexible. Reach a compromise with your OSP and include a few major milestones and deadlines in the contract, while the entire schedule can become a separate agreement appended to the contract.

How important are the specification, project plan, and other documents?

Very important. Even the way the documents are drawn up say a lot to any specialist because they're a mirror of the vendor's in-house process. The clarity and accuracy of style reflect the vendor's culture and experience. The specification must be easy to understand, especially the description of the principle of operation. The project plan should include a number of milestones and deadlines. If it's software development that you're outsourcing, your agreement with the vendor must provide for the delivery of the code after each milestone is achieved. This way you will additionally secure the project: if your vendor doesn't meet the next deadline, you can hand the project over to another OSP.

Is the iterative approach really efficient?

Basically, yes. Unlike the traditional highly structured waterfall approach with a fixed plan-do-test sequence of project phases, the iterative approach typically has the form of a spiral and allows the project phases to overlap. Applying the iterative approach, you can divide a complex project into manageable components and achieve the expected results by working smart, not hard. While one iteration is underway, the next one can be started. Requirements changes are easier to take into account and adjust, risks are usually acknowledged in an earlier phase and thus mitigated, system components can be reused, and integration is facilitated. Whether you apply the waterfall or iterative approach, you can have a project delivered and paid for in parts, and this is one of the best ways to minimize the risk for you and your vendor.
Are there any intellectual property problems that I have to know about?

A vendors and a customer usually don't pay each other for their intellectual property rights. However, if a third party's intellectual property is involved in the project implementation, you should take care of proper agreements and licensing. Even more important is the answer to the question who will own the rights to the product that is going to be created, as well as the technologies and solutions that might be necessary to develop in the course of work. I'm afraid that if you wish to be a sole proprietor of everything, the OSP will make you pay for it this way or the other, so try to be reasonable and find a compromise.

Vendors place the highest emphasis on the most advantageous projects. Is there a way not to become a neglected customer?

Insist on appending to the contract a project implementation schedule that includes as many milestones and deadlines as you find it necessary; stipulate for tough financial sanctions in case the vendor fails to meet any of the deadlines; agree on some incentive payments for completing the project on schedule; last but not least, try to build partnership relations with the vendor whose work you are satisfied with and whose high-value customer you want to become.

Is it necessary to visit a vendor during the selection phase and later on, when the project is being undertaken?

If your project is a long-term and expensive one, visiting your potential vendor before you make the final choice is a good idea. In other cases, it can be a waste of time and money. To avoid traveling offshore, you might look for an overseas OSP that has the head office in the country. Such businesses are a lot better to deal with from the point of view of liability, but their services usually cost more, too. If you want to visit your vendor every now and then to make sure that your project is not neglected, you may be required to schedule such visits and notify the vendor about them in advance. Some OSPs might even demand additional payment for the expenses they incur due to such visits. You and your OSP should understand each other's concerns: you can't let your project develop as it might, while your OSP shouldn't be distracted from work and kept nervous.

Are there any communication problems that I need to know up front?

Even communication with your neighbor can be difficult when you don't focus your attention on it. If you believe that nothing can substitute face-to-face discussions, you might want to look for an offshore OSP that has the head office in the country. Otherwise, telephone conversations, e-mail, and instant messaging will make it possible to solve almost any issue. Sometimes telephone conversations aren't useful because of the language and psychological barriers, so the best means of communication are e-mail and instant messaging. Language and/or cultural problems might contribute to all kinds of mix-up, so ask for the resumes of those employees who are going to be responsible for each part/stage of the project to make sure they are fluent in English.

Who should I contact while the project is being implemented?

You may talk the most general issues over with the top management of the OSP, while everything else has to be discussed with the key personnel such as managers and team leaders. If you try to communicate with the rank and file, it can lead to commotion or even chaos.

Is the difference in time zones a big problem?

The time zones problem arises when your developers are continents and time zones removed. Just imagine: you arrive at the office at the same time when your vendor's employees are going to leave. The best way around this problem is setting a mutually acceptable time for online meetings. Time zone difference may be an advantage if you are interested in "round-the-clock" programming. This means working with the overseas team in shifts, so that programming goes on 24 hours a day.

What if something goes wrong?

Something that most often goes wrong is the schedule. Sometimes rescheduling may help, but you have to realize that the project is at risk anyway. If a milestone is delivered late, and if you're not satisfied with the communication or the quality of work, I believe it's time to change your vendor.
What are the forecasts for outsourcing?

Data from IDC and Meta Group shows that 60% of midsize companies outsource their HR functions, including related IT systems. The Forrester Research consulting firm has predicted that, in the next 15 years, 3.3 million U.S. service industry jobs and $136 billion in wages will move offshore to countries such as India, Russia, China, and the Philippines. Don't miss the boat