Companies can consider to outsource projects because of different reasons:
- To reduce cost
- To reduce time to market
- To work on non-core or high value projects
- To work on operational / repetitive projects
- To work on non-volatile projects
I have managed outsourced projects where we met the deadline but did not save the money we were supposed to save and also I have managed outsourced projects where we saved the money but did not deliver what the users required.
If you need to outsource a project team review the following 10 tips to successfully manage outsource projects:
- Qualify the vendor, does the vendor have domain knowledge (technical, design, user experience, data, etc)?, is it financially viable?, for how long has been in business?, can you speak with some of their past or current clients?, are there contractual agreements in place to keep control over the intellectual property you give it?.
- Train the outsourcing team, they need to know how the product works, from both internal and customers, they need to know what problems the customers want to solve and how the product solve these.
- Assign one of your best project manager as your internal project manager. This person will coordinate deliverables and handoff around the organisation.
- Plan for each project to take longer and cost more, especially at the beginning of an outsourcing relationship. Consider to increase time by 25% for the first project, you can always review forecast vs. actual and reconcile.
- Develop a trusting relationship with the project manager at the outsource company to help you understand the reality of what is happening in the project.
- Try to accommodate your team shifts to the outsourcer working hours, if due to timezone difference this is impossible, try to make out the most available hours for both teams, so that people can make time to talk to each other.
- Select outsource projects with non volatile requirements. If your requirements change frequently and you need to check and iterate the evolving product with the end-user, development across the world makes that much harder (not impossible, just harder).
- Document the requirements / product backlog (using a wiki as best option) and have this always accessible and visible for the team. If your native technical staff can’t “sometimes” read your mind about what you require, how can geographically distant and non native English speakers understand your requirements?
- Insist that the outsourcing company keep the same team for your project’s duration.
- Make sure you have ALL the tools, information systems and processes in place to support the outsourced teams. To start they will need access to the source code, database, platform applications, builds, assets etc.
These 10 tips will help you to successfully manage outsource projects and to deliver more value to your users and company.