During my 5 years career in the outsourcing industry, I was faced with several challenges as outsourcing provider. I thought to create a list of the 50 tips for those seeking to outsource software development and web development to offshore/nearshore teams to help them streamline their outsourcing strategy. I collected the tips through email discussions, from discussions on various forums and my personal experience. I like to share it with our clients to ensure that we both have the same understanding of the outsourcing process. My next plan is to launch the 100 tips list :-)
- 1. All activities must be documented in the project schedule and take no longer than 40 hours. Any longer and the activity should be broken down further.
- 2. Before choosing your partner, ask them to dedicate an on-site resource responsible to communicate development activities to their team and for the quality of the development (one who can take and execute decisions on their scope of the work)
- 3. Build a strong relationship between onsite and offshore by having daily meetings to resolve issues, and discuss progress.
- 4. Check the credentials of the offshore team and don’t always choose the cheapest price/ratio provider.
- 5. Create a project portal where the offshore team can post their questions/help.
- 6. Create a Statement of Work (SOW) that documents the scope, deliverables, and timeline for the Vendor.
- 7. Do a kickoff with them and have a trip to their headquarters with the off-shore team that will work on your project.
- 8. Do a ramp up with them in house and train them on the tools/process/techniques you will be using during the time of the project.
- 9. Do not take on a "big bang" project. Start with something where you can handle a first time failure and learning curve, not with a big bang project.
- 10. Do the designs and system architecture with experts and professionals from your own country.
- 11. Don’t give your projects to desperate vendors as most of the time they will oversell and delay your project deliverable.
- 12. Don’t use online platforms such as eLance to select your vendor. Cheap price comes with cheap quality.
- 13. Don’t use top expertise from oversee as you will be overcome by cultural differences.
- 14. Ensure that your expectations, targets and objectives are met quantitatively and qualitatively in time before you take on something bigger.
- 15. Ensure that your superiors understand what outsourcing means, the advantages & risks. Create a strategy to minimize the risks.
- 16. Establish a common portal that both onsite and offshore can use as a knowledge repository, to track issues, and report status.
- 17. Evaluate several providers before you make a choice.
- 18. Evaluate your provider performance for the first few releases.
- 19. Find providers that sell exactly your skills and don’t shop for the “I can do anything” provider.
- 20. Have a clear documented Production Support handover procedure.
- 21. Have a meeting with your offshore provider and make sure that they understand your expectations and identified correctly your needs.
- 22. Have a weekly project meeting looking at what was delivered last or not delivered last with a clear action plan to get back on track and what will be delivered the week after.
- 23. Have an experienced technical project manager on your location. Ensure that the Work Intake and Software Development Life Cycle processes are documented with onsite and offshore roles.
- 24. Have dedicated onsite project management and technical coordinator resources who will co-ordinate work to offshore and clarify any questions with the onsite stakeholders
- 25. Have holistic framework that fosters communications and attention to details. On or off shore.
- 26. Have long term plan to sustain the project financially in case you need an extra time.
- 27. Have regular communication network with main and offshore office.
- 28. Have regular communication to refine the Requirements Specification to deliver the technical solution if they change in time. Ensure that you and you provider understand the costs of time changes affected by modifications of the requirements specifications.
- 29. Have the offshore team complete an estimate for each component.
- 30. Have the offshore team present status, progress, and issues to the stakeholders.
- 31. Hold a kickoff meeting and short initial training. Set expectations right. Set metrics goals like productivity, quality factor etc.
- 32. If there is any cultural difference, need to take some steps to overcome and reduce that.
- 33. If you can make as if your customer, your onshore team and offshore team work as if everyone were working in the same room, then you can have great success.
- 34. If you have the necessary hardware tools, try remote working to see if that will work for you as you will have the development directly onsite.
- 35. If you need to connect with the offshore team during the business hours go for a nearshore provider, if you need around the clock development cycles go to offshore provider that can cover the second part of your working day.
- 36. If you plan to use body shopping make sure you delegate a manager on site that will supervise/check/plan the tasks of the offshore team.
- 37. Learn how the differences in culture affect communication and working methods that on both sides know what to expect and how to get your expectations met. No amount of subject matter expertise will overcome that.
- 38. Make payments in several steps and pay the last part only after the guarantee period has passed.
- 39. Never outsource core-business activities, it’s like training your next competition for free.
- 40. Offer fixed priced with reward/penalties.
- 41. Offshore fixed price development activities that are self contained and with well defined requirements to avoid interpretation.
- 42. Offshore outsourcing has become considerably easier to manage in the past few years. Standard communication packages such as Skype mean that we can view and speak to our clients at little to no cost. Same day, face to face, communication has significantly reduced the distance ‘worry’.
- 43. Once a month have a project status meeting on deliverables with their off-shore Project Manager Director.
- 44. Setup a QA team with staff both onsite and offshore and make sure the QA team has experience testing in an offshore environment.
- 45. Setup a secure environment to transfer data & product deliverables between you and your provider.
- 46. Share on an intranet the same information, plans, deliverables, test plans, etc...to perform a quality review at anytime of the efficacy toward the objectives you set for them and performance of the team assigned to get it done.
- 47. Test/ Qualify the core team members of the offshore provider who play the role of lead and developer.
- 48. Use a project management platform with timesheet functions to track the activity of the programmers.
- 49. You need a motivated team to deliver the product in time.
- 50. You need very sincere, professional partner in offshore center.