+38766625692

Stages of Mobile App Development: What You Need to Know

10.06.2023

355


We at WINFOX usually structure our work as follows:

  • analytics;
  • terms of reference;
  • engineering and design;
  • development;
  • testing and stabilization;
  • publication in Stores;
  • support and development.

Each project is unique. For some projects it is possible to combine several phases into one to get it done faster and cheaper.
For others, it makes sense to go through all the stages. We’ll help you choose the best path. Below we’ll tell you what you need to know about each step.

Rustam Rustam Mukhamedyanov, CEO of WINFOX Studio

Step 1 — Analytics

Every application starts with an idea. You tell us what tasks should be solved by the future service, and we then start collecting analytics. An in-depth market survey, analysis of existing solutions, study of competitors and customer behavior patterns… At each stage of analysis we keep the end user in mind and think about the customer lifecycle. This helps us understand together how people will use the new application and make it as convenient, clear and useful as possible. This service will benefit your business as well.

As a result we provide you with references to functionality and design.

Analytics is a fundamentally important stage. There is no need to abandon it and start work on the project with the terms of reference. It’s in the process of analysis that we understand who exists on the market, who to focus on, and how it is better not to act. We at WINFOX usually collect the best practices and offer the customer proven solutions that will work for 100%.

Valery Sorokin, project manager at WINFOX

Step 2 — Technical task

We make a detailed description of the functionality and design of the future application. We define user personas, describe User Story, make a Customer Journey Map and form technical requirements for the service. This means that we fix what the application should be like, what it is supposed to be capable of and how it will work, and how it will work.

Thanks to these Terms of Reference (TOR), our design and development team clearly understand what kind of service the customer wants to get, and implements the initial idea step by step.

As a result, we provide:

  • a list of functions of the future application;
  • interface requirements; user roles, security, performance, and other non-functional requirements;
  • a description of how all of these requirements will be implemented;
  • an estimate of the project.

What are User Stories

The User Story describes, step by step, how the user behaves in the app: logs in, browses the catalog, places an order, makes a purchase. Such a story describes the user’s task, which he solves with the help of both the app and his ultimate benefit. As a result we get a list of requirements which allows us to define application functionality and make it as convenient as possible for the user.

Let’s say you want to make an app with the help of which you can print photos as a photo album. The basic user stories would include creating an account, selecting photos from a photo gallery, choosing the album size, paying for the album with a card, and accessing order history. We always work on user stories as a team and always together with the customer. This helps to take into account all the nuances, get the full picture and avoid unnecessary design and development problems in the future.

Rustam Mukhamedyanov, CEO of WINFOX Studio

What is a Customer Journey Map

The Customer Journey Map allows you to visualize how different characters will use the app in each of the user stories. This map shows the entire user journey — moving between screens and clicking on buttons. The creation of a map helps to understand how to technically implement all the functions of the app.

We make a customer journey map in Miro. The whole team can work on the map in real time, and the customer can watch the result in presentation mode.

Alexander Khrushchev, technical director of WINFOX studio

Checklist: what should be in the TOR

Each development studio has its own approach to drafting this document. We believe that for the successful implementation of the project, it should reflect the following.

1- OVERVIEW:

  • The purpose of creating the service;
  • Platform compatibility: it will be an app for iOS, Android, or other platforms;
  • Scalability: whether the application can quickly adapt to sudden changes and peaks in demand, such as an increase in the number of users or volume of data transfer;
  • fault tolerance: whether the application should continue to operate if one or more of its components fail.

2 — FUNCTIONAL REQUIREMENTS OF THE APP

  • user roles: what levels of access different users should have, for example, a guest and an authorized user;
  • data formats: how data exchange will be implemented in the application;
  • Integration: whether the application should support collaboration with other services, such as payment systems and mail servers;
  • access interfaces: how the application will exchange data with external services;
  • additional features: whether the application should be able to do anything else, such as working with files or encryption libraries;
  • configuration and administration: which elements will be used by the administrator to manage the application;
  • the composition of the system: what the mobile application consists of, i.e. screens, push notifications, the authentication system, etc.

3 — NON-FUNCTIONAL APP REQUIREMENTS

  • Security: security requirements for the application;
  • Logging: does the system need to generate and save error reports, that occurred while the application was running, and for what types of events this needs to be done;
  • performance: performance requirements for the application, e.g. of the database;
  • server hardware requirements: a list of specifications.

4 — IMPLEMENTATION OF APP FUNCTIONALITY

  • loading screen;
  • registration and authorization;
  • main screen;
  • menus;
  • search;
  • notifications.

