Does your business need an app? You should understand the cost of app development before you begin. There are several ways to get your app built, each with its advantages and disadvantages. This article examines your options, evaluates the pros and cons of each, and describes app development costs in detail.
Why Offer an App?
Every business should evaluate the possibility of offering an app. Apps are no longer a novelty, they are a mainstream way of conducting business.
An average user spends 3.1 hours per day on a mobile phone vs 2.2hours per day on a Desktop/Laptop. Source: KPCB
There are currently over 2.8 million Android apps and 2.2 million iOS apps. Why so many? The answer is simple: mobile computing is the platform of today, not the future. As of 2014, mobile users outnumber desktop computer users, and the gap between the two groups is growing. In the US, adults over 18 years of age average 87 hours per month using their mobile device to browse the Internet or run an app connected to the Internet. PC sales are falling while smartphone and tablet sales continue to outpace them.
If your business does not have a mobile strategy and mobile presence, you are missing the largest and fastest growing channel for reaching consumers.
What Kind of App do I Need?
Every business is different, but almost every business need Growth and Efficiency. You can build an app to offer value to your users and generate more revenue, or you could solve a business problem and bring efficiency.
Apps come in all shapes and sizes. There are apps for gaming, business, education, lifestyle, entertainment, utilities, travel, books and more. You may want to offer a product for sale or a subscription service. You may want to solve a problem. Your app needs to offer something that keeps customers engaged and using the app repeatedly. Examples of successful business apps include an app for job searches, the point of sale, project management, sales and contact management, schedulers or utilities like Docusign.
|Type of Apps||Complexity (MVP)||Where is the complexity||Example|
Filling forms, Calculators,
|Low to Medium||Formulas or integration||Docusign, Deliveries|
Collecting data from various sources, presenting with graphics, charts etc
|Low to Medium||Integrations with internal or external systems||Roambi, Domo|
Extending the product features to tablets or smartphones
|Medium to High||Data Sync, offline||Salesforce1, Quickbooks, Mint|
|Sales & Marketing Enablement Tool
Accessing sales, marketing content on the go
|Medium to High||Customization, Syncing with CRM, Presentation Tools||Showpad, Hubspot|
Communicating to IoT hardware, cloud APIs, voice
|Medium to High||Business Logic Integration, hardware and app communication||Sonos, Nest, WeMo|
Team communication, messaging
|High||Integration with cloud-based system, real-time updates, complex notification structure||JIRA, Pipedrive|
Browse, search, discovery, booking apps
|High||Integrations, Scalability, User Experience||Uber, Airbnb|
App Development Costs
What does it cost to build an app? Of course, there’s developer time, but a professional software development team has many other expenses.
The costs vary greatly based on a number of factors. These include the scope of the project, the number of users your app is targeting, whether you decide to build the app with an internal development team, an agency or a freelancer and more.
Let’s begin by examining app development cost if you build the app with an internal software development team.
To estimate the app development cost, you must consider the costs of the entire software production environment are assuming it is designed and managed to run as efficiently as possible. This includes personnel, operating expenses, hardware and software tools and development methods. Let’s examine these in detail.
App Development Cost: People
A significant contribution to app development cost is the cost of staffing the team. Software developers salaries are the primary expense, but there are other factors including incentive compensation, benefits, vacations, holidays, and payroll taxes. Recruiting expenses should be considered as well which may include advertising and management time to select candidates. Continuing education is important as well. It may include online learning resources or attending apple WWDC events or Google I/O. Add more conferences cost if you are focused on a platform business like Salesforce, Atlassian or Windows.
|When/Who||Designers||Domain Experts||QA Analyst||Business Analyst||Developer||Deployment team||Technical Architect||Project Manager||Management Sponsors|
The Quality Assurance team is a vital part of any competent software team. A commitment to adequately staffing QA is one of the best investment decisions a software group can make. Many companies understaff QA, a decision which often leads to software delays, poor quality or failed projects.
Today’s QA teams perform a wide range of testing which includes integration, functional, stress, performance, usability, multi-platform compatibility, and acceptance testing.
With the improvement of software development techniques including, the software QA world is now rapidly migrating to automated testing.
Several other stakeholders contribute to app development costs. Senior executives will contribute to the product strategy and monitor performance of the software development team. Business analysts to convert business requirements into software requirements documents, Technical architects to create the architecture for the system(apps, backend), project managers and product managers all play a role. A portion of their time adds to the app development cost.
App Development Cost: Process
Cost is spent on different activities or phases of the project. Here are the five major cost centers
- Designing: User Experience design including wireframes, low-fidelity designs with Appflow, high-fidelity designs with interactive prototype
- Development and Deployment: Coding, Testing, DevOps, Delivery
- Maintenance: Apple and Google release major or minor OS updates almost every month. Testing and quality assurance of the app is required on every OS release.
- Upgrade: New features, enhancements
- 3rd Party Tools
Beyond the cost of personnel, software development carries costs related to the software development process. Modern software development uses DevOps to combines Development and Operations. DevOps automates software delivery as much as possible, resulting in the delivery of higher quality product in less time. The automation results in major gains in productivity, but setting up the automation comes at a price.
Agile requires daily scrums or other frequent meetings and a system for tracking the backlog, the current sprint, deliverables, testing, timeline, and bugs. There are many tools designed to facilitate this including Jira, Confluence, Trello, and others. The time required for this communication and the cost of software tools both contribute to the app development cost. The most popular tool for project management is JIRA.
With a team of developers, it’s crucial to maintain a quality code pipeline. Each developer must be able to write code and check it into a common code repository, as well as be sure the checked in code works smoothly with everyone else’s code. The best way to accomplish this is to have an automated process. Source code management with tools like Github or Bitbucket also add to the cost of the app development.
When the developer checks in code, a new version of the app is automatically built including the new code and a series of automated tests are run to assure everything is working promptly. This method is very efficient and catches bugs early, but it requires a server where the app will be built, software to compile and build the app when it detects new code, software to run the automated tests and QA time to write the tests themselves.
A goal of Agile development is the ability to deploy the current build after every sprint for internal or external testing. Doing many small incremental builds and deploying them to QA reduces risk. If a problem occurs, it can be found more easily and quickly since the scope of changes is small. The only way to accomplish this without bogging down the team is to automate the build and test process.
To accomplish Continuous Delivery, the software is built on the build server, then is deployed to a testing server. The testing server is where QA performs the bulk of testing and consequently many of the QA testing tools are deployed on that same server. When testing is complete on the test server (ideally by use of rigorous automated testing), the software is deployed again to a staging server. The staging server is configured as closely as possible to the production server. This allows final testing before the code is put into production. Manual deployment of the app to production is the final step. Continuous deployment, therefore, contributes to app development cost by adding servers, continuous deployment software like Jenkins, or CircleCI and development of supporting scripts.
While the goal of Continuous Delivery is to have the software ready to deploy at any time, Continuous Deployment takes the next step and deploys every software change that has passed rigorous automated testing to production automatically. This represents the ultimate in software delivery efficiency, but it is not suitable in every situation. In a regulated environment, a human check may be required before deploying to a production server.
Infrastructure as Software
DevOps take a major step past Agile development. In a fully implemented DevOps world, the Operations team works with the development team to build software as efficiently as possible. For example, the configuration of the staging server should be as close as possible to the production server. Once the app is deployed to the staging server that server is no longer pristine. When testing of that version is complete the server should be reset to the state it was in before software was deployed to it. With Infrastructure as software, the process of resetting the server is automated, and the scripts which reset the server are stored in a version control system like the app source code. DevOps makes the app development process more efficient, but the meetings, operations code repository and time to script the configurations all contribute to the app development cost.
App Development Costs: Operations
Beyond the cost of operation in the context of DevOps, there are numerous costs required for any software development operation regardless of development methodology. Hardware costs include computers, network infrastructure, wifi, cellphone, and telecommunications. Software costs include code editors (e.g. Visual Studio and MSDN), debuggers and code analysis tools.
If you’re hosting a backend behind your app there are costs for AWS, Google Cloud, Microsoft Azure or other service providers. Then, of course, there are the routine costs of an office including rent, utilities, office supplies, postage, taxes depreciation, office maintenance – and don’t forget the coffee! All of these factors contribute to app development costs. To manage this, accounting is required as well.
|App development Approach||Description||Complexity|
|Native Apps||Apps build using Apple and Google Android Native SDK||High|
|HTML5 apps bundled as native apps||HTML5 apps bundled using Cordova or ionic||Low|
|Cross-platform apps using Xamarin or Ionic||using wrapper for each platform.||Medium|
In-House vs. Freelancer vs. Agency
All of the app development costs described above must be paid by someone. The size of your investment will vary greatly whether you pay them directly by employing an in-house software development team or indirectly by hiring someone who provides development services.
An in-house team is the most expensive choice but gives you the most control. If your primary business is software development and your team will be loaded with work for years, you’re likely to pursue this path. If your primary business is something other than software development and you need an app to support your mobile strategy you may be better off with a third party provider.
Hiring a freelancer is the least expensive way to go, but is also the riskiest course. A freelancer may be an acceptable choice if your project is very small and can be done by one person, but as the project scope grows the risk increases. Only one-third of software projects are delivered on-time with sufficient quality. If you use a freelancer instead of a professional software development company, you’re taking a chance.
An agency specializing in mobile app development offers a viable option. An agency is a full-time software development organization that is likely to be experienced in app development, using best practices like Agile and DevOps. App development costs are far lower than an in-house development team and getting the product delivered is much simpler for you. You specify what you need to be built, the agency delivers the product and you pay one fee.
The following chart provides an estimate of app development costs for a minimum viable product(MVP) when using development resources of varying types and skill levels.
Cost for design, development and deployment
|Beginner experience||$350,000||$10,000 to $30,000||$100,000 to $150,000|
|Experts||$700,000||$30,000 to $50,000||$250,000 to $400,000|
3rd Party tools/ Subscription
|Amazon Web services
|Storage, Computing, Delivery||$1,00 to $1,000
Depending on how many users are expected for v1.0
|Bug tracking tools
|Collecting and Reporting bugs||$10 to $100|
Uptime Robot, Statuspage.io
|Continues monitoring of services||$10 to $50|
|Insights, reporting, analytics, funnel, retention report etc||$0 to $150|
|Apple Developer Account,
Google Play Store
|Account requires making the apps available on AppStore or internal distribution(iOS)||$250 to $400 per year|
On an average Apple and Google, each releases ten mobile operating system update every year. For each update, the apps should be tested and bug fixes to be done. Maintenance could cost between 20% to 35% of the overall project cost. If the solution include web component, then maintenance cost could go even high based on the complexity of the application.
It is essential for every business to consider its presence in the mobile world. Customers are moving away from desktop PCs and moving to mobile devices. If you don’t pursue a mobile strategy, your ability to reach customers may be shrinking.
App development costs can be high if you build your app with an internal team. Costs can be very low if you hire a freelancer, but the risk of a failed project or poor quality is highest with this approach. An agency specializing in mobile development offers a favorable app development cost with a much lower risk.