Developing an application is a time-consuming process comparable to starting the entire business. The whole team is involved in the development. Each team member is a specialist in their field and solves their tasks on maximum.

Project success is creating appropriate milestones. Over 5 years of work, we have identified an effective strategy we adhere to when working on each project. We would like to share this knowledge so that you can create a really good product and develop mobile industry.

Following our concept, the first version of the product should be the MVP-version (minimum working version). This version, as a rule, is developed for a maximum of 3-4 months and has a basic set of application logic, which can already be published and go through the «validation» phase of a business idea.

In our team, communication with the customer is carried out through CTO (Chief technology officer or technical director). CTO and the customer together make all major decisions and control the development process at all stages. Monitoring and task-setting  is done via Issue Tracker, as well as reports and interim versions of the application.

To ensure proper development of the first version of the project, it must be carried out in accordance with the technical documentation. Doing so, the first month’s activity should be focused to the following areas: getting to know thecustomer and business, analyzing the project and competitors, conducting online or offline meetings, developing a UX design and technical specifications. The next step is the development of UI-design (based on the completed UX and technical tasks). UI design implies the interfaces of all screens, the application icon and other graphic resources that determine the look of your future project.

The development stage is the process of creating the software part of the project. We recommend conducting it in two stages: creating a local project logic and developing a customer-server or other functional implementation. A big plus advantage of this approach lies in the fact that after 50% of the work, the customer will see a fully finished application which will be filled with test data and will serve the prototype of the final solution.

After the development process is over, it is necessary to take the time to test and optimize the application. Our team carries out internal testing and provides the customer with a ready-made assembly (program) for external testing (with the featuring customer’s staff members or the project’s focus group). Additionally, analytics should be additionally installed in the application to track key indicators and have a tool for measuring user events and behavior.

Publishing a project is a key event after which the application will be accessible to all users on Google Play and the App Store. This is followed by a new stage, which is the project promotion, support and further development.

Now let's take a step back. You  are likely to have an idea for your future mobile application, or there is a business in which a number of tasks should be solved with the help of modern technologies. Therefore, our goal so far is to understand how to correctly and efficiently develop a mobile application, to create a product in which you invest your resources and in the end receive results that will meet all your expectations. In this regard, we will talk about the ideology behind an appropriate arrangement of project development.

We will give examples based on how our team makes it work. Have a more detailed look at each of the stages of creating the application:

 

Project analysis

Purpose: to get acquainted with the customer and business, to determine the concept of the project.

We schedule the first meeting with the customer, during which we determine the main idea of ​​the project, take notes, answer main questions, explain on the opportunities in mobile development, what are emphasize pros and cons of each solution and form a brief for the subsequent meetings. Depending on the size of the project, we can hold a number of additional meetings and ultimately get a ready-made application concept.

At this stage, our main task is to determine the optimal list of works that to be carried out as part of the development of the first version of the project.

 

UX design creation  

Purpose: to visualize the future application.

The next step is to develop application prototypes (UX design). Our designer draws in drafts all the screens in the Figma graphics editor and provides a map of transitions from screen to screen.

As a result, we have a ready-made visualization of screens and their interaction. The application’s life cycle is well understood at this stage, and the customer can make adjustments and wishes before developing the documentation.

We develop prototypes of high detail and don't use ready-made solutions for prototyping, because each project of ours is unique.

 

Technical documentation development  

Purpose: to describe all functional requirements to the development of the future application.

The development of the future project is carried out in line with the terms of reference. Each new version of the project has its own terms of reference. As part of this work, a new document is created based on the UX design, concept and customer requirements. As part of this work.The document has the name of the project and version, a work plan with a division according to the direction of development and a detailed description of all screens and functions.

The terms of reference are checked and signed by the customer and serve the main guidance for future work. New tasks that are not included to the terms of reference are described and developed additionally.

 

Creating UI Design

Purpose: to create a unique application interface or branding of the project as a whole.

Creating the UI-design of the application is a key stage, at which the development of the appearance of the future project’s layout takes place. All our works comply with the requirements and guidelines of Apple and Google, while the development is carried out in our own unique corporate style.  

Upon completion of this stage, the customer will have a fully finished and finalized application design which is suitable for development.

We also develop the application icon, prepare resources and metrics for developers, create necessary graphic resources for publishing the application, and many other.

 

Local application logic development

Purpose: to create an application which will be ready for demonstration, perform local functions and correspond to the developed design.

The development of the program part of the project begins exactly at this stage. We explore the project, design the architecture of the system, model, database, and try to lay the maximum logic and flexibility into the project code. Upon completing 50% of the work, we are ready to demonstrate the local application to the customer and receive the first feedback.  

