How long does it take to develop an app?
Many of you know that one of the most requested questions most software developers are asked is: “How long does it take to develop an app?”. We’ve already discussed some of the aspects of this question in our look into MVPs. Today we’ll dive ever deep into the answer; we’ll figure out how to create a rough estimate, explain the methods to calculate a timeframe, some tips to streamline the process and much more!
So, the time has finally come, you always had this wonderful idea that you want to transform into a usable application. You’ve even gathered some money, or persuaded some of your friends to be your investors! Fantastic, but one question everyone keeps asking you – how long will it take to develop your app?
The answer is quite simple – it depends.
It depends on many different factors: from the scope and requirements of your app to your choice of project management framework. From the allocated budget to the number of available staff and expertise. From your choice of server-side programming language; to whether you’re going to develop it as an MVP or SLC? Native, Hybrid or Cross-Platform? Etc.
We’ve talked extensively on the rough timeframes when it comes to developing for mobile solely as an MVP, hence today we’re talking about a full-fledged app.
There are many factors that come into answering this one simple question. So, let’s digest them one by one and then teach you how to calculate a good estimate of how long it takes to develop an application. We’ll throw a few examples at the end as well just to help you out!
Let’s dig in!
How long does it take to develop an app? – Planning the scope
First, you must define “what does your application aims to achieve for your customers?”.
Essentially, when you answer that question, you have a steppingstone to jump off and plan the features, capabilities, design elements, etc. Which ultimately are the key factor in figuring out how long will it take to develop.
Remember clear, elaborate, software requirements and goals are paramount when it comes to software development and the ultimate goal (success!).
The clearer you define your requirements and goals, the better accuracy you will receive estimating the timeframe of development! And the closer your team will be to achieving those estimates.
Deciding on the complexity of your application, on all its bells and whistles, is the main factor which defines whether your application can be done within 150 billable hours, or 3000. As in, if it’s done within a work week by a single middle entry developer, or within 6-8 weeks by a team of four developers.
Remember though, your focus should first be on definition rather than budgeting! The clearer your vision is during conception, the less time you spend during budgeting and figuring out the business objectives.
We mentioned how reputable service providers supply a certain consultancy window of at least 20 hours prior to start of every project – there’s a caveat, you must understand what you’re aiming to build and whether the market actually needs it.
Typically, this process can take anywhere between a week to three weeks.
This is simply planning and doesn’t usually enter your budget as billable hours, unless of course you have a small team and your boss one day enters your office and tells – We need an app! You ask what kind – he tells you “Figure it out!”
How long does it take to develop an app? – Weigh in the Budget
The most crucial factor to consider which has arguably the highest impact on figuring out the timeframe of development – Money!
Everyone knows the age-old adage:
“Fast, Cheap, and Good… pick two. If it’s fast and cheap it won’t be good. If it’s cheap and good, it won’t be fast. If it’s fast and good, it won’t be cheap. Fast, cheap and good … pick two words to live by.” – Tom Waits
And the beauty of it is that it applies to possibly all aspects whether it’s the service industry, manufacturing, or software development – anything really.
We’ve discussed at length the many things you need to keep in mind if you’re budgeting your application, especially so if it’s your first foray into that! We won’t go into specifics today, keeping the focus on aspects that affect the timeframe.
Ultimately however, you want to overestimate the timeframe when it comes to budget. Meaning – if you run out of money, all development stops; hence plan for the absolute worse! It’s better to finish your app and have some extra budget by the end of it, than run out of money and be left with a half-finished application.
How much money you have and can throw at the problem, does make a difference! Proper planning, team cohesion, and a higher number of expensive developer teams does drastically affect the development time of a project. At the same time, understand that you can accelerate it only by so much.
The good old joke applies – Don’t expect 9 women to be able to deliver a baby within a month.
It’s impossible to tell how much you can accelerate the development process by throwing X amount of dollars at it. It all comes from unique circumstances revolving around your situation and the expertise of the developers in question…
How long does it take to develop an app? – Gauge Your Available Expertise
Once you have a fair understanding of what exactly you want to develop and how much money you can throw at it, in comes the time to figure out whether you have what it takes to do it!
This means you either trust the Salespeople/PMs of the team you’re hiring and their assurances of proficiency about said team. Or your own development team in your office.
Regardless, any reliable estimate can only be provided by project managers working with a tight-knit group of developers, both back-end and front-end, with multiple years of experience and a large number of various projects.
So, if you’re planning on outsourcing your development to someone, look at their portfolio and success stories to have at least some confidence in their ability. And understand that you’re going to pay a bit extra for that confidence. Or go cheap with an untested and most likely inexperienced team of developers.
Only by talking individually with each developer in question, with a clear understanding what you want, and asking them up front – How long is this going to take? Will you get any reliable number of hours!
Anything else is either based on averages (experience) or wishful thinking.
How long does it take to develop an app? – Development Process & Modules
Speaking of project managers, we’ve already mentioned how they ARE the alpha and omega of your project, they decide the best way to achieve your goals! They do it by picking the best team for the job, selecting the project framework. They discuss any “on the fly” changes and generally are the glue that keeps it all together.
Of course, this jumps back to whether you have your goals set and ready. But let’s assume you do. A competent PM with tons of experience under his belt, would be able to tell, based on his experience and understanding of his teams’ limitations approximate timeframes. However, the same PM, will still have to go to each of his Developers, typically divided into teams on big projects with Dev-Leaders, and ask them personally:
“What’s possible code wise, what’s feasible, if they can do it, whether there are easily available third-party modules or do they have to build it from ground up, and most importantly how long will it take them to do so?”
Various PM frameworks differ massively but essentially, they all revolve around this simple premise – “explain to the developers what the project needs, then work towards those goals”.
What’s a module?
Speaking of modules. Don’t mistake them for npm/node modules.
What we refer to as “modules” is essentially closed off pieces of your application.
We’ve harped on multiple times on why microservices is the future, so we won’t beat that drum here, just use them! Anyway, these pieces form your application as a whole, one module takes care of user-registration, one is billing, another is your app-feed/wall etc.
During your consultancy phase or if you’re planning to do everything yourself, you’ll have your functionality/features list. A BA and a developer will tell you which modules you will need to use/build in order to achieve those features.
Of course, integrating already built modules will drastically affect how long it will take to build your app. On average the reduction in your billable hours is 30% overall. However, there are security issues present, as well as using “templates” will never replace custom built modules in achieving precise business needs.
Some Module Examples
Another point to understand – not all modules are created equally, or better said, supported equally.
For instance, integrating a PayPal billing module into your infrastructure will take no more than a day for an experienced developer. This is because PayPal supplies easy to understand step-by-step guides on their own site. Other billing options from less known, or well supported companies, might take anywhere from weeks to months to integrate!
Another basic module would be user authentication, normally this doesn’t take more than 20-30 billable hours to develop.
A more complex example would be user databases, which, again, stems from your business requirements. If you’re planning an application for roughly 10.000 users over its lifetime with maybe 100-200 daily users, a simple ORM based infrastructure and standardized frameworks will suffice. This basic infrastructure will take no more than a day for an experienced developer.
However, an application planned for billion users over its lifetime, will require a specialist database architect and various custom solutions, which can take from 3 weeks to 3 months on average, from research, planning, prototyping and deployment.
One of these “custom solutions” would be a ML algorithm to process this data, which speaking from experience, we can tell you – a senior developer, diving into ML from scratch will take roughly 600-800 hours, or 3 months.
Risk Assessment, Maintenance and Updates
A few points to consider before we give you our final verdict on how long does it take to develop an app. First point is risk assessment.
Risks are present everywhere, these can and should be planned around. They vary from project to project, business to business. One day we’ll compile a comprehensive list of all the things that can go wrong during development… but any experienced developer will tell you that “things go pear shaped” regularly.
Hence why you plan extra budget/billable hours into those instances, which on average is around 20 percent from the original estimate. So, if your app takes 1.000 billable hours, expect it to increase up to another 200, on average. If, for some reason, you disregard this stage in your planning, expect your hours to increase ten-fold!
Another thing to consider is that initial development is one thing, but bringing it up to speed with customer requirements takes time as well. This varies even greater in estimates, for as always, you expect your users to do one thing, and they find a way to do it “their way”.
This is where the pilot phase comes in, typically teams start dispersing at this stage with less “hands on deck”, after all most of the development process is finished. However, adjustments and small bug fixes must be dealt with, quickly and discreetly. This process typically takes around 1-2 months of heavy maintenance and close eye on your app.
Some businesses opt to “finish” the development process, and usually hire a single developer to maintain the product. Others will demand constant improvements, security updates, new features etc. This by itself is an indefinite process and hence no estimates can be calculated.
Final verdict – How long does it take to develop an app?
So, you’ve got the hang of all the different things you have to understand/keep track of when you’re attempting to estimate your app development. As you can see, this process is more art than science, and incredibly ever-changing. However, and this is purely from our experience, you can rely on the following “averages”:
An average relatively complex application (think standard) will take a team of 4 people to plan, design, develop, deploy and release out of the door in around 3000-4000 billable hours.
A high-level project with as many bells and whistles as you can think of, averages around 10.000-12.000 billable hours, taking around 1-2 years, with a team of 10 people. Think of a UX/UI Designer, QA, a few back-end specialists, several Front-End masters, a few DevOps to keep it afloat, and a separate mobile (IOS/Android) team.
Some Personal Examples
We take pride in our work, as well as in our clients. Having dozens of successful projects, we’ll give you actual numbers in some existing projects that we’ve been a part of.
First on our list is a relatively small and basic web-app, an amazing little barber shop with their own personalised website!
The requirements were small, the team likewise. We’ve spent 330 hours in Flutter to develop their Mobile. Back-End took us 500 hours, and the Front-End around 100. So, the overall development took 930 billable hours.
Next comes a more complex application, a caller ID and spam protection app for your phone: Me – | Free Smart Caller ID App
Of course, this took quite a bit of planning, and various system integrations. It took roughly 1.000 hours on the Back-End, another 1200 for the API, Android and IOS each took 1.500 hours, Front-End was 500, Infrastructure deployment another 300.
The design was provided by the client, so all we had to do is simply “give” them what they wanted. And all it took was 18 months and 6000 billable hours.
The Back-End and API took 800 hours, the Web-app 700 hours, Flutter development 500 hours, Front-End 500 hours. Overall development – 2.500 hours, back in 2017, since then the application has had many different iterations, updates, new features and much more. This is one of those apps that is technically still being worked upon, as it should be! If you want your business to succeed, you must always keep working on it!
Final estimate – Indefinite.
And that about does it! Hopefully you’ve gleamed some valuable knowledge nuggets for yourself! How long do you think it takes to develop an app? Tell us in the comments below!
Stay classy business and tech nerds!