March 30, 2017
If I need some work done on my car or house I generally have no idea how much it’s going to cost. Unless I get a number of different quotes, I feel a bit in the dark as to whether I’m getting good value for money. The same would be true if it involved many areas in which I have limited or no knowledge.
For many people having software developed is just the same. Unless you run a tech company, and have experience with freelancers or agencies developing a specific type of software, cost is something which can be an unknown.
The cost to have an app developed comes down to how much time it’s going to take. Most freelancer or agencies will charge on a per day basis. A good freelancer with extensive experience of developing mobile apps may charge £350 - £400 per day, an agency at least double that.
So the question now becomes “how long does it take to develop an app?”.
The app development process
Having an app developed is not just hiring someone to sit down and write some code. To get the best results you are going to need expert help at each stage of the process.
A typical journey, from the initial idea being tossed about in your company to having something on the App Store and/or Google Play:
- Define what it is you want from the project. This should include the problem(s) you are trying to solve, initial definition of your target users and key outcomes.
- Develop a series of user personas (examples of specific types of people who would use the app) and use these to create a set of user stories (e.g. As a current gym member, I want to track my visits so that I can meet my goal of coming a certain number of times per week)
- Check the feasibility of the project - technically (can it be done), within the budget and time available, legally, …
- Discuss ideas, create mock ups of screens, prototype risky functionality, etc.
- Flesh out the user stories by writing acceptance criteria or developing a full specification for the app.
- Write the code, create assets (graphics, sounds, videos, etc), test, review, repeat - often organised into chunks of work called sprints. This is the core of the development process, at the end of which you’ll have something not too far off from a releasable product.
- Write the App Store/Google Play description, have app website live, thought about and put in place how the app is going to be supported, kicked off any relevant marketing (if it hasn’t already started)
- In the core development process you’ll have seen the app many times, had it tested internally, maybe shown to friends and family, etc. Now is the time to start wider testing prior to release to catch anything you may have missed.
- Submit the app to Apple (if an iOS app). The app will be reviewed by Apple - which can take anywhere from a few days upwards depending on the type of app.
- Make the app live on the App Store and/or publish the app on Google Play (no human approval process so only takes a few hours before live).
- Monitor any crash reports, bugs reported by users, analytics, App Store/Google Play reviews, changes in iOS/Android which mandate updates, etc. Release version 1.1 and repeat for the lifetime of your app. Hopefully alongside which you’ll have a roadmap in place for developing all the features you didn’t have time for in version 1.0.
Ideally the freelancer/agency will be involved during each of those steps, or certainly from step 2 (after they’ve reviewed and discussed the outcome from step 1).
As you can see there is a lot which can change from the initial idea to actually what ends up in the hands of your customers.
Fixed price apps?
I’ve worked with clients on fixed price projects and projects where we agree a day rate and go from there.
For some projects it’s possible to give a fixed price, based on your app having similarities to other projects with relatively few unknowns. Sometimes I’ll complete the work in slightly less time than budgetted, sometimes slightly more - but whats included will be decided relatively quickly in the process. If new features or big changes are required after the price has been agreed, then additional budget will be required. For projects where there is an amount of uncertainty at the start, then fixed price is probably not the right choice - e.g. you want a next-gen video editing app.
Example project, costs and time to completion
The title of this post is “How much do apps cost?”. Lets give an actual example with costs.
This example is for a fictional loyalty app for a chain of car mechanics. They already have a website which allows customers to book their car in and see past and future bookings. The website is relatively new and has a RESTful web service available, which is suitable for use by the app. The website developers have been briefed on the project and will be able to add any additional requirements before mobile app development starts.
Here is a summary of the likely costs for this project:
- 3 days: Work with the client to develop the user stories and mockups of the UI
- 30 days: Three two week sprints to develop the iOS app, which is being released first. The iOS app will include: customer login, registration, forgot password, view list of bookings, make a new booking, change a booking, delete a booking, edit profile details, receive push notifications when a booking is due the next day, integration with the system calendar. Each sprint will involve:
- Develop detailed acceptance criteria for stories being completed in this/next sprint.
- Provide assistance to a third party UI designer to further develop the UI and get the assets sorted for iPhone and Android phones.
- Work with the serverside developers to agree changes to the API and test what they implement.
- Write the code.
- Develop tests.
- Review the app with the client and discussing the next sprint.
- 5 days: Help the client to manage the beta testing, fixing issues which arise.
- 0.5 days: Assist the client get the App Store metadata together.
- 0.5 days: Deploy the app to the App Store.
- 3 days: Provide 30 days post release support.
- 30 days: Three two week sprints to develop the Android app, which is being released after the iOS app. Each sprint to follow a similar pattern to that of the iOS app. There will be less to do in terms of acceptance criteria, working with the designer and serverside developers - however Android development is generally more involved than iOS development partly due to the large number of devices which need to be supported.
- 7 days: Android beta testing. A little more time than iOS is required.
- 0.5 days: Android deployment to Google Play.
- 3 days: Provide 30 days post release support.
The total - 82.5 man days. Assuming an agreed day rate of £375/day then the mobile app project cost would be £30937.50. For the project above it’s possible that a fixed price could be agreed. On top of this would need to be added the UI designer and server side development, together with any internal costs to your company. This example is for native iOS and Android apps written in Objective-C/Swift and Java. The costs would be lower if a Xamarin solution was deemed appropriate.
The above estimate makes a number of assumptions about whether standard iOS/Android UI components are to be used (in this case very little highly custom UI) and the complexities of working with the web service. It’s important to make sure that the user stories capture what the app will need to do - e.g. if you need users to be able to share content, make sure that is stated upfront.
The elapsed time from development starting to everything being finished is likely to be more than 82.5 days. It will depend on how much time you have to put into the project, how many stakeholders are involved, and potential risks for delay (such as the serverside developers not completing changes on time or artwork not being agreed). Putting the project schedule together is something that the developer and client would work on closely together. It would be regularly reviewed. The important thing is to be realistic and not too optimistic when promising delivery to your boss!
The above should give you a good idea of what is involved in creating an app, and how much time it can take and what sort of costs are involved.
If you are thinking of having an app developed then Apps On The Move may be able to help. Get in touch via the contact form to arrange an initial discussion.
Illustration credit: vecteezy.com