So, you've got a great idea for the next killer app, but you're not a programmer. You're going to need someone to develop the app for you. This leaves you with a problem: how do you find an app developer that's right for you ?
This is an important decision because App development is expensive - about as expensive as buying a car. However, figuring out which car to buy is a breeze compared to finding the right app developer. If you're buying a car, you get to look at the car before you buy it, you know exactly how much it will cost, you can read about other people's experience with that kind of car. Apps are not like that. Apps are fundamentally unique creations. In this respect App development is completely different to web design. If you need a web site, you can tell your designer "I need a website like but for my company." If you could say that about an App, there would be no point making it.
Finding the right app developer is like hiring someone to write a book for you. There's no way of knowing exactly what you're going to get until it's finished. Also, the quality of a book is obviously hugely important at the same time as being somewhat subjective. So, given the expense and the importance, these are some tips about how to find the right developer.
1. The right developer will understand what you're saying.
The importance of good communication cannot be overstated. Software development is hard enough as it is. If the developer has a hard time understanding what you're saying, the chance of your vision of how your app should behave being turned into reality is roughly zero. It really helps if they speak the same language as you do natively.
2. The right developer will be reasonably local.
It's an order of magnitude easier explaining something in person as opposed to trying to explain it via email or telephone conversations. It's also vastly preferable to be able to demonstrate problems in person than to try and get them to replicate your problem at their location using their devices. Until you have experienced the frustration of telling a remote developer that their application does not work properly and hearing them say "it works fine for me" again and again, you will not appreciate how important this is.
3. The right developer will be entirely honest.
A good developer will tell you if your idea is not going to work *before* you spend a lot of money on it. They will let you know when you are being realistic in your expectations and when they think you are going about something the wrong way. If they tell you you're a genius and your idea is bound to work, that might be true, but its more likely they are just keen to take your money and think flattery way to achieve this. Good developers have plenty of work to get on with. They have no interest in having clients spend a lot of money on something that they secretly suspect is going to be a failure because they have better things to do.
4. The right developer will have done something vaguely similar in the past.
Of course, every project is unique, but some are more unique than others. Most projects have a fair bit in common with things that have been done previously. An experienced developer will likely have done something at least slightly similar in the past. At the very least they will have developed something of roughly equivalent complexity beforehand *and they will be able to show it to you*. Software development gets much harder as the requirements get more complicated. Roughly speaking, if something is twice as complicated, it takes four times longer to develop. An app with 50 distinct screens could take 100 times as long to develop as one with 5 distinct screens. If your developer has insufficient experience, it's unlikely your project will *ever* get finished, no matter how much money you give them.
5. The right developer will be able to offer you a fixed bid quote for a well specified application.
It's all very well hearing a developer's estimate of how much something is going to cost. If they are charging you by the hour and are eager to win your business, it's in their interest to make themselves sound as tempting a choice as possible. If one developer tells you it will cost £15,000 and the other developer says £5,000, who are you going to go with ? However, if the £5,000 developer then tells you .. "sorry, its more complicated than I thought" and asks for more and more money without ever delivering anything, then they have not done you any favours. However, if you do not know exactly what you want your project to do, a detailed specification for your App might not be possible. It may take several days worth of work to develop a sufficiently detailed specification and unless you have experience in software development this may not be something you can do on your own. In this situation, the fairest way to approach it is to pay a developer to create the specification. Once that is created and paid for you should be under no obligation to stay with the original developer and you can you should be free to that specification to a different developer.