Presentation on how to chat with PDF using ChatGPT code interpreter
What to Pay for a Mobile App - 6 Tiers of Mobile Developers
1. What to Pay for
a Mobile App
6 Tiers of Mobile Developers
Introduction
So you’ve decided that you want develop a mobile app for your business. Now you need to figure
out how to do it and what it should cost. Best case, you’re a great developer yourself or your
business partner or a team member is, but either way, you should develop a plan and a high level
business case for the resources.
Note: We use the term mobile app to describe native apps, hybrid apps and html5 apps which
mean that this white paper is applicable to both mobile apps and mobile websites.
Before you start development
One thing you’ve got to know: if you’re building a mobile app, the actual development is usually
less than half of the project. Even if you use agile methodology, defining your requirements up
front and following a process will pay off in the end. The activities are:
Define the key objectives / success criteria for the app
Agree on your target audience and based on this the target OS platforms, OS versions (which
versions of iOS, Android, Windows Phone, etc) and screen sizes (e.g. starting from low end
240x320 Android devices to top end retina tablet displays)
Write and prioritize the key use cases for the application
6 Tiers of Mobile Developers WHITE PAPER
1
2. What to Pay for a Mobile App
Create wireframes ranging from just sketches to detailing every screen depending on the
scope of the project
Design mockups of what the app should look like, including splash screens, logos, buttons,
color patterns, fonts, interactions, animations and more. The detail of the designs will depend
on the complexity of the project, your ambition and who does the development (e.g. if the
developer is a UX specialist then less design work is required up front)
Assess the need for usability testing before, during and after the project. In some projects a
complete set of mockups is produced which is tested on users to optimize flows and UI before
any development starts
Identify and specify external dependencies such as content management tools, content feeds,
payments, social network APIs, etc
Specify the non-functional requirements such as languages, reporting/analytics (e.g. using
Flurry or Google Analytics), performance (page loading times), off-line support, error
messages, quality requirements and documentation standards for the code
Create a high level system design (together with the developer) for more complex projects
with external dependencies and use of 3rd party components
Identify risks and contingencies during the project
Agree on acceptance criteria for the project including test cases, target devices and final
design approval
There are obviously app development projects that require considerably less up front work, but
make sure it is a conscious decision if you skip tasks on the list above. Our experience from over
500 projects is that putting in the effort up front always pays off at the end—especially when it
comes to budget overruns, meeting timelines and the quality of the application.
6 Tiers of Mobile Developers WHITE PAPER
2
3. What to Pay for a Mobile App
Choosing a developer—what should you pay?
Quora, blogs and forums are flooded with questions and answers about mobile app development
costs. Some of the responses are comprehensive but without sources or qualifications, others are
simply opinions from independent developers. This has resulted in some major misconceptions
about the real cost of mobile development. Here we’ll try to straighten some of these out:
First, your app will almost certainly use all of what you have budgeted—whatever you have
budgeted. This isn’t a tricky way to dodge the question of what an app will cost. When you build
a house, you don’t ask the contractor how much it will cost. They ask you for a budget and then
tell you what you can get for your money. This is no different when developing a mobile app.
You get what you pay for and contingency needs to be allowed to make sure there is a buffer
as requirements sometimes need to change or new features may need to be added during the
development.
To simplify, we’ve defined six tiers of app development (extended from three according to Brett
Miller’s article in Custom Software by Preston) based on more than 6 years of experience and over
500 app projects including apps for some of the biggest companies in the world as well as small
businesses just getting into mobile. We’ve tried all of these:
1. DIY app development tools
Do it yourself (DIY) development allows anyone to develop a mobile app based on templates
without the need of development skills. The advantage of this is that you can launch an
app at a very low cost. But the downside is that you are very restricted by the templates
and functionality and you still need to have a pretty good understanding of apps and or
great designers and creative resources to develop and launch a great app.
Examples: Mobile Roadie, Swebapps, Kanchoo and AppBreeder
Cost: $500+ for the tool + your own time
2. Off-shore development
Most big corporations off-shore some of their development and operations today, whether it
is direct or indirect through a consultant such as IBM, Accenture, Sapient, etc. The advantage
for well specified IT off-shore development and production development to India and China
can be a big cost saving. However, the disadvantages include longer lead times, greater
overheads in communication and specification work, less proactive solutions that don’t
address your local market, and high failure rates. It also takes time to learn how to manage
offshoring efficiently (See: The Hidden Costs of Offshore Outsourcing in CIO Magazine). If
the price seems too good to be true, then it probably is.
Examples: There are hundreds of developers in this category
Cost: $15-30 per hour
6 Tiers of Mobile Developers WHITE PAPER
3
4. What to Pay for a Mobile App
3. Freelance developers
Using contractors or freelancers is popular among midsize companies as they have the
freedom to bring in specialists for a limited period of time without taking the risk of
permanent hire. In addition to this, it is usually easier to check the references of a freelancer
when hiring. The disadvantages are that projects can take a lot longer and cost more than
expected, the person may disappear with all knowledge at any time, there could be a single
point of failure if something goes wrong, quality and functionality are limited to the person’s
own expertise and lastly, it is difficult to verify the quality of their work and ensure a quality
QA/testing of the app.
Examples: Thousands of freelance mobile developers
Cost: $40-50 per hour
4. In-house development
Big companies such as Amazon, eBay, Google, Walmart, etc. hire, train and frequently
acquire their own developers since the mobile app platform is considered a core part of
their business (e.g. eBay acquiring Critical Path in Dec 2010 and Walmart picking up
Ubermind in Jan 2012). The advantages of in-house development include keeping
knowledge in-house, less time spent on contract negotiations and potentially lower
development cost than when using third parties. The disadvantages are that recruiting and
retaining skilled developers is very difficult, (salary costs are high or very high in areas such
as Silicon Valley, New York or London), internal development teams often have less
experience, input from other businesses and projects is limited, and frequent major project
overruns can arise as there is often less accountability in internal IT departments.
Cost: Ranges from $50 to $140, depending on location (assuming US or Europe).
5. Mobile app development agencies
There are hundreds of mobile app development agencies ranging from companies with
2 people to more than 100, and most are made up by people with a web development
background. The advantage of these specialized agencies is that many will commit to
a fixed price and timeline for projects. This, of course, reduces risks for the customer. The
disadvantages are that expertise and quality varies a lot between agencies, development
skills for more complex tasks such as back-end integration are limited and costs frequently
rise during the project due to unplanned changes and issues.
Cost: $50-150 per hour (Note: you’ll have a range of personnel working on your project –
some senior and some junior, so your aggregate rate will be a blend somewhere between
$50 and 150 per hour)
6. Premium solution vendors
There are a few bigger companies that have a reputation of consistently delivering mobile
services and marketing campaigns with great user experience, innovation and creativity,
managing complex backend integration and projects across multiple OS and territories and
launching industry leading mobile services. These agencies consist of a mix of experienced
digital agencies that have gone mobile and mobile specialists. The advantages are that
they have processes, people, technology and quality assurance based on years of experience
and their reputation doesn’t allow failure. The disadvantage is that hourly rates and minimum
budget commitment will be higher.
Cost: $60-200 per hour (Note: as above, you’ll have a range of personnel working on your
project – some senior and some junior, so your aggregate rate will be a blend somewhere
between $60 and 200 per hour)
6 Tiers of Mobile Developers WHITE PAPER
4
5. What to Pay for a Mobile App
One last factor to consider is the reuse of code/products from other projects. E.g. if your app is a
mobile shopping service then it might be worth considering working with a partner that has built
an app of this kind before. Code reuse can be difficult however so there is no guarantee that it will
reduce cost or timelines. Usually the experience of having done a similar app is more important
than any actual code developed.
Once you’ve chosen what kind of development partner/method you want there are still four key
factors that will impact the cost:
1
2
3
4
Backend
integration
complexity
including
maturity and
documentation of
APIs
Functionality in
terms of number
of features,
complexity
(e.g. Augmented
Reality) and
whether it has
been done before
User Experience
requirements can
range from simple
to very detailed
wireframes,
advanced
interaction design
and pixel perfect
design, which
requires a lot of
optimization
Quality
Expectations
in terms of
performance,
reliability, error
management and
target devices to
be fully supported
Paying a higher hourly rate doesn’t necessarily mean that the project will be more expensive in
total. A great developer usually completes tasks much faster (5-10x) than an average developer and
writes cleaner better code which means that it will be cheaper to maintain (Source: The Mythical
Man-Month by Fred Brooks).
In summary there is no simple answer to the question “What is the cost of developing a mobile
app?” The cost can range from $1000 for a DIY app to between $50,000 to $250,000 for more
complex, immersive apps that require substantial integration with back-end systems.
Last but not least, when choosing the company or developer you want to work with it’s important
to check their references and ensure they have the experience and the aptitude they claim. Ask
for several references, contact them and make sure what they’ve worked on is relevant for you
and that the developer or team you are getting actually carried out the work. Check what part of
the work they carried out, what their responsiveness was like and delivery compared to timelines
and budget. This will increase your chance of success a great deal. Sometimes choosing an App
developer can be like choosing between ‘apples’ and ‘pears.’ Chemistry and whether you like and
trust them is important.
6 Tiers of Mobile Developers WHITE PAPER
5
6. What to Pay for a Mobile App
Making a plan
Before or after choosing the developer you need to establish a timeplan.
This usually consists of 6 phases:
1. Concept development
Concept development
1 Come up with the idea/concept and define objectives and target audience
Come up with the idea/concept and define objectives and target audience
2. Scoping
Scoping
2 Produce Use Cases, Wireframes, Designs, Non-functional requirements and other pre-
Produce Use Cases,
development activities Wireframes, Designs, Non-functional requirements and other
pre-development activities
3. Development
Developing the application in iterations, test and update scope within the budget constraints
Development
4.
3 Quality Assurance
Developing the application in iterations, test and update scope and ends
Testing starts as soon as the first iteration of development begins, within the when the agreed
budget constraints
acceptance criteria have been met by development. Final acceptance testing includes
ensuring it works on the agreed target devices.
Quality Assurance
5.
4 Appstore distribution and deployment
Testing starts as soon and deploy other of development begins, and ends when
Upload app to appstoresas the first iterationsoftware as required to the live servers the
agreed acceptance criteria have been met by development. Final acceptance testing
6. Post-launchensuring it works on the agreed target devices.
includes maintenance and updates
Plan for your release plan post launch
5
Appstore distribution and deployment
6
Post-launch maintenance and updates
Upload app to appstores and deploy other software as required to the live servers
Plan for your release plan post launch
The time each phase takes differs a lot depending on the complexity of the project, experience of
the team, and the development partner. Here’s an example of an average project.
Concept development: 1 week up to any amount of time as this is what the whole app relies on
Scoping: 2-3 weeks on average
Development: 6-10 weeks on average
QA: 2 weeks after development finishes
App distribution and deployment: 1 week
Produce a resource plan
It is important to plan for all resources that will be involved in the project and not only the
developers. This includes Project Management, Designers, Developers, other technical resources,
Marketing and potentially others such as legal and IT security could also be involved depending
on the size of your organization. Also make sure you have plans for holidays, illness or resignations
among the team members if the timelines are critical to you.
6 Tiers of Mobile Developers WHITE PAPER
6
7. What to Pay for a Mobile App
Stick to the budget
Whether it’s an internal or externally developed project you should agree on a budget for time
and resources (with some buffer for changes) and stick to this. Our experience is that it’s always
better to get to a point when you deliver what’s available at the time, launch or do an internal pilot
with this and close the project. Then agree on a second phase with new budget and timelines.
Otherwise app development projects have a tendency to go on forever as there are always things
that can be improved.
If you are working with an external developer they will most likely manage changes to the scope
and timeline through formal change requests which will incur additional costs. Plan for this from
the beginning.
Demand quality but manage expectations
There are no bug-free apps. You can test and test for weeks and months but there can still be bugs
that you haven’t found and you won’t know for sure how your app will work until you launch it with
live customers. This is not an excuse for not testing but a recommendation to have a realistic test
plan. Go through the agreed acceptance criteria for the project and keep on testing until you’ve
got no blocking issues for launch and your testing resources have been used up.
Quality and reliability is everything but there is obviously a huge difference between an app for
a local restaurant versus a bank or retail chain with millions of customers. Customers have high
expectations for big organizations but they can be a lot more flexible when dealing with a startup
or small business that is trying out new things. Therefore your quality testing and allowance for
known issues/bugs when you launch should reflect this. Google calls almost every product they
launch a beta for the first year to manage customer expectations and many startups follow the
same methodology, openly communicating to their customers that this is a starting point and that it
will improve over time. The most important thing is that you are aware of the limitations and issues,
that you have a plan to resolve them and that you communicate.
Launch, measure, analyze and refine
Finally it’s time to reap the fruits of all your hard work. This is where the real journey starts unless
it’s just a one off campaign. This is when you will find out if your app is generating revenue whether
direct as a paid app or in-app payments, advertising, sales of other goods and services (e.g.
Amazon or eBay), cost reductions (customer care, productivity, etc) or simply just lots of downloads
to build up a customer base that you can monetize in the future (e.g. Twitter). Analyze the
downloads, demographics of the users and usage patterns, read the reviews and ratings, talk about
it in blogs and forums, ask customers for feedback, listen and come up with a roadmap / action
plan to improve the app over time. You should at least plan for quarterly updates to make sure you
support new devices and OS version upgrades.
6 Tiers of Mobile Developers WHITE PAPER
7