There are thousands of companies all around the world doing outsourcing. In India, they are a little more nitpicky about defining exact requirements to the point that you can’t have a conversation with them about anything without them asking, “So, what are the requirements?” I like to chat and feel people out before I talk about exact requirements. But, if you are in the business of drafting contracts, you need to have a very point by point system of identifying requirements.
If you are outsourcing call center services or software, it might be difficult to define quality in contractual terms. Contracts typically act on the behalf of the call centers providing the service. As a buyer, you need to have a contract that protects you too. Here are some contractual issues that I will elaborate upon below.
Payment for outsourcing services involving call centers is normally on an hourly rate with a fixed number hours per month or a fixed rate for a project. Contracts typically specify when payment is to be made and with some basic terms. However, there are some issues with these basic contracts.
Hourly Wages — Contracts with hourly wages ensure that the company will get paid. However, the buyer has no way to know if the number of hours the company claimed to have done really got done. Additionally, there is no way to know which worker completed the hours, or if the work completed was efficient or quality work. With software work, the code might be sloppy or have bugs which is another huge issue. If the buyer doesn’t make sure the contract specifies quality control in some way, shape or form, the seller is solely getting the benefit of the contract.
Fixed Rates — Fixed rate contracts are risky for both parties. If you are an outsourcing company and bug fixing is part of the contract, five months after you finish, you might still be getting requests to fix bugs. Additionally, what if your client wants add-ons to the programming. If you are the buyer, fixed rate compensation protects you from people who pad hours. However, you still do not know if a quality job will be done. As a buyer of programming services, if the programmer doesn’t deliver functional, clean code on time, you are in big trouble. Unfortunately most firms do not do good work, nor is their work on time, nor do they care even slightly. Knowing what you are paying doesn’t guarantee the work will be done on time or protect you from “spaghetti code” which is messy code.
Specifying Workers — it might be difficult to get an outsourcing house to do this, but specifying which worker will complete the job or the parts of the job at least guarantees that someone you like or know will be doing the work regardless of quality or efficiency of work.
Deadlines — If you have a clause in your contract that specifies deadlines for when parts of the project get done, you as a buyer are safer. However, if you are paying a deposit, you could still lose your deposit. I have never seen a programming company deliver on time, so your deposit money is generally money down the drain which will put you in the economic position of a hostage. Think very carefully before giving a deposit to a stranger unless they have very good reviews from reputable sources. If you divide your project into bite sized parts and pay upon completion, you will find out very quickly if the company you hired misses the first deadline — and it will be their problem.
Specifying Particular Workers — A contract could specify which employee is going to do the job. If you like Ramesh and feel he does good work, you could specify that Ramesh will complete the project singlehandedly. Ramesh would have to have an investment in the contract because in India people quit their jobs every four months on schedule usually for frivolous reasons. The boss of the outsourcing company will not be comfortable with this because he knows his turnover is unpredictable, plus other clients might need Ramesh since Ramesh is a star employee. You might have to pay extra, but it might be worth the protection. Playing musical chairs with employees is something Indians are used to, but is suicide in American business. You need someone good who won’t quit, so if you can negotiate that into the contract, you will be a lot better off as a buyer.
Emergencies — Some companies have clauses in their contracts about what happens if there is a natural disaster, war or other uncontrollable circumstance. Holding yourself not liable in such a situation is reasonable.
Penalty Contracts — If you can get the outsourcing company to agree to pay a penalty for finishing late, you have more leverage to get them to finish your project on time which in outsourcing is almost unheard of at least for the smaller players. No outsourcing company will agree to such a term without being paid a lot more. But, it might be worth it to you otherwise you will get hung up to dry for sure.
Quality of Code Contracts — If you are the buyer of programming services, you need to be very sensitive to the quality of code, especially if you are dealing with Indian companies. You need to first of all have an expert who you can hire in America to assess the cleanliness of the code. Ask your expert how you can write specifications in the contract that will protect you from the infamous spaghetti code which is a nightmare that will haunt you as long as you own the code which could be as long as a decade. If you put restrictions on the quantity of lines of code used, that might be a primitive way to safeguard yourself. Additionally, if you give a test project to see how efficiently they write code, that will give you an indication how good the individual is who did the test project who might not be the same guy who does the real project. Tricky— hmmm.
Another way to ensure concise code is to stipulate that if your expert can write any part of the code in 25% or less lines and make it work correctly, that the vendor is penalized. This is easy to enforce if you can get your expert off his rear end to actually do the work at $150 per hour instead of the $18 per hour you’re paying for an average guy in India.
CALL CENTER CONTRACTS
Call Center Result Oriented Contracts — Most call centers do not want results based contracts otherwise their income very unreliable. It makes more sense to pay a base rate and then extra if sales quotas are met. It also makes sense to quickly fire a company who doesn’t get you enough sales. I recommend comparing about twenty companies and see which one gets you more sales in the long run. Keep in mind that if Company #1 has Filipe you might get good results until Filipe quits and Scott takes over. So, make sure each company puts at least three employees on your job so you can get a sense of the average output that the company gives rather than how things are when you get their star employee.
Call Center Monthly Contracts — It is risky for a new client to just trust your company with a one year contract, especially if they have never visited your office. If the client is in Manchester, NH and you are in Manila, Philippines, it might be hard for them to come and visit although I recommend that they do. Many call centers try to get people to invest in long contracts when they are just starting out. It makes sense to give new clients the right to have smaller contracts with easy terms and not too many minimums so you can at least get them on board. Once they like your service, then you can be a little more demanding. Additionally, explain your countries employment laws, minimum wages, minimum hours per week or month so that your American client doesn’t act surprised when he/she finds out at the last minute.
IF YOU ARE THE VENDOR
If you are an outsourcing company, it makes sense to have contracts that get you paid by the hour. That way you are not reliable for quality, timeliness or anything else. You might get fired, but you will still get paid if the quality of your work is horrible. Make sure you get paid a lot more if the client has unique specifications. However, I would not necessarily say no to unusual requests. The reason is that other companies will say no, so this is an easy way to get a client who will be loyal to you assuming you don’t screw up too badly. In general, to attract new clients, I would be flexible in your contracts so you can attract a higher percentage of your leads to try you out.
IF YOU ARE THE BUYER
As a buyer, you need a contract that protects you from:
(a) Poor Workmanship (sloppy coding, bugs, or general bad service)
(b) Goal Achievement — in the call center work this means retaining clients & making sales.
(c) Missed Deadlines
(d) Disappearing Staff Members
(e) Inefficient Hourly Based Work (or hour padding which amounts ot the same problem)
A contract that doesn’t incorporate quality standards is a contract that makes sure you pay without guaranteeing value. If you can get to know the company and work with them for a few months before signing a bigger contract, that would make your situation somewhat safer. No contract will protect you 100% and few vendors will sign a contract that protects anyone except themselves. So, at least try to have contractual control over being able to choose your workforce, have control over deadlines, have an incentive plan which motivates the vendor, and have some stipulations for quality. If you are signing a big contract, you should consult an Attorney and really think deeply about what the issues are. If you are not experienced, you will overlook some very serious issues — so be careful.