Our team does extensive requirements analysis and qualifies the project for offshore / on-site development keeping the customers' objectives in perspective, and their gain / risk analysis.  Our interface process ensures seamless acquisition of knowledge, documentation and delivery of completed tasks.  For each task an outsourcing specification is completed, detailing the current function, requirements of the new function (including screen formats), along with database or security considerations, test strategies, hand back criteria, and any other considerations.  This specification has to be signed off by both the sending manager and the receiving manager before the work is accepted.  Projects are defined into smaller tasks for accurate capture and execution of customer requirement.  A project plan is developed for each work effort to enable it to be tracked, and any deviations from agreed estimates flagged so that corrective action can be taken.  A project diary is also maintained to record factors that has either positively or adversely affected the project work.  Regular training and mentoring process is executed to maintain and ensure expertise.  Quality work is assured by conducting code walkthroughs of every segment changed.