November 5, 2016
Question: I have an idea for an app that I'd like to work with a developer on building. My goal is to have something very simple, but then as the budget and possibilities reveal themselves, expand the capabilities of the app. So, I don't want the first iteration to have all the bells and whistles, more conceptual.
With that in mind, what resources are out there to find reputable and affordable app developers, preferably freelance? Is it common to ask for a quote before getting to work? What can I expect to spend?
Answer: Like everything in life, it depends.
What you're looking for is often called a Minimum Viable Product, or MVP. The idea is to build just enough of an app to validate your idea and see how the market reacts to it.
You want to build it properly, because if things go well, you won't have time to start over from scratch, you should be upgrading the MVP directly.
There are generally two ways to go about building software, termed the Waterfall method and the Agile method.
In Waterfall, you define all the features upfront, and then hire a freelancer/firm to build it for a predetermined price. The downside to this method is that as the app gets built and you get ideas for new features, it's difficult to get these ideas into the app as the course has already been set and it's difficult to figure out how to charge and what features to give up. The upside to Waterfall is that it minimizes the risk of going over budget. (Although if you get a bad developer, there is a risk the project doesnt get completed in the time/budget allotted)
In Agile, you hire a freelancer/firm for one sprint at a time. A sprint is usually a two-week period of development where you set certain priorities for that period. The developer will help you scope out a reasonable goal for that sprint. At the end of the sprint, you have a new brainstorming session, and choose the scope for the next sprint. The downside to Agile is that the budget is a bit less defined upfront so you need to be flexible on that front, but the upside is that the process allows for brainstorming and idea discovery mid-development, and when done properly, development can stop after any given sprint.
For most projects, I vastly prefer Agile. It allows you to sort priorities and change course as you learn more about your app. It also forces the developer to be more accountable as there are frequent checkpoints where the software must be in a complete and ready to use state. I have seen so many Waterfall projects go late and over budget it's astounding. While Agile doesn't prevent you from hiring a dud, you'll have a good opportunity to fire them after the first sprint if they arent living up to your expectations.
Now for budgets, it depends greatly on what you want to do. The going rate for an app freelancer is 70$ USD per hour, and the total cost depends on how much of the design the developer is doing, or whether you are providing highly detailed plans and screens to build off of. A website is much cheaper to build than an app, and building a cross platform app is cheaper than building separate iPhone and Android apps. Then the actual content of the app changes the price too. Financial transactions or medical histories are sensitive information and need to be handled more carefully than a Snapchat clone's self-deleting photos.
With all that said, the average project budget spans between $5,000 and $100,000. A huge range, but it depends on what you need.
As for finding people, upwork.com can be good. Expect to get about 100 replies to any offer you put up, and to have to sort through a lot of bad developers. You should also have a Skype date to discuss the project and see if they ask smart questions. Generally you want someone with a strong mastery of English, and who lives in a westernized culture so that they will better understand what you and your users want built.
You could also hire Dual Gravity :) We're a web development firm from Montreal, Canada! Shoot an email to email@example.com to get in touch with me.
If you have any more questions about the process, feel free to ask me! I know it can be intimidating but I've helped a number of people get their apps off the ground and I'm happy to share what I have learned!