Outsourcing of software development can bring great cost savings to your organisation, but it is not without challenges. For startups, SMEs, or third sector organisations alike, the problems found in an outsourcing development project can outweigh the benefits if not managed correctly. It may seem simple to outsource this database development project or that website design to a cheap offshore team, but how do you know you'll get what you want?
What are some of the issues with outsourced development?
Whether offshore in some remote office, or a freelancer just down the road, whenever you engage a team to work on your software project you face several potential pitfalls.
Firstly, if you're handing part of your project off to a third party, you have to be 100% sure they share your end vision and strategy for the project, or you might end up going in two different directions. Although this is exacerbated by larger projects, even a smaller task can fall foul of this problem. For example, suppose you employed an external web designer to build you a contact form, but you forgot to mention the whole site was aimed at the visually impaired? Without this information, how likely is success? You need an external partner to have a holistic view and share your strategies for success, even on smaller projects!
Secondly, even with this understanding of the bigger picture, you should also have a rigorous requirement definition that will ensure a road-map of how your work should unfold otherwise things can shake loose along the way. A small example of this includes corporate or government systems that, due to their locked down nature, require all websites to work in Internet Explorer 6... an understanding of system interfaces has to be available somewhere. If you haven't covered your systems requirements and your project's definitions, you can't hope your outsourced team will intuit this.
Thirdly, you should ensure constant, regular, easy communication. Face to face (even if over video conferencing) is essential for forming trusting and productive relationships. And this should take place at least once a day. Have you planned this time into your project?
Finally, some problems that come only with the integrations of teams from different nations -- IP and security standards and protections can be incredibly different across borders. Don't assume that your code will be safe just because you have a signed contract. How do you know that contract law is protected in that region? How do you know there isn't a loophole that would allow them to take your idea and run off with it?
These are just a sample of issues, but we're sure you're getting the drift.
Recognising a weakness can be a strength
It's important to remember that you don't have to be all things to all people. If management of outsourced and offshored development teams is not your skillset then let it be someone else’s problem. Don’t try to learn on the job!
If you don't have the time or previous experience to run an outsourced project to this extent -- and cut off these issues before they start -- then you need to look to put in place an organisation that has experience managing outsourced and offshore development projects. You should find someone that can be a 3rd party advocate and ensure that your vision and requirements are clearly documented, communicated and managed. They should partner with you to ensure you realise all the benefits of outsourcing or offshoring your development work, and help you navigate the pitfalls.
Centrocol can supply this expertise, and put the world in the palm of your hand.