So. You're thinking about developing an app. And you're probably considering three options: - Develop it in house - Offshore it to a low-cost development agency - Partner with a local development agency
On the face of it, developing in house is probably the most attractive. You'll be giving new and interesting work to some existing employees, and keeping your costs down, as they are already on the payroll. The existing staff know your business well, and will be able to develop and app that meets your needs. All of the above may be true. But there are a couple of things to consider:
- Developing an app requires more than just coding. It'll require someone to carry out needs analysis, decide what's the best approach to solve the business needs, user experience design, graphic design, development and testing. And there's the submission to the app stores to consider.
- You may have all of the above skills in your organisation, but have they mobile experience? The user experience problems associated with mobile app development are very different to those on web or desktop for example.
- It's great that they understand your business, but could that hamper them from seeing an outside perspective, or be able to view the project as a customer of yours?
- What will you do during the quiet periods after the app is released? Put the programmer back on the web team? Will they like that?
- Even if you can keep them on the mobile app for a couple of years, is there a danger that they'll get bored and want to go work at an app development agency? Can you avoid brain drain?
- Have you both iOS and Android skills in house?
- Are you willing to keep those skills up to date? Will you send them to WWDC or I/O ?
If you can tackle all of the above then you should probably develop in-house.
Offshore it to a low-cost development agency
If cost is an overriding concern, you may want to consider offshoring to a low-cost development agency in countries where cost-base is lower then where you operate from. This can be a real cost saver in terms of development time. Again there are more considerations:
- Who is going to choose the offshoring company, and how will you carry out due diligence?
- Will there be a language barrier ?
- Will time zones come into play during development?
- Will their lack of local recognition of your brand be an issue? Will they reflect the values of your brand in the work they carry out for you?
- Who will act as the point of contact in your organisation with your offshoring supplier? Are they ready for increased levels of conference calls and e-mails to manage an offshore project?
We're not so complacent to believe that a developer trained in India, China, Serbia, etc. is any less capable than a developer trained in Ireland, the UK or the USA. We have however, been asked to do version 2.0 of many apps that were initially built by offshore teams. The overwhelming feedback tends to be "we were happy with the end product but it took much longer to get there than we expected, and we don't wish to do through this again". Most people underestimate the last point made above.
We think: If cost is a primary driver, offshoring may be for you. Particularly if you are unsure if your app idea is a long-term project.
Partner with a local development agency
Your next option is to talk to a local development agency. So let's face it. Up front: They're going to seem like the costliest option. They have a high cost base, and this will be reflected in their fees. But when you take into account the overall costs of app development, you may find that this is the best option for you. Here's why:
- A development agency can supply all of the expertise necessary to develop an app. Typically, they have people who are embedded in mobile app development, covering all aspect of UX/UI, Development, Test. etc. Their team work across multiple projects during a year, meaning they are always considering current trends in mobile app development, and they specialise in mobile only. They can ramp up the relevant people as needed on the project.
- They'll bring in an outside perspective to your project, yet be cogniscant of you as a brand: They're already aware of you because they are local. They instinctively can produce an app that reflects your brand values.
- They can put multiple people on your project and can cycle people through your project on a longer term basis. This can make them immune from the brain drain problem.
- When your project is done, you're not paying for them, so quiet periods doesn't mean staff are working on projects of no interest to them.
- They'll have specialists in both iOS and Android development; Specialists who are working for the agency for the love of app development. People who have consciously chosen this career path for themselves. They are eager to keep their skills current and the development agency will support this through conferences such as WWDC and Úll.
- They are in your location; there's no waiting for them to "come online" if there's an urgent fix required during a development sprint. If you need to come see them, you simply call over to their office.
- They can supply a dedicated project manager to your development project.
Of course, we're going to suggest using a local development partner, but we're noticing trends in the pain points being experienced by our clients: Brain drain, projects going stagnant, difficulties managing offshore teams, or the developer who worked on the first version is no longer available.
If your project is a crucial aspect of your business you don't need a developer, you need a partner.