Step 3. Engineering and design

Here our work is divided into two areas: UX-design and UI-design.

UX-design is aimed at increasing customer satisfaction.

At this stage we pack complex processes in the most simple, clear and useful application, which works without glitches and bugs.

UI-design defines what the application will look like, what its user interface.

The result is:

  • A screen map;
  • A static or interactive prototype of the application;
  • Rendered screens and interface elements.

Sometimes the customer says, «Let’s not waste time on the engineering and move straight to design. Don’t do that. Let’s say we eliminated engineering and did the design. You look at it, and you have a bunch of ideas about how to improve it. We make edits and redraw the design. Labor and the cost of the project doubles, and the speed of work is halved. The designer burns out, and you as the customer are not happy that the project became more expensive. Everyone is at a disadvantage.

Alexander Khrushchev, technical director of WINFOX studio

UX — design

The UX designer considers the interaction between design elements to see how the app works in all common user scenarios. How registration and authorization work, how the home screen and personal account look, how checkout and payment occur. We test the logic of the app and adjust it to make the user experience as positive as possible. As a result we get a prototype — a schematic model of the future app.

Engineering is especially important for projects with a high degree of uncertainty. For example, for start-ups.

UX design is an ongoing process. With each update, you have to keep in mind how people use your app. If after an update, users don’t feel as comfortable making purchases or need to make more clicks to get to a personal account, then you’re deviating and it’s time to work on your UX design.

Rustam Mukhamedyanov, CEO of WINFOX Studio


It is better to make an interactive prototype, for example, in Figma. By following the link, you can use the application as if it is already ready and installed on your smartphone. You can navigate through sections, press buttons, and perform various actions.

The interactive prototype is useful both during the design phase and for the customer. In the first case, it helps identify inconsistencies in the scenarios and correct them quickly. In the second case, the customer doesn’t have to explain in words what the service is for and how it will work. You can simply show everything on an interactive prototype, which increases the chances of quickly finding an investor and implementing the project.

Alexander Khrushchev, technical director of WINFOX studio

UI — design

The UI designer is responsible for the appearance of the future application. They select fonts, selects the color scheme, draws the interface elements:
buttons, icons, sliders, push notifications.

If the client has a corporate style, we take the guideline and do the design according to it. If there is no style, we offer our own vision, taking into account trends, the peculiarities of the business, and the audience. In any case, we always recommend working according to the guidelines from Apple and Google.

Valery Sorokin, project manager at WINFOX studio

Depending on the scale of the project, the design may take from one week up to several months.

Step 4 — Development

Programming is one of the main steps. Writing code for any application is divided into frontend and backend.

The frontend is where the client part of the service is developed, i.e. the user interface and the business logic of the application.

The backend is where the server part of the application is developed — it is responsible for for transferring data between users or resources.

The result is the first release of the application.

Frontend

There are many approaches to interface development. But you as the customer do not need to delve into them. It is enough to know the two main ones.

1 — NATIVE DEVELOPMENT

Native applications are written for a specific mobile platform: iOS, Android, Windows. The programming language used to write such services is supported by only one platform. For example, Swift and Objective-C understand only iOS, and Java or Kotlin understand only Android.

A native application can make the most of the hardware and functionality of a smartphone or tablet, making it very convenient to use. But at the same time it is possible to use original components and templates.

The Pros of Native apps:

  • are the most productive;
  • receive full support from the Stores;
  • intuitive, run more smoothly, are more familiar to the user and give more emotion;
  • the user interface is more user-friendly than that of cross-platform applications;
  • allow the developers to access the full range of of the operating system.

The Cons of Native apps:

  • are more expensive to start up and maintain than cross-platform
  • platform applications;
  • not the best option for simple applications.

2 — CROSS-PLATFORM DEVELOPMENT

These applications use shared development kits (SDKs) to create them. Because of this, cross-platform services do not take advantage of all the native advantages of each platform. But it is cheaper to make such an application. is the best option for projects with a limited budget.

The Pros of Cross-platform apps:

  • development and support is cheaper than that of native applications;
  • using the same code to create services for different platforms.

The Cons of Cross-platform apps:

  • low productivity and responsiveness;
  • a quality product requires highly skilled developers — they are few and expensive;
  • require more effort and time from developers to adapt the service
    to different platforms and devices;
  • operating system updates and new features can not be used as quickly as in the case of native applications.

Checklist: How to choose the type of application

