Mobile

5 Mistakes Not to Make When Outsourcing App Development

By Vadim Peskov, CEO of Diffco US

April 7, 2016

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 develop 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. We’ve singled out certain potential mistakes to avoid and ensure a successful experience with outsourcing through our experience. 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 in 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

Close up of a person's hands using a table with a laptop computer in the background.
Dig deep and get the story both behind the app development company and each team member involved!

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 promptly? 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 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 the project manager’s background and where the programmers are coming from. You might even want to ask for their resumes. Besides, NDAs might need to be signed not only by the company but also by each 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 reflected in the interface design. Overall, when it comes to design, culture is supercritical! 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

Three piles of US coins and a calculator in the background.
The greedy continue to pay twice

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 a 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

White earphones plugged into a white mobile device on a white table that holds a black and white striped pen and a white booklet with black text that says, “Creative Mess”.
We can’t stress enough the importance of defining precise goals and expectations before any project starts!

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 ensure everyone is on board with the meeting notes and agreements.

4) Failing to use best practices of project management

A young man working in a startup wearing a beanie drawing out a flow chart on a huge whiteboard with his back to the camera.
The lack of consistent project management will inevitably lead to delays and chaos.

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.

Besides carefully tracking the important milestones, our team at Diffco also uses Gantt diagram and project management tools like Microsoft Project or Omniplan for Mac. Another option? Most app development companies have a tool they use internally, like the popular Asana, Jira, Monday.com, or Basecamp for internal project management. Check if your development partner would be open to providing you access to limit your interaction to just emails and phone calls.

5) Not conducting rigorous enough testing

A young man sitting on a wooden bench table using a tablet with a stylus while having a cup of coffee.
Cutting corners on testing or testing too late in the game can turn out to be too expensive of an experiment or even life-threatening to your project.

Remember Apple Maps? 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 beneficial 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. Ensure 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 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) to see each reported bug’s history. Each bug must be 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.

Author