It’s a question that many developers face during the early stages of creating an app – should we do all the work in house, or outsource some of it to others with more experience? The cost benefits of outsourcing are hard to say no to, and the time it can free up for you and your team are definitely appealing. But is it better to keep the work (and therefore the knowledge of all of the ins and outs of the app) closer to home? It’s not an easy question, and frankly there is no clear answer. You’ll want to take a look at how complex your project, and consider the skill and experience (as well as available time) of you and your team. Also, don’t forget to look ahead and consider if outsourcing now will result in more work (or more outsourcing) down the line.
Knowledge and experience
The first thing you’ll want to consider is whether or not you and your team even have the ability to do the work that needs to be done. Seems silly, I know, but I’ve known many folks who’ve spent hours upon hours scouring forums and reading books in an attempt to teach themselves a new programming language. While this approach isn’t out of the question, you should consider how much time you’ll invest in learning compared to what your end result will be. If self-teaching a new programming language will take 2 to 3 times as long to finish the app yourself (and do it half as well) than it would take if you hired someone already familiar with the language, outsourcing is something you need to seriously consider. Because no matter how quick a learner you are or how good you think you’ll be, there is always going to be someone out there more qualified, more experienced, and more than willing to do the work for a fraction of what your time is probably worth.
The complexity of the project is another aspect you need to take a hard look at when considering outsourcing. Is this a one-time overhaul of the app’s design? If so, you may want to consider getting outside help for the bulk of the work. Redesigning an app can be pretty time consuming, and outsourcing some of the heavy lifting means you’ll be able to release the updated version of your app that much sooner. Perhaps the work that needs to be done isn’t very difficult, but can be a bit time consuming? That’s a no brainer – find someone else to do it. Your time is extremely valuable, and should be spent on doing something other than busywork.
But what if the outsourced project deals with the core functionality of the app? Imagine your app breaks and the only person who knows the ins and outs of the code well enough to fix it quickly is living in India and won’t even be awake for another 9 hours–and that’s making the assumption that they’ll be available to help. If the basic operation of your app is dependent on the work you’re considering outsourcing, you may want to think twice about sending the project out. There’s a good chance you’ll be better off either taking the time to teach yourself or growing your team by hiring an employee or contractor that can do the work for you – and who will be available if things break down the line.
Another thing to consider is whether the final product will remain static or whether there will be future changes, updates and iterations. The less tampering you’ll do down the line, the more feasible it is to hire someone else to do the work for you. But if you’re having to reach out to a third party every other month for updates and changes, you may end up spending more money and time in the long run than if you’d decided to keep it in house.
Outsourcing takes work
Just because you’ve decided to pass the work on to a third party contractor doesn’t mean you’re off the hook. It takes a fair amount of preparation and ongoing communication for an outsourced project to be successful. You need to have excellent project specs laid out, and make sure you set up and spell out clear expectations for whoever you hire. And don’t forget to prepare detailed paperwork, documentation, and guidelines for reviews and feedback before the project even starts. Most importantly, make sure you are a regularly available, responsive and open communicator throughout the process. Things to keep in mind:
• NDA, NDA, NDA. I can’t emphasize that enough. Before you move forward with any third party company or contractor (and before sharing any details of the project and of your app), you’ll want them to sign an NDA. If you can afford it you’ll want to have a lawyer draft one up for you. Otherwise, there are plenty of good ones that you can find for free or cheap online.
• Be clear about exactly what the project requires and what you expect from the outsourced team. What programming languages will they need to know? How should the final product look and function? How many versions of the app do you want to see before the project is complete?
• Lay out a timeline that everyone should follow. Include when they should be sending progress reports and updates and when the various test versions will be available. Don’t forget to include when they can expect things from you; will your feedback be available 8-12 hours after they send something over to you, or 24+ hours? Be sure to stick to your own deadlines; more often than not, delays on the progression of the project will result from you not getting back to them quickly enough.
• Lay out a detailed payment plan. If you’re sending money after certain milestones are reached it will help keep the contractors motivated and working.
At the end of the day, only you can know whether outsourcing is the best move to make, and it’s not a decision that you should make lightly. Do your research on the intricacy of what your project will require as well as the time and financial investment of hiring a contractor versus doing it yourself. Look into a multiple companies and contractors before hiring one, and don’t be afraid to reach out to your network to see if others have outsourced similar projects and whether or not they were happy with the work. Take the time to make the right decision for you!
Becky is the Senior Content Marketing Manager at TUNE. Before TUNE, she led a variety of marketing and communications projects at San Francisco startups. Becky received her bachelor's degree in English from Wake Forest University. After living nearly a decade in San Francisco and Seattle, she has returned to her home of Charleston, SC, where you can find her enjoying the sun and salt water with her family.