Android applications look like an APK file that can be installed on any Android device; other available distribution options make it possible to receive an email invitation and start testing by reference. iOS applications are distributed through the TestFlight tool, where you it is also possible to organize testing by reference and install the application for hundreds of users prior to the release.

 

Client-server logic application development

Purpose: to successfully complete the development, to create all software components.

At this stage, we continue to work on the software part of the project. We are finalizing client-server logic, connecting the API, the necessary services, we process errors and all states and connect real data sources.

At the output, we get a ready-made application that meets terms of reference and design. The application is ready for demonstration to the customer and requires testing.

We don't recommend you to create cross-platform applications (which we don't do, either) we resort to native development only. Users feel it when they are work with a well-developed, functional application and strive to use just such products. We spend weeks writing code, producing creative ideas and implementing them. Your ideas and energy are the key to the project success as it is you who create its foundation.

 

Testing and optimization

Purpose: to check the functionality of the application before launching.

Testing is carried out in two stages: internal and external.

Internal testing is performed immediately in the process and after development run by our programmers. We check the possible bugs in the application interface and program code under different conditions of use and different configurations of Android and iOS (on real devices and using simulator-based ones) as part of this testing. We certainly connect Crashlytics, an analytics service that collects possible malfunctions of the application for further analysis.

External testing is performed on the customer end. At their discretion, this can be testing may be carried out within the company or imply external testing on real users, the project’s focus group or feature a third-party independent tester.

All possible problems which were detected during testing are called «edits». We provide a test period during which we remove all software or graphical edits. If editing involves the development of new functionality, which was not mentioned in the terms of reference, this type of work is called «addition». The implementation of such tasks should be coordinated separately.

The testing stage is very important because it enables you to detect and fix all possible problems that may appear in the application before its release.

 

Analytics implementation

Purpose: to understand how and why users use the application.

Analytics is an important process that should be paid attention to in every project. It is impossible to beforehand find out what users like or dislike about the new application. If users have negative experience with the application, this will lead to negative feedbacks and uninstallation of the application. Without analytics, we will not be able to understand at what stage problems and crashes occurred. Connecting analytics systems and tracking results enables you to make the application more convenient and to correctly build the further process of project development. It is important to understand which functions are used more often and give them priority, and which should be excluded or reviewed. We try to approach each project masterly and create a set of hypotheses and metrics for monitoring, which in the future will answer our basic questions.

Data collection is the core of any analytics. We integrate special services into the application that make it possible to track user interactions with interface elements (button clicks, transitions, etc.), time spent on specific screens, installation, removal, login, in-app purchases and other events.

There is no single formula for all projects, so we plan for a specific product all possible user events, which are important to collect and build in a marketing funnel. Based on the data obtained, we can infer important conclusions regarding the entire project.

 

Publishing Application

Purpose: to launch the project and get the initial results.

The procedure for publishing the application on the App Store and Google Play is outlined below:

  1. Prepare release builds (corresponding applications in ipa- and apk-applications for loading into application markets with final data). Sign assemblies with production certificates of authenticity.
  2. Prepare ASO optimization: relevant text and graphic resources for display.
  3. Prepare legal information and basic documents for publication: privacy policy and user agreement.
  4. Register developer accounts and fill out application pages in the market.
  5. Submit applications for review (each release of the new version is checked manually by Apple and Google).
  6. Conducting a dialogue with the review team (the team that does the verification) and, in some cases, making changes to the project.
  7. Application release.

There is also a practice for individual marketing campaigns to do a pre-order release, that is, when your application is already available on the App Store and Google Play prior to its official release. Such application cannot be downloaded before the release date, but users will be able to familiarize themselves with all graphic and text materials and make a pre-order.

An app’s verification takes from three to ten days. In case of rejection, the described improvements should be undertaken and the application should be resubmitted for review. We have an expertise in working with the review team and in the proper construction of projects that comply with the rules and are sure to help our clients conduct the entire publication cycle. We do not undertake projects that are related to gambling, spyware or malware, or other areas that are prohibited by the rules of Apple and Google.

After successful publication, your application will become available to users and your future customers.

 

Project support and development

Purpose: controlling and scaling of the project.

All successful projects need ongoing support and monitoring. We suggest to manage your project plan individually. For example, for social networks, is important to organize constant monitoring and, according to the rules of the GDPR, within 24 hours, remove all undesirable material that violates the user agreement.

You should separately plan a marketing campaign before the publication of the project and build an effective promotion strategy.

Our projects downloaded total more than 1M users! And your future project can gain great popularity, therefore, it is necessary now to build effective development processes and create a good product.

 

Still have questions? You can always contact us. We provide advice at all stages of development and help our customers create the best and most profitable business today – a mobile application. Besides, we provide additional access to classified materials.

 

Follow our updates, we are creating new articles, where we will give you more details as to each stage of the project development and consider examples of their implementation.