Mobile app development timeline and stages

Originally I have created this article for Syndicode blog as far as mobile application development is one of the key work directions for the company I work in. This article will not cover the field of PWA that will definitely take a larger share in the future, and I will mostly speak about native apps. Here you can find the fundamental steps that take place in mobile app development and the approximate time for each step.

Nowadays mobile apps put your business in people’s pockets, connecting you to a larger audience across the modern devices people use. So having a mobile app will definitely help to grow your business. But mobile apps take time. Normally, from one to five months to build it from scratch depending on the size and complexity of the app. This estimation is quite rough so some of you might argue. I’ll try to form a primary scope of stages for mobile app development and time they might take.

Mobile app development requires a significant amount of critical thinking, research, and market analysis prior to development. Regardless the development method (it often comes to Agile for mobile development) the basic stages of the development will include:

  1. Planning
    This stage consists of business rules planning, requirements gathering, reviewing best practices, competitive & problem research, stakeholder interviews. Here you need to have a solid understanding of your target market and your ideal customers. Ideas validation and research can take up to several weeks
  2. Functions and features
    At this stage, you must decide upon the exact functions and features of your mobile app. Here you also have to understand how will your app handle data? Will it collect original data from users or tap into existing data frameworks?
    Another crucial decision you’ll have to make at this stage is whether your app will support multiple operating systems and/or devices or, alternatively, be confined to only one operating system and/or device. Here you will decide:
    – whether you take two different programming languages to develop the two separate versions of your app, or
    – whether you use a cross-platform development tool to develop both versions of your app concurrently and thereby streamline the process.
    This stage of development will take about 3–5 weeks
  3. UI/UX Design
    At this point, your designers’ team work on creating personas, form the task list and UI wireframe, create mockups and analyzing the user feedback. This step may take about two weeks
  4. Frontend development
    At frontend development stage you will have a real prototype inside app to check the interaction experience and get the user feedback. This will result in a frontend code
  5. Backend development
    API, backend architecture, and quality control must be done at this stage.
    Together, frontend and backend development can take minimum five weeks. To complete more complex product your team can spend about 18 weeks, this figure is broken down into an estimated 10 weeks for backend development and 8 weeks for frontend development.
  6. Testing
    The testing stage should include several types of tests: functional testing, integration testing, user testing, device & unit testing and bug fixing. If you have conducted a proper round (or several rounds) of alpha testing then your beta testing stage shouldn’t take longer than approximately 3 to 4 weeks to finish
  7. Deployment
    While deployment process is running you have to ensure backup
  8. Maintenance & Support
    This stage is important to provide great user and client experience. Here you will have to do backups, server monitoring, updates & upgrades, troubleshooting and constant bug fixing

But this stage is the last one only nominal because after deployment you’ll have to constantly make evaluations and analysis to provide a good maintenance and support.

Credits for the info-graphic to ONEFIRE

Now, when you have some figures about mobile app development stages duration, you can calculate an approximate time to develop your own mobile app depending on its complexity and features.

This list will help you to understand in what way different mobile applications can take a different amount of time to be developed:

  • basic stand-alone app with no internet backend support will take 2–3 months to develop
  • app with server support with backend support with service and internet mobile integration will take 3–4 months to develop
  • graphic intensive app with high-level design expertise required and backend online support will take 6–12 months to develop

From the statistics provided in GoodFirms reports we can see:

  • “Feature-rich highly complex apps” such as Instagram and Uber take anywhere from 4.5 to 5.5 months to develop;
  • “Medium complexity compelling apps” like WhatsApp or QuizUp require around 4.6 months to create; and
  • “User-friendly apps with lesser functionality” such as Tinder and Periscope take about 3.8 to 4.1 months to finish.

Take a note for adding some extra development time for:

  • Multi-platform
    Multi-platform mobile applications take a longer time to develop (in contrast to a single-platform app). Developing an app for more than one operating system and/or device will virtually always take longer to finish than not doing so. Another point to think about: although the difference is becoming less pronounced over time, developing an app for Android typically requires more time than creating one for iOS — up to 20–30% longer. It also will take longer to market the multi-platform app
  • Design improvements
    Several weeks should be added to create the design tested and improved on the base of user experience
  • Social media
    An integration with social media, login and sharing options might take up to two weeks additionally.

Despite the desire to launch the app as soon as possible, be careful. Because being the first-to-market can make the difference between a runaway success and a product that never makes it off the shelf.

Not to lose the development speed and keep the quality level, there are some hacks to speed up your mobile app development:

  • Low-fidelity wireframes as a guiding blueprint
    It can save your time to map out and plan the layout of your app from a design and architectural view. These low-fidelity wireframes are quite abstract and include less detail, but they will give your programmers a better idea for the functionalities you want built-in and will give your UX designer more direction in how to design the user interface
  • Launch your MVP at first
    Rather than market a robust, fully-formed product you should better launch only a minimum viable product. This will make you immediately begin collecting data for the feedback loop and update your product with the new requirements discovered at the MVP stage. Google and Facebook, as you might have noticed, always practice this hack before the major launch: they release the beta and test how users will react
  • Why not a hybrid mobile app?
    Cross-platform hybrid solutions allow you to use a single codebase to target multiple platforms, rather than writing native code for each platform separately. You build once and get two apps, for both Android and iOS platforms. But hybrid apps don’t come without their drawbacks. Hybrid apps handle animations with less fluidity and take up a substantial amount of memory. A number of startups have used them to quickly penetrate the market, then replace them with native apps to provide a more robust solution. Consider that
  • Outsourcing
    This option will save your time and efforts by taking help from more experienced software development teams. Sometimes outsourcing for developers is more efficient than having your in-house team do it. This is especially true if you’re coding add-ons to your core product or coding versions of your product for different devices. Let’s say you have iOS developers and want to launch Android version, so instead of forcing your team to spent time on learning new stack, you can just ask for outsourcing
  • Automated testing
    By automating testing, you can simultaneously run a suite of tests that would otherwise take hours to complete manually

I hope this article will be helpful for your mobile app development!