So, your app idea is good to go. The business plan is ready and you can’t wait to get to that minimal viable product (MVP) that you can already envision on your phone’s home screen. You probably also feel like there’s no time for recruitment before others come up with a similar “Airbnb for wearables” or “Uber for Segways” app.
If you are a small startup and perhaps only one team member has a technical background, then you are probably facing the most typical scenario when it comes to outsourcing app development work. Or perhaps this other typical scenario sounds more familiar: a bigger company with an in-house developer who’s been working on the app for a while, but is stuck and needs external expertise.
At Diffco, we’ve had people come to us seeking help with outsourcing app development – people who face all sorts of scenarios and have differing goals. Through our experience, we’ve singled out certain potential mistakes to avoid and ensure a successful experience with outsourcing. However, let’s first talk about when outsourcing app development is a really good idea:
• You’d like to start immediately and are careful with spending. If you can’t afford fixed costs to support an in-house team and want to stay flexible at this point of time, hiring an external team will save you quite some budget, especially if development will be a one-time project.
• You’d rather not deal with people/team management at this very moment or you’d like to avoid management risks altogether. A myriad of management issues can be someone else’s headache when a well-trained team can immediately get to work for you. When hiring new technical team members like developers and designers, they do need time to get used to each other, work out their communication, approval and other processes. And you may not even want to be a people manager just yet and deal with coaching and motivating this new team.
• You are interested in tapping into multifaceted external expertise and market knowledge that a mobile development company that’s simultaneously working on apps for different industries and customers has collected over time.
The benefits of outsourcing app development can be huge provided that you avoid some typical mistakes that may add roadblocks to your experience. With the right approach, you’ll quickly get the outcome you are looking for with the help of your extended team. Here is a useful list of “The Hateful Five” to fight when passing off your app “baby” to the “outsoursery (or outnursery)” of choice and avoid unnecessary hurdles along the way:
1. Failing to do proper research
When outsourcing app development, not gathering enough intelligence about your potential partner probably ranks highest in this list of mistakes to watch out for. It can lead to a dramatic turn of events later on or lots of unpleasant surprises. Make a checklist of questions you want to ask yourself about every potential partner you are talking to, including:
• Communication: Is the flow easy? Am I getting the requested information in a timely manner? Is the developer asking the right questions to really understand the project goals? Is there a local manager that can quickly respond in emergency cases and help with quick troubleshooting (for companies with developers working abroad).
• Portfolio: Do these developers’ works reflect the current technological and design trends? How recent are they? Make sure you focus on the most recent portfolio items, especially in bigger companies where the turnover rate is high and one talented developer who had worked on an app you like may long be gone.
• Expertise: Does the developer have the needed technical and design expertise? By the way, it’s typical to try working with developers who’ve previously created apps within your industry (say, banks often prefer financial apps’ developers). But if you are, say, a financial startup, you might want to check outside of that single expertise. Developers tend to stick to what they know, so it can be a good thing to look for other industry experts to get an infusion of fresh ideas.
• Team: Who exactly will be working on my project? You want to know not just the project manager’s background, but also where the programmers are coming from. You might even want to ask for their resumes. In addition, NDAs might need to be signed not only by the company, but also by each individual team member depending on the local legislation.
• Focus: Are the programmers going to work on your app full-time or are they involved in several projects at once? Certainly, full-time attention is the preferred setting for any project as it will help with quick bug fixes and efficiency.
• Cultural fit: Does this partner have familiarity with the user culture for my particular project? For some apps, cultural and geographical proximity is an absolute must. For instance, in the case of GPS testing or when an app caters specifically to the US audience with address formats, dates and other details that will be reflected in the interface design. Overall, when it comes to design, culture is super critical! For some projects, we’ve had to create separate versions of the localized app just because the text, when translated to a different language, takes up such different amounts of space.
2. Going after a good deal rather than quality experts and realistic market price
What sounds like a better deal to you: $80 per hour for an awesome developer who’ll come up with a solution within an hour or $10 per hour for a beginner who’ll probably take 8 hours to figure out how to approach the same issue?
Each service provider is tempted to lure you into signing a contract by offering an attractive price. So be cautious if you are getting a significantly lower general estimate compared to the general market rates for outsourcing app development. Dig deep to understand where it’s coming from.
Comparing detailed breakdown of estimates from several developers will be very insightful once you look at budget components, such as planned hours, pricing for individual features, and so forth. You can then easily spot that one of the developers simply isn’t accounting for a lot of the details that others are budgeting for and those costs or delays will probably come up later in the project.
For example, you might get an estimate for just an MVP from one developer, but another also accounts for the first update with bug fixes that should probably follow very soon after launch.
3) Not defining the crystal clear rules of the game
Creating a technical assignment that fails to outline all of your goals, expectations and deliverables is about as “hateful” a rookie mistake as you can get. When outsourcing app development, you want to spell out precisely what you are looking to get from your hired extended team.
Agree together on exactly what and how they are going to deliver. You can get a lot of great advice from your outsourcing partner provided that the company has years of experience and is also looking to preemptively avoid potential issues. However, every developer works differently so you better get into the driver’s seat for this one.
These are just a few things your initial technical assignment for outsourcing app development should clearly outline:
• a precise user profile of your app
• expected number of users
• design details and examples of apps that you like
• technologies that need to be integrated
• a list of all popular devices on which the app is expected to work flawlessly
In your contract, have your developer document which software libraries, external technologies, images and licenses will be used for your project. Agree on how your developer will pass on API specifications, architecture documents and source code to you at the end of the project. Outline responsibilities for licensing every part of the source code.
Discuss who will be submitting the app and future updates to the application stores. Account for future changes as maybe you’d like to bring the development in-house later on or pass it on to another developer. To make the transition easy, you might consider hiring an external auditor or a senior developer on a contract to regularly check the source code for you.
Agree on milestones and a chain of approvals for each one of them. Remember that especially in big projects or with teams working abroad, approvals tend to take much longer than expected so either budget extra buffer time or use weekly calls to make decisions right on the spot with the whole team present. Assign responsibility to someone to write everything down during the call to make sure everyone is on board with the meeting notes and agreements.
4) Failing to use best practices of project management
Outsourcing app development is not the type of project for which you can place an order and get the exact expected result a few months later without regularly checking in. Be prepared to manage the project daily. Have an internal person who’s responsible for that. Adopt a very hands-on approach with weekly all-team calls so that everyone is aware of what each member is working on.
In addition to carefully tracking the important milestones, our team at Diffco also uses Gantt diagram and project management tools like Microsoft Projectct or Omniplan for Mac. Another option? Most app development companies have a tool they use internally like the popular Asana, Jira or Basecamp for internal project management. Check if your development partner would be open to providing you access so that you don’t limit your interaction to just emails and phone calls.
5) Not conducting rigorous enough testing
Remember Apple Mapss? Yes, even great companies with endless resources often don’t conduct adequate testing that’s rigorous enough to identify critical bugs. There might not be an opportunity for a turnaround once you’ve launched with the big buzz of a crashing app. There are way too many new apps coming out daily and user attention spans are too short.
You’ve got your list of devices from the initial technical assignment. You simply must test your app on ALL of them. Different operating systems and versions need to be taken into account. For Android, pick the ones with the most popular screen resolutions as a solution.
Include a list of use cases into the technical assignment for the external development team. It’s extremely helpful to keep a checklist for each use case so that your testing is methodical and each scenario is tested step by step without skipping a beat. Make sure the developers’ location isn’t influencing test results (for example, if GPS is used in some of the functionality) and account for as many use scenarios as possible.
At Diffco, we also try to test apps with the customer at the earliest possible stage. This is to avoid the situation whereby several months are spent on the first iteration just to find out later that some key ideas were misunderstood. By no means you as a customer should be wasting time on raw product testing. However, ask your developers for a testing opportunity at the earliest possible stage. Also, start collecting other feedback from trustworthy friends or personal contacts as soon as possible.
Ensure that there is an adequate system for bug reporting!. What a waste of time it would be if a ticket for a reported issue gets lost. Ask your outsourcing partner for access to the ticketing system they are working with (many teams work with Zendesk), so as to see the history on each reported bug. It’s important that each bug is discussed separately so that there aren’t any crossovers and confusions about who’s fixing what.
Finally, Q&A responsibilities should also be part of the contract for outsourcing app development. You need to decide from the beginning who will be doing QA. Many developers try to finish a project as soon as possible and move on to the next, so a third party involvement for quality testing can also be considered.
If all of this sounds complicated, that’s because, like any technical project, a mobile app has a lot of moving parts. You will still need to invest in project management time when outsourcing app development. However, you save significant resources needed to hire in-house developers while keeping full control of your project. Outsourcing app development work gets you immediate access to a well-trained team and with the right partner, a high quality outcome along with insights from external expertise.
These advantages definitely outweigh predictable complexities that you can manage with discussed preparation. The market of global outsourcing services has been growing exponentially in the last few years and top analysts even predict that very soon, demand for mobile apps will “outstrip available development capacity”. These are all good signs indicating that outsourcing app development is a great way to go if you need an app to power your business and you need it FAST.
Vadim Peskov is a Bay Area Entrepreneur and CEO of Diffco US, a mobile and web development company that helps both startups and large corporations create great apps utilizing almost a decade of experience and the newest technologies on the market.