I've seen this question asked a number of times on linked in groups and other such places. Its a basic question, but it doesn't have a basic answer. In fact its no different to "how much to develop a J2EE/.NET/COB OL/insert-your-technology-here application". Look. Here's the drill
So..You've a good idea for an iPhone application? You want your idea to become a reality. How can you make this happen?
An iPhone application is no different to any other sort of application. Before any developer worth his salt can give you a price that contains any level of accuracy, they will need to know what exactly your application is going to do; You're going to need a spec written.
If you're not the sort of person who can write specifications, the developer should be able to help you with it. The spec does not need to be "war and peace", but more detail will get you more accurate quotes. But, depending on the level of functionality, a one or two pager can be enough.
A good spec should have taken what you are hoping to achieve (your "Business requirements") and turn them into how they can be achieved.
I've always taken this approach with customers. I will not take on a development project of any size unless there's a spec in place, or they will pay me to write a spec. By taking ill-defined requirements and putting together a quote, I'd be doing the customer an injustice. Here's an approach that I've found works well, and hasn't let me or my customers down:
- I work with the customer to write the spec. I try to understand what they are trying to achieve from a business point of view, rather than from a technical point of view
- I always charge for this work. If I don't charge, I don't value my time, and hence my work. If I don't value it, my customer certainly won't
- This is all I initially contract to do. What I promise is a spec detailed enough that they can get competitive quotes. I do use the spec to produce my own quote for the application development
- As an offer, if the customer uses me to develop the application, I take the price of the specification off the price of the development work. My quotes are very transparent. This is not an exercise in playing with the numbers to make this look like a special offer; it is honest and true (the only way to retain customers)
The good news is that if you get the spec done up front, you can take it to more than one place for a quote. You now have something that in theory you are comparing apples to apples when you get competitive quotes.
Of course, choosing your development partner should not just be a case of who gave you the lowest quote. Often less expensive equates to cheap in terms of quality. So, if you get competitive quotes, take a look at a number of things; The quality of the response, and what exactly are they doing for the price (for example, do they expect you to do full QA, or will they also help with writing test plans,etc.)
Remember software is very rarely a case of "fire and forget" and iPhone apps are no different. You app may need bugfixes or new features added in future, so consider your new development partner as a potentially long term relationship. Make sure you will be happy to work with these people for the foreseeable future.
If you've anything to add to this, please feel free to add a comment.