It is critical for any organization that embarks on an outsourcing journey to be aware of the challenges it can encounter when implementing it. Outsourcing agreements can fail because of poor planning or poor execution or even cultural intransigence. Many problems can be solved with awareness, attention, and focus. In fact, by recognizing these issues in advance, clients and service providers are ahead of the game and can drive early - and lasting- success. Let's look at the pain-points that you may encounter during the implementation phase and feasible solutions to overcome them
“Organizations are successful because of good implementation, not good business plans - Guy Kawasaki’’
1. Drafting of Outsourcing Contract & its UnderstandingAt the heart of many outsourcing problems is the inherent conflict of interest in any outsourcing arrangement. The client seeks better service, often at lower costs, than it would get doing the work itself. The vendor, however, wants to make a profit. Even when you try to make the contract which is a win-win for both parties, there can arise a problem of poor mutual understanding of the contract. Why so? Often senior developers, top management, and legal team are involved in the drafting of the contract and initial implementation. However, the on-going operations are undertaken by Mid-level and junior developers. The vendor's team members are new to the transaction, and sometimes bring a view of "this is what we did in my last deal" without fully understanding nuances of the specific contract that has been negotiated. Here’s how you can fix this:
A. Make a Comprehensive Contract - It’s really in everyone’s best interest to have a well-understood, binding, and clear agreement at all times. Legal situations can become very complex, especially in offshoring. It’s important to have a broad and comprehensive binding contract and general sections that can be part of every contract include:
- 1. Services to be performed
- 2. Payment structure and terms
- 3. Invoicing – frequency and details
- 4. Term of agreement
- 5. Intellectual property ownership
- 6. Confidentiality
- 7. Representation and warranties
- 8. Force Majeure
- 9. Changes or termination in agreement
- 10. Dispute resolution
- 11. Other general provisions
B. Structure Service Level Agreement (SLA) as per Your Needs - SLA basically states what services the vendor will furnish, usually in measurable terms. Set metrics/key performance indicators (KPI) in the agreement. The KPIs will be derived from the benefits you intended to achieve from outsourcing and which have already been defined in the planning phase. Establish clear milestones to be achieved. Any vague goals/ KPI’s will be difficult while evaluating vendor performance. “Reducing the number of bugs/ software crashes from x to y” is better than a vague goal such as “Improving software performance”.Mentioning clear goals and KPIs in the agreement will reduce your risk and increase the vendor’s accountability.
C. Setting the Right Compensation Structure - Having the right compensation structure for your vendor can have a significant influence on their performance. In recent decades, a large number of different payment models have been established in the outsourcing market. This can be fixed pricing/ on-demand pricing/ performance-based pricing/ gain sharing. Here’s an illustration taken from a paper titled ‘Remuneration Models in Outsourcing Services’ by Arno Radermacher which was published in the International Journal of Business and Management.
Based on the business practice followed by your organization and by the vendor, choose the appropriate one. Be cautious of risks involved in fixed pricing structure as most estimates in IT outsourcing projects prove to be highly inaccurate. While choosing a performance-based/ gain-sharing structure, reward only when delivered outcome creates incremental business value for the customer, otherwise, you may end up rewarding vendors for work they should be doing anyway.
D. Avoid HEAVY Penalty Clauses in the Contract - You don’t want to be in the business of penalty-charging and collecting. Bad service from an outsourcing vendor, even at a deep discount, is still bad service and can aggravate problems. Fear of penalties can restrict open communication and the vendor team may hide their shortcomings/ failures to you.
E. Involve Everyone - While negotiating and contract drafting, ensure developers who will be responsible for future delivery are also a part of discussions. Also insist the vendor organization ensures that the entire developer team conducts a meeting at the start so there isn’t any misunderstanding of what’s required as per contract.
2. Vendor Management & Evaluation
Vendor Management - As per one study, clients responded that at least 15 percent of their total outsourcing contract value is at stake when it comes to getting vendor management right. Companies start outsourcing with high hope that their vendor will solve all their software problems. But a few weeks or months into the engagement, the engagement’s gone sideways. This often happens because once the work has been outsourced, client leaders do not actively participate in reviewing outsourcing status and its evaluation. Treating vendors the same as you treat your staff is of paramount importance. A continuous check has to be kept on their functioning. Communication is the key to software success. Promote open communication throughout the outsourcing relationship. Frequent status reports and constant communication will help ensure that the developer team is working on the most important tasks. When in doubt, always over-communicate and urge your vendor to do the same. Expect to use weekly conference calls and regular emails.
Payment is an often overlooked form of management and can be strategized to enhance working relationships with vendors. Use payment as an opportunity to demonstrate trust and mutual appreciation, two vital ingredients for a successful working relationship. Ensure that you pay off vendor invoices on time as quickly as possible. Reward vendors when they complete a milestone early or if they help you out in an emergency situation, or pay them a completion bonus. This gesture shows them that you’re serious about quality and professionalism and are willing to reward them for it.
Evaluation - Use various metrics to measure software development success. This can be number of features added/improved in the software, bugs fixed, reworking hours, or the number of fixes required or customer feedback. You can also get code quality and software security evaluated. If you notice the vendor occasionally submitting sub-par work, simply confront them and inform them that the work was of poor quality and needs to be fixed immediately. If it becomes a frequent practice, you need to further investigate the matter. Whether the instructions were clear, whether the developer team is busy with other work, or the vendor is subcontracting your work? Take appropriate action to correct the situation.
To sum up, for outsourcing to remain successful and sustainable, leaders and managers should provide adequate attention to the implementation process and manage it effectively for the best results. Clearly anticipating the above-mentioned challenges and drawing a strategy to overcome them is critical as it will be the main determinant of success or failure of the outsourcing strategy!