How to Estimate Cost of your App Development for iOS or Android
Hi Folks, in this article, I shall take you through how to estimate the cost of your planned mobile app project
Cost vs Effort
To begin with, it is important to separate out effort from cost.
Depending on how you are getting the app developed – by a team of employees, or outsourced to a development agency like us (where again costs may vary widely), or by a founding member with coding experience working in exchange for equity, the cost of development will vary.
However, in all cases, the effort or time required to develop the app will be roughly the same assuming it is being done by experienced and competent engineers.
Mature apps like Facebook, Whatsapp, Skype, Tinder etc have numerous features that you probably do not need on day one. Features that take hundreds of engineers to develop and maintain. It is important to figure out what features and actions your app will allow users to do on day one, and focus on making the best possible user experience for that set of features. Example of features you may not use on day 1 could be:
- For a social app – Extensive privacy controls in a social app,
- For an ecommerce app – several types of coupons – discount, 2-for-1, freebie, discount on bundles, user specific code, general code, product specific codes .. the list is endless.
- For a messaging app – delivery reports, export archive
For all the above – building for scale too early. It is tempting to build your app for several million users on day 1 so you are ready when you hit that scale. However, a lot of that investment will sit idle for a while and in any case the market will compel you to make numerous changes to your product very soon. The second or third pass at the architecture is probably a better time to make the big investments in scale.
Be ruthless about cutting down the features that you need in your app until you can’t reduce any more.
To this, you will need to add back a few items.
- Analytics – to track how users are using the app
- Marketing Automation – to keep engaging users with relevant push notifications
- Referral System – to maximise referrals of the app to other users and reward users for doing so
Once you have done this, you have a working list of what you need to get built. This list is bound to evolve even as you develop your app, and unfortunately, in most cases it will expand!
The next step is to figure out what components you need to build out. Each ‘component’ below has it’s own programming system, and in most cases different individual developers who specialise in doing that work.
Mobile Platforms – Do you want to develop your app for iOS, Android, Windows Mobile as well as the other lesser platforms as well? Where are the bulk of your customers likely to be? Each of the major platforms needs to be developed individually, and so you’re likely to be paying 2 times as much for two platforms and 3 times as much for 3.
Within these platforms, are you targeting mobile phones only, or tablets as well. If targeting both form factors, add about 20% to your estimate.
How about orientation – do you need the app to work on both landscape and portrait modes? If yes, add about 15% to the estimate.
We shall speak about estimates based on features later on – those will be for one mobile platform (say Android), and one form factor – say smartphones, in one orientation, say portrait.
You will need to add on to these estimates based on number of platforms, form factors and orientation.
App Types – Will all users of the platform use the same app, or are there 2 or more categories of users who will need different apps? Think customers and drivers in Uber as an example where you will need multiple apps to deliver your service.
Typically, even with two different apps, a large part of the code is similar, as essentially the apps are meant to co-deliver a service. You should add about 50% to your estimates for the second and subsequent user apps.
Server – Does your app need a server to be developed as well? If the answer to any of the following questions is “yes”, you probably do:
- Does the app send messages or information from one user to another?
- Can a user perform an action on the app that has a real world impact (like a transaction, an item being shipped etc)
- Does the app need to download some information (text, audio, video) after it is installed? Does this information keep changing?
- If your user changes her phone and logs in to the app in their new phone, will they expect to see their old actions (history of what they did in the app on their old phone), in the new phone?
To estimate the effort required on the server side, look at your app estimate for one platform, and use about 80% of this. Add 10% more for each additional smartphone platform, to take care of unique requirements of the different platforms such as push notifications.
Web and Mobile Web – Do you plan to have a web version of your app as well? Will it be compatible to both desktop browsers and mobile browsers? This will again cost about as much as a smartphone platform development.
Admin functionality – As the admin of the platform, you may wish to get for yourself the ability to monitor in detail actions happening on the platform. This may vary from simple stuff like keeping track of user numbers, to more complex actions like adding/modifying content, moderating user content, banning users, or even very high involvement actions like processing orders, updating the status of orders etc. A very simple admin portal with just simple monitoring functionality is probably not more than 2 weeks work, but if you are looking at more complex features, you should estimate in a manner similar to that for the app itself – almost as if the admin portal were a new app.
Estimation for Mobile App
identifying the big pieces – payment gateway, chat, geolocation, contacts sync
Note: We shall be looking at all estimates in terms of weeks. An estimate of 8 weeks does not however, mean that the duration of the development will last 8 weeks. 2 developers could do the work in 4 weeks. There is a limit to how much the work can be split between developers, as they will end up taking a lot of time to integrate their work together. Ideally you should look at duration by considering not more than 2 developers for each component.
Start by listing the major functionality of the app – listed out as a sentence. These need not be too narrowly defined (user can click on like button) or too broad (user has a fully functioning social wall)
good examples are:
- User can see a wall feed of posts from their network
- User can like, comment and share posts on their wall
- User can create a post on their wall to be shared with their network.
For each such functionality, add 2 weeks to your estimate.
If your list of functions does not include common stuff like login, registration etc, add that in as well. (about 2 weeks)
Add further estimates for each the following:
- Project set up (includes architecture, database design etc) – 2 weeks
- Offline availability of data – 2 weeks
- Analytics and user tracking – 1 week
- Adding third party Marketing, Engagement or other platforms – 1 week each
Some common components are fairly complex to define as above, and should be estimated separately:
- Simple e-commerce – 4 weeks
- complex e-commerce (vouchers, bundles etc) – 8-12 weeks
- text chat – 4 weeks
- voice/video chat – 8 weeks
- live tracking and reporting a user’s location on map – 4 weeks
Once you have prepared an estimate for your app (one platform), use the pointers in the previous section (Platforms) to come up the total estimate for your project.
An expert will be able to give you a detailed estimate, but using the simple methodology above, you will be able to come up with an estimate which is within 20% of a detailed estimate.
Feel free to contact us for a no obligation quote for your project!