For quality assurance professionals accustomed to local project execution, there are likely to be misconceptions about outsourcing. For example, people often assume that outsourcing a project will cost less than a local approach. In order to make an informed decision, the outsourcing processes need to be fully understood. An outsourced project typically follows the following steps, from the perspective of the local organization:
- Define the work
- Develop a plan
- Select a vendor
- Contract with the vendor
- Monitor the development
- Acceptance testing
- Transition project into organization
Defining the work can be particularly difficult. The local company and overseas contractor have somewhat conflicting objectives with respect to requirements and scope. The result of defining the work will be a Statement of Work. This Statement of Work should define all the tasks required of the vendor and the products to be delivered. Perhaps the overseas contractor is developing a black box automated testing system. In this case, key questions in defining the work might be:
- What does the testing system do and how?
- Are there requirements for supporting infrastructure?
- Is supporting documentation required?
- Should an initial or example test suite be setup in the system?
- Are there any supporting services or warranty for after system delivery?
A Statement of Work is necessary for contractors to develop bids, so this document serves both to get the local team thinking in the same manner, and inform potential contractors of the work involved in the contract.
After the “what” question comes the “how”:
- Should a certain project management approach be used?
- How should reporting be handled?
- Does a specific underlying technology need to be used?
In thinking about the “how” questions, the Statement of Work will evolve into a holistic plan. Broad categories for “how” discussion include project monitoring, risk management, and stakeholder management. Locally, substantial project management and vendor management effort may be needed to ensure that the project is going as planned - this effort should be estimated as a part of the planning process.
Even though a project isn’t being developed internally, it’s still often necessary to estimate the development effort for the project. How much development effort is going to be required for a project like this? Contractors that overestimate might be overpriced, while underestimates should raise suspicion and increase the risk of the project. For more information on estimation, consider reading my article on estimating quality assurance project schedules
With all this work complete, we can now start vendor selection. Some considerations in vendor selection include:
- Experience references
- Previous work cost
- Geographic location
- Business viability
- Will this business be around next year?
- Compatibility of organizational culture
- Complementary skill sets
- Possibilities for long-term partnerships
Upon vendor selection, a formal contract should be drafted. Legal obligations can become the focus here, but perhaps more important is just clearly communicating mutual expectations for the arrangement. The context for the project may change over time - as is natural for projects. Renegotiating the contract, as needed, throughout the project ensures everyone is fully up to date on expectations. Topics in the contract might include:
- Statement of work
- Terms and conditions
- Termination provision
- Intellectual property
- Penalty and incentives
If the initial “defining” and “planning” stages of the project were executed well, then the monitoring, acceptance testing, and project integration will likely proceed smoothly. The idea behind these last stages is relatively straightforward. Monitoring will include schedule tracking, budget tracking, quality tracking, and risk tracking. During acceptance testing, the deliverables from the contractor will be tested to confirm they meet formal and informal requirements. Finally, the project is integrated into the local organization. Of particular note here are information security considerations, migration services, and support arrangements.
With the entire process now thoroughly understood, it’s possible to evaluate outsourcing prospects against in-house execution. Considerations include:
- Time Required and Schedule
- Risk Profile of Project
- Legal Compliance
- Required Staffing Levels
- Expertise Needed
- Complexity of the Product/Project
- Technologies Involved
- Team Morale Implication
- Relation to Previous Work