1. *Deceit* We can promise the customer whatever we want, knowing we
have a way to avoid delivering. Perhaps we have better lawyers, or we
can fold the company and give them no recourse.
I ask for references from other companies that the outsourcing company has worked with on similar projects, I speak to the people in the previous client companies and verify the facts. I find customers who are not happy with that which was delivered, for most companies this is not too hard, and talk to them. I weigh the pros and cons, identify the risks that I might face and I go to the next company who have a tender for this project and start again. Only once I have evaluated all the companies I will make a decision, based on comparing all the companies I have spoken to.
2. *Specification* We can try to lock down /exactly/ what is promised
and what is not to a degree that any ambiguity is not overly expensive.
The concept of "overly expensive" is variable depending on the amount
of buffer we've added to our estimates and the amount of profit margin
we've built into our rate structure.
As part of pre-sales, in my role as PO, I go to the outsourcing company and lead a workshop which cover the business requirements, discuss use cases and create the initial user stories. The advantage with SCRUM is that user stories encompass the requirements and transform requirements into goals and milestones. The ambiguity that may have been part of the initial specifications or user stories can be cleared up by me during the Sprint Planning.