Base it on your business goals and answer the following questions:

  • How fast and responsive do you want the app to be?
  • How important are the business processes that are built into the app?
  • What are the complex functions your app will perform?

The main difference between native and cross-platform is the speed and responsiveness of the app. It’s like driving a Porsche Cayenne and a Hyundai Solaris. Both cars drive on the road, accelerate, maneuver and enter corners. But the difference can be felt immediately.

Rustam Mukhamedyanov, CEO of WINFOX Studio

Backend

Once you’ve decided what kind of application you want to make — native or cross-platform — you need to deal with the server part.

Any application displays data: it shows what goods are in stock in the online store, how much stock is in stock, and which of the counterparties owe you money. All of this data is stored on the server. To create a server that effectively communicates with the application’s external interface, you have to think it through carefully.

At the backend stage, customer participation is minimal. You don’t have to think about where to store data and whether to use a serverless architecture — that’s up to the developers. At WINFOX we always decide on the best way for the customer to store their data.
The only exception is when it is necessary to integrate the application into an existing environment. Then you can say: «Do it in PHP, not in Java».

Alexander Khrushchev, technical director of WINFOX studio

Step 5 — Testing and stabilization

Testing is the process of finding bugs in an application, and stabilization is the process of fixing them.

Some customers neglect testing: «Let’s get started as soon as possible! If there are bugs, we’ll fix them on the go.» But the further you go into the development cycle without testing, the more expensive it will be to fix bugs.
We test the app at every stage. We test it for ease of use, compatibility with different devices and platforms. Testing Interface, load, security and performance. All of this enables you to fix the bugs in time and get a fully working product at the end.

Testing is expensive and time-consuming. But we don’t recommend that anyone give it up, to save money.

Rustam Mukhamedyanov, CEO of WINFOX Studio

After the main test, we recommend that you do a regression test. It allows you to make sure that there are no new bugs after the main tests and that the untouched parts of the code work properly. It’s expensive, but well worth it.

As a result you get the following:

  • a list of bug fixes and enhancements;
  • Bug fixes, retesting and stabilization of the application (bug fixes, regression testing).

Checklist: What Needs to be tested

  1. FUNCTIONALITY

Such testing ensures that the application is working properly. At this stage, the basic functions are tested: registration, authorization, the purchase process, and payment.

2. AVAILABILITY ON DIFFERENT PLATFORMS AND DEVICES

One of the most important steps. You need to make sure that the app works accurately on different platforms, iOS and Android versions and devices, on different networks and with different equipment.

3. PRODUCTIVITY AND LOAD

This step tests how well the application performs under normal and extreme workloads. These tests are important to make sure that the service works without crashes or bugs. Normally, startup time, battery and memory consumption, the process of communicating with the server, and data transfer speed are tested.

4. SAFETY

80% of users delete an app because it is not safe. We need to respect our users and make sure that their personal data, payment card data, and other important information does not get to intruders.

5. STABILIZATION

This is the stage where we do a final health check before releasing the app. We do not add new features to the application. We only fix existing bugs.

Step 6 — Publishing in Stores

When the application is ready, you need to put it on the App Store and Google Play. To do this, it has to go through moderation: the custodians check that the app meets all the requirements, and only then do they allow it to be uploaded.

Just as importantly, before uploading, make sure that your app can be easily found.

The result — the app is uploaded to Google Play and the App Store, where users can find and download it.

Optimization for Stores

With millions of apps available in both Stores, your service has stiff competition. App Store Optimization (ASO) helps make sure that your app can be found be found and installed without you having to pay for it.
So if people search for something, they see your app, they realize they need it, and they install it.

Checklist: how to optimize the application for Stores

  1. CREATE A TITLE AND A DESCRIPTION OF THE APP

The name of the application is the first thing users see. It should be catchy, unique, relevant to the application and its main functions.
It should also contain keywords. The maximum number of characters in the title is 50, so it’s better to choose one or two main keywords.
The description of the application, which is limited to 4000 characters, should contain the main functions of the application with the corresponding keywords.

2. MAKE ATTRACTIVE SCREENSHOTS

When browsing the app store, users are quick to judge apps by screenshot previews. They should immediately convey the functionality and interface of the app, so that potential users understand what the app looks like and what it’s for. Use brand colors, readable fonts and calls to action.

3. USE THE VIDEO

Store users often watch videos — it’s played automatically and without sound. Video increases the conversion rate to the installation and increases the number of installations themselves. Make a video that makes everything clear even without sound. Demonstrate how to use the app and why it’s convenient.

