Do not negotiate on price! You may well be successful in dealing down the price, but ultimately it will cost you. Outsourcing agencies have their margins just as you do. There is always a competitor cheaper, more willing to cut price to win your initial business. Driving down the price may mean you get less experienced or skilled developers or those that are unwilling to go the extra steps during crunch time. Not negotiating price also gives you some leverage with other options.
RESUMES, RESUMES, RESUMES
Request to see multiple resumes for each developer position you need. Unless the first resume you see is the perfect developer for you to interview, request more. If an agency is unwilling or unable to provide 3 resumes then they may not have a deep pool of talent to draw from, or are simply not willing to provide a level of service to make you completely comfortable with your developer choice.
Demand to interview at least 2 developers for each position you need to fill. As with resumes, do not feel obligated to move forward with any candidate. Not satisfied with the interview? Then request more developers! During the interview ask developers to answer as many technical and process questions as you like and give them a short test too. Don’t ask for hours of development work however! If you are a marketing person, you would not want to write a marketing plan for free as part of your interview process.
FREE TESTING PERIOD
OK, maybe it is not free, but you should ask “If I am not satisfied with the work the developer did in the first two or three days, what happens”? The answer should be that you are given a new developer and are not billed for that period. Anything less is unacceptable and a reputable, capable outsourcing agency would have no problem doing this for you.
Never, ever pay a fee of any kind up front! Billing should be no more often than monthly and only after work is done. Of course, pay your invoice on time to help build the relationship.
TRUST BUT VERIFY
In any circumstances, and especially if you are being billed on an hourly basis, demand a time tracker of some sort is used on the developer computer. This is absolutely mandatory if the developer is not in the agency office, but works at home. You want a transparent relationship, as should the agency. If the agency does not provide this, it is best to move on to another agency. It is an easy process for the agency and something a well-managed agency would be doing in all circumstances.