Creating an application is a capacious process that is comparable to creating an entire business. The whole team is involved in the development. Each team member is a specialist in his field and most effectively solves his tasks.
The key to the success of the project is building of a right order of the development process. We have identified an effective strategy that we adhere to when working on each project over 5 years of work. We want to share this knowledge so that you can create a really good product and develop the mobile industry.
Our concept is that the first version of the product should be the MVP-version (minimum working version). Such a version, as a rule, is developed for a maximum of 3-4 months and has a basic set of application logic that can already be published and go through the “validation” phase of a business idea.
In our team, communication with the client occurs through CTO (Chief technology officer or technical director). CTO and the client together make all the major decisions and control the development process at all stages. Monitoring and setting tasks is done using Issue Tracker, reports and intermediate versions of the application.
In order for the development of the first version of the project to go right, it must be carried out in accordance with the technical documentation. For this, the first month of work should be devoted to the following areas: getting to know the client 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 finished UX and technical specifications). UI design is the interfaces of all screens, the application icon and other graphic resources that determine the look of your future project.
The development phase 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 client-server or other functional implementation. A big plus in this approach is that after 50% of the work, the client will see a fully finished application that will be filled with test data and will be the prototype of the final solution.
You should take the time to test and optimize the application after the development process is over. Our team carries out internal testing and provides the client with a ready-made assembly (program) for external testing (with the participation of the client’s staff or the project’s focus group). Additionally, analytics should be implemented 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 available to all users on Google Play and the App Store. Along with this, a new stage begins - the promotion, support and development of the project.
Now let's go back a bit. Most likely you 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, now our goal is to understand how to correctly and efficiently develop a mobile application. To create a product in which you invest your resources and at the end you will receive results that will meet all your expectations. It is about the ideology of the proper organization of project development that will be discussed.
We will give examples based on how this happens in our team. Let's consider in more detail each of the stages of creating the application:
Purpose: to get acquainted with the client and business, to determine the concept of the project.
We set up the first meeting with the client, at which we determine the main idea of the project, write notes, answer the main questions, explain what are the opportunities in mobile development, what are the pros and cons of each solution and form a brief for the next meetings. Depending on the size of the project, we can hold a number of additional meetings and ultimately get a ready-made application concept.
Our main task at this stage is to determine the optimal list of work that should be carried out as part of the development of the first version of the project.
UX design creation
Purpose: to get visualization of the future application.
The next step is to develop application prototypes (UX design). Our designer draws in draft form all the screens in the Figma graphics editor and provides a map of transitions from screen to screen.
We have a ready-made visualization of screens and their interaction as a result. The application’s life cycle is well understood at this stage and the client can make adjustments and wishes before developing the documentation.
We develop prototypes of high detail and do not use ready-made solutions for prototyping, because each of our projects is unique.
Technical documentation development
Purpose: to describe the all functional requirements for the development of a future application.
The development of the future project takes place in accordance to 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 which based on the UX design, concept and customer requirementsAs 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 client and is the main source of 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.
Creation of the UI-design of the application is a key stage in which the development of the appearance of the future project is carried out. 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. The stylish personal and competitive interface are passed to the application, but we prefer to focus on understandability and ease of use.
At the end of the development of this stage, the client will have a fully finished and designed application design that can be launched into development.
We also develop the application icon, prepare resources and metrics for developers, create the necessary graphic resources for publishing the application, and much more.
Local application logic development
Purpose: to create an application that will be ready for demonstration and will perform local functions and correspond to the developed design.
The development of the program part of the project begins directly at this stage. We study the project, design the architecture of the system, model, database and try to lay the maximum logic and flexibility in the project code. We are ready to demonstrate the local application to the client and receive the first feedback after completing 50% of the work.
Android applications are an APK file that can be installed on any Android device, or other distribution options are available that will allow you to receive an email invitation and start testing by reference. iOS applications are distributed through the TestFlight tool, where you can also organize testing by reference and install the application for dozens hundreds of users even before 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, we connect real data sources.
At the exit, we get a ready-made application that meets the technical specifications and design. The application is ready for demonstration to the client and requires testing.
We don't recommend you and don't create cross-platform applications ourselves, only native development. Users feel when they are faced with a well-developed, functional application and strive to use just such products. We spend weeks writing code, creating creative ideas and implementing them. We try to make applications that we want to use constantly. And your ideas and energy are the key to the success of the project, because it is you who create its foundation.
Testing and optimization
Purpose: to check the functionality of the application before running.
Testing is carried out in two stages: internal and external.
Internal testing is carried out immediately in the process and after development by our programmers. We check the possible defects in the application interface and program code under different conditions of use and different configurations of Android and iOS (on real devices and using simulators) as part of this testing. We definitely connect Crashlytics, an analytics service that collects possible malfunctions of the application for further analysis.
External testing is conducted on the client side. At his discretion, this can be testing within the company or external testing on real users, the focus group of the project or involving a third-party independent tester.
All possible problems that were identified during testing are called "edits." We provide a test period during which we eliminate all software or graphical changes. If editing involves the development of new functionality that was not stated in the terms of reference, then this work is called “addition”. The implementation of such tasks should be coordinated separately.
The testing phase is very important because it allows you to identify and fix all possible problems that may appear in the application before launching it.
Purpose: to understand how and why users use the application.
Analytics is an important process that should be given attention in every project. It is impossible in advance to find out what users like or dislike in the new application. If users have negative experience with the application, this will lead to poor recall and uninstallation of the application. Without analytics, we will not be able to understand at what stage the failures, problems, crashes occurred. Connecting analytics systems and tracking results allows you to make the application more convenient and correctly build the further process of project development. Understand which functions are used more often and make 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 allow you to track user interactions with interface elements (button clicks, transitions, etc.), time spent on specific screens, installation, removal, registration, 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 that are important to collect and build in a marketing funnel. Based on the data obtained, we can draw important conclusions regarding the entire project.
Purpose: to launch the project and get the first results.
The procedure for publishing the application on the App Store and Google Play:
- Prepare release builds (corresponding applications in ipa and apk formats for loading into application markets with final data). Sign assemblies with production certificates of authenticity.
- Prepare ASO optimization: relevant text and graphic resources for display.
- Register developer accounts and fill out application pages in the market.
- Submit applications for review (each release of the new version is checked manually by Apple and Google).
- Conducting a dialogue with the review team (the team that does the verification) and, in some cases, making changes to the project.
- Application release.
There is also a practice for individual marketing campaigns to do a pre-order release - when your application is already available in the App Store and Google Play until its official release. Such an application cannot be downloaded before the release date, but users will be able to familiarize themselves with all graphic and text materials and pre-order.
An app’s verification takes 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: control and scaling of the project.
All successful projects need ongoing support and monitoring. We suggest to managment 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.
Separately, you should 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. And also, we provide additional access to classified materials.
Follow our updates, we are creating new articles, where we will introduce you in more detail to each of the stages of the project development and consider examples of their implementation.