4. MAKE A NICE ICON

The icon is the main point of contact with users. The icon should be attractive and different from the competition. If they use volumetric design and red, go for a flat design and green. And remember: the icon should graphically represent the main function of your application.

Publishing on the App Store

The process of downloading an application to different Stores is slightly different.

  1. Create your own account or ask your project manager to post the application on behalf of the developer.
  2. Prepare everything you need to download: title, description, screenshots, video, icon and application file using xCode.
  3. Prepare a digital signature certificate. This can be done at developer.apple.com.
  4. Choose how you want to monetize — paid content in the app or pay per install.
  5. Download everything on the App Store.

Done. All that’s left is to wait for the application to pass moderation. It usually takes no more than a week.

Publishing on Google Play

  1. Create an account in the Google Play Developer Console or ask the project manager to post the app on behalf of the developer.
  2. Sign up for the Google User Agreement (Privacy Policy). If you don’t know how to do this, we can help.
  3. Prepare everything you need to download: title, description, screenshots, video, an icon, and an APK-formatted application file.
  4. Prepare a digital signature certificate.
  5. Choose how you want to monetize — paid in-app content or pay installation fees.
  6. Download everything on Google Play

As a rule, moderation on Google Play is faster than on the Apple Store.

Step 7 — Support and development

The app appeared in the Stores, and you’ve already told your customers about it. But that’s not the end — mobile app development doesn’t end at launch.

You have to make sure that everything works correctly from the technical side: the servers can withstand the load, there is free disk space, bugs are quickly eliminated.

At the same time we must think about development. As users download and use the new service, you will receive feedback and improve the application on that basis. And after a while you will probably decide that you want to to add new features.

As a result you get:

  • technical support for the finished application: refinement of the app based on the feedback, administration, filling with content;
  • development of the application, that is, the release of updates.

Support

As part of our support, we ensure the smooth operation of the application, find and fix bugs, make releases, work with user feedback.

In addition, we carry out technical work to monitor servers, backups, free disk space, support for iOS and Android operating system updates, and so on.

Support ensures seamless operation of the application, and thus takes care of your employees and customers. We eliminate bugs in the application, and you can be sure that all business processes work as they should.

Application support is priced by the hour. You pay for the time it takes to get the job done.

Development

If you want to meet the growing expectations of users and the ever-changing recommendations of mobile platforms, you need to update the app regularly.

An app development plan is called a road map. Such a plan is usually made for a year. Ideally, if the customer already has an understanding of how the app will develop. If they don’t — that’s okay, we’ll help to figure it out.

HOW TO CREATE A ROADMAP

The list of tasks that make up the roadmap is called the backlog. The backlog is usually updated based on user feedback and analytics data.

Reviews in Stores. User feedback in Stores should definitely be handled. But before introducing any new function or fixing the application according to the wishes of clients, you need to calculate how this will affect efficiency indicators. It is desirable to calculate it in money right away.

Sometimes (very often!) it is better to ignore user requests for the sake of to keep the interface simple and not bury the main function in tons of questionable options. To figure out exactly what to do, ask yourself just one question: «What percentage of the audience really needs new feature?»

Valery Sorokin, project manager at WINFOX studio

Analyst data. To start with, you can use free analytics systems in apps, such as AppMetrica from Yandex or Firebase Analytics from Google. Hypothesize how you can improve certain business-critical metrics: engagement, number of active users per day and per month, cost per app installation. Implement changes for part of the audience, measure the result, and then scale it up or roll it back.
Then do it all over again, which is the HADI cycle of continuous improvement.

We study the analytics and determine the indicators that need to be improved. After we arrange them in the order of significance and begin the work. We also constantly monitor competitors and include the best practices in the roadmap. Frequently the customer doesn’t understand what to fill the application development backlog with. We will help you to do this and justify our suggestions.

Rustam Mukhamedyanov, CEO of WINFOX Studio

Briefly

Once you’ve made an application, don’t give up on it. Take care of support and development. Work with feedback in Stores, make a backlog based on user feedback, and prioritize tasks based on analytics.
Try to calculate the financial effect of implementing new features. Add new features and measure the results. Do this kind of work all the time: as this sales channel grows, you’ll realize its importance.

    Подпишись на рассылку

    Tell us about your project

    Rustam Mukhamedyanov

    CEO

    Name

    Company

    Email

    Telephone

    Message

    X
    Planned budget

    € 10 000

    € 50 000

    € 100 000

    To send, click the checkbox with the conditions