Since I’ve worked with an outsourcing vendor in the past, I’m often asked questions by those who are interested in learning more about outsourcing product development. One of the questions that often comes up is how you can ensure that your effort to outsource product development will be successful. The answer to this is in understanding your goals and the capabilities of the partner to help you meet those goals.
As with any partnership, compatibility is very important. The first step to ensure compatibility is to understand what your short and long term goals are. Is this simply augmenting resources for a short period of time to get a product out the door? Or is this a multi-year relationship with a goal to reduce operating costs? Both? It’s important for you to understand what your goals are, as working with a partner who has conflicting goals is doomed to be a miserable experience.
Once there are agreed upon goals, the next thing you’ll need to do is select the development partner who will help you meet those goals. You want to make sure that the partner is a fit, which can be done by putting together a list of criteria that will help you assess this. By having this criteria, you’ll at least ensure you’re doing your due diligence to find out as much information as possible for the most compatible partner in all aspects of your business.
Here’s a list of selection criteria I’ve used in the past (in no particular order):
- Communication: The partner development team needs to be able to communicate clearly and articulately, through both written and verbal means. Project and other meetings should be during normal work hours (ideally), and you need to have an understanding of the method of communication (teleconference, video conferencing, etc.), frequency, and proficiency in the native language of the development team (how easy will it be to communicate with the core development team?).
- Onshore Alignment: Are they willing to spend time onshore with the team to understand the project and our development? This is key in reducing miscommunication early in the project.
- Infrastructure: The infrastructure of the partner company has to be mature enough and stable to support your development efforts (what is this company’s experience in this area of setup?). This includes internet connectivity, VPN, and telephony services.
- Cultural Differences: There should be some type of awareness of this by the partner company. What are the cultural differences? Is it compatible with your organization or will it negatively impact your projects?
- Software Development Process: This is the maturity level of the software development process (including testing). Is it documented? Is it repeatable? How will development and testing be transitioned back within the onshore team (if needed)? Can they align with your process?
- Individual Contributor Knowledge & Skill Level: Your partner must have the right level of knowledge and experience for the individual contributors. Can you interview their people to make this assessment (Development, QA, and Program Management)? Are they willing to pass a technical challenge to assess this or take on a smaller trial project?
- Staffing Time: What is average time to staff a team when it is needed? You need to know the number of contributors available at any time to be “called up.”
- Performance Issues: How are performance issues handled? Can you turn away individuals who are not performing up to expectations?
- Management of Engagement: How is management of the project (and overall engagement) structured? Is it inline with what your group needs?
- Project Monitoring and Controlling: How will you have “checks and balances” of the offshore Project Manager? What processes are in place for guiding on time/on budget delivery?
- Employee Turnover and Motivation: What is the level of employee turnover (any guarantees against employee loss)? You will probably want to build knowledge within the offshore team, and if team members are constantly changing assignments this will not happen. How are these individuals motivated? Is it inline with your group?
- IP protection: Security for your work. How can you be assured that your development efforts will be secured? What kind of infrastructure security does the partner have (keycard access to only necessary employees, physical separation from other operations, 24 hour security guards)? Security process?
- Business Measurement: What measurement and metrics will be used to ensure alignment with your goals? What is the number and percentage of successful projects on time and budget? How much money is typically saved?
- Resource Costs: What is the cost of resources based on skill and experience level. Is there a rate card?
- Similar Projects Success: What other companies has this vendor delivered for? Are the projects similar in scope and complexity?
- General Engagement/Project Size: How big is the usual engagement? What is the general project size?
By understanding your goals and assessing how a vendor can help you meet those goals, you’ll give yourself the best chance of having a successful partnership in outsourcing your product development.