JavaMaking an Outsourced Project a Success

Making an Outsourced Project a Success

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Introduction

Outsourcing has had a long history. Since the days of the first IBM mainframes, organizations have found it more time & cost effective to hire other specialist companies to define, build & operate solutions for them. This provides both organizations significant benefits – outsourcing customers can avoid making significant investments to build internal teams & infrastructures to handle such projects and outsourcing providers build deep skills from doing similar projects in multiple organizations. In many cases outsourcing providers just took over existing data centers or moved them to another nearby location. In the current environment, outsourcing providers and their clients are looking at moving these operations to anywhere in the globe that has the right combination of skills and costs. Right now places like India, the Philippines, Russia and so on are very popular. However, one must realize that as new lower cost providers appear on the horizon they too will need to adjust and blend their offerings to provide the best mix of cost, quality and efficiency.

Companies have a delicate balancing act to do – how to raise or maintain profitability while controlling costs in a continually changing environment. The impact of new competitors, stock market demands, legal & tax demands can easily imbalance this mix. At the same time too much cost control can negatively impact profitability as well as prevent strategic investments that impact future profitability or even business viability. Outsourcing can be a way to reduce costs, improve operational efficiency or to quickly reach strategic objectives when the organization does not have the right mix of skills and resources available internally. In light of this one should carefully consider why, when and how it makes sense to outsource projects. In this article we are primarily considering application development & maintenance outsourcing even though outsourcing covers a very wide variety of services from call centers, medical transcriptions, financial auditing, IT data center operations and so on.

Tips for Successful Outsourcing

  1. Have the right partners:The outsourcing client and vendor need to be sure that they can work with each other. Conflicting cultures, different business goals, etc can cause problems. For example, if one organization is very detail oriented in managing projects while the other is less so, there is a possibility of clashes. The detail oriented partner may be less than happy with the level of information received from the other partner while the less detail oriented partner will be upset with the level of detail demanded by the other partner. Another concern can be differences in size and business goals. A small or mid-size client company that outsources work to a very large outsourcer may have a justifiable concern as to how important their projects are to the big vendor. A very large client may have concerns about stability and competence with a small and inexperienced outsourcer. However, it must be remembered that proper planning, good organization and relationships between the two organizations has much more impact on the success of the project.
  2. Outsource the right projects:Successfully outsourcing projects requires considerable expertise and effort especially when the client and vendor are in different countries. This sort of relationship has inbuilt delays and information loss due to cultural differences, possible time differences, differences in business objectives and the implicit tensions in a supplier-vendor relationship. Time critical projects subject to considerable scope change are typically not good candidates for outsourcing. On the other side stable, well understood, maintenance oriented projects would be good candidates for outsourcing. If the outsourcing customer sees the project as providing a core business advantage, it may make more sense to do it in-house as the organization gets the benefits of retaining skills and control.
  3. Establish the right expectations:Unrealistic expectations have soured more than one relationship. Clients of outsourcing need to be very clear and make it very clear what they expect. Vendors need to be equally clear on what they can provide. Typical ways of doing this are defining very clear Service Level Agreements (SLAs) early on. These could cover items such as response times, milestones, quality goals, privacy policies, data retention policies, support needs, reporting requirements and so on. In some cases violation of these SLAs is grounds for terminating the contract or stopping certain payments. However, one should make sure that these agreements are reasonable and have scope for exceptions. There should be a process for handling violations and other issues that takes us to the next item – the organizational structure.
  4. Have the right organizational structure:The two critical players in outsourcing are the vendor and the client. It is essential that they establish the proper relationship and define a good organizational structure for the relationship before starting the outsourcing relationship. Things like how are issues handled and escalated, who can alter SLAs, who is responsible for what in either organization, what sort of reports & statistics are to be provided and so on. Both organizations need to define contact persons to represent them on day-to-day basis as well as when problems are encountered and need to be negotiated.
  5. Have the right people:This can be one of the major factors in why outsourcing either fails or succeeds. The big element here is the skills of all people involved. This is especially important for the people who will represent their organizations to each other. For example the vendor may have a service delivery or project manager who deals with the client’s outsourcing manager or business unit representative. In many cases they are in different locations. They need to keep in touch on a regular basis. Both sides need similar skills – how to communicate & collect information, when to escalate issues, getting buy in from their respective teams, building strong relationships with each other and so on. Poor skills on either side in any of these areas can derail the project due to miscommunication and personal clashes.
  6. Have the right plan & schedule:This is where one gets into the nitty-gritty of the project. It is important to put together a realistic plan and schedule. Important goals and milestones need to be clearly defined and agreed upon. In many cases payments may be structured on meeting these targets. Hence, it is very important to clearly define when a milestone has been met both quantitatively and qualitatively. The last thing one wants on a project is a dispute between both parties on whether a specified milestone has been met. Each milestone should ideally represent some value delivered and require a formal signoff so as to reduce the chance of later disputes. Outsourcing clients should also clearly define their major milestones as “value delivered” milestones. These are points where the relationship could be terminated but the project deliverables so far are valuable enough to use by themselves or can be used internally or by another outsourcing provider to complete the project. The can help reduce risk and provide an effective means of control. In the worst case of a dispute which results in the project being terminated – the client can extract some value from the project and the outsourcing provider can collect some payment for the value delivered so far. This can also make it easier to terminate the relationship since both parties will walk away with something.
  7. Learn from each project: Both outsourcing clients and providers should collect information and track how the project went. Ideally everyone involved starting from the project team would collect this information to help them better identify potential risks as well as ways to improve. Many valuable lessons will be learned that can help produce more success in the future. To speed up and improve the learning experience it makes sense to break any outsourcing project in as many smaller subprojects as possible and do a review after each one. Each subproject end could in fact correspond to one of the major “value delivered” milestones mentioned earlier. Partners that are willing to learn and improve are more likely to have a long-term and fruitful relationship.

Conclusion

Outsourcing is something that is going to stay and become even more popular. The modern economy has forced companies to continually look for ways to get competitive advantage in lower costs or better execution as they face competitors with different competitive advantages throughout the globe. This globalization has also made it easier for organizations to utilize the best combination of skills and lower costs from anywhere in the globe. At the same time it has added some element of risk as outsourcing clients have less control over the results while outsourcing providers have less direct relationships with their clients. Good preparation, planning and execution can help make outsourcing projects a success.

Copyright © 2002 Sanjay Murthi

Author Information:

Sanjay Murthi is President of SMGlobal Inc. He has over fourteen years of experience in the software industry in a variety of roles and responsibilities. He helps companies improve their software projects success and find ways to achieve results at less cost with greater efficiency and quality. He can be contacted at smurthi@smglobal.com.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories