What are we talking about
What exactly is involved in creating an application? The most frequently asked question by our clients. They want to know how much money and time will be required from them, how the work is built, where to start and how to earn money as a result, not lose it.
This important question, which cannot be answered in a nutshell, inspired us to publish this series of articles. They will not contain vague advice from the series “how to make an application: three easy steps.” But there will be the experience we have accumulated over more than five years of work in the mobile development market, examples from practice and a guide to action.
In previous posts we have covered:
- how to understand that your business needs an application;
- how companies from different industries use mobile applications;
- how much does development cost and how to save on it.
Now let’s talk about how the work on creating a mobile application is built: what the analytics stage includes and what should be in the terms of reference.
Stages of creating a mobile application
In the studio, we usually build work like this:
- technical task;
- engineering and design;
- testing and stabilization;
- publication in the stores;
- support and development.
Each project is special. For one, you can combine several stages into one in order to implement your plans faster and cheaper. For others, it is advisable to go through all the stages. We will help you choose the best path.
Stage 1. Analytics
Every application starts with an idea. You tell us what tasks the future service should solve, and we start collecting analytics. A deep slice of the market, an analysis of existing solutions, a study of competitors and customer behavior patterns… At each stage of the analysis, we keep the end user in mind and think through the customer’s life cycle. This helps us understand together how people will use the new application – and make it as convenient, understandable and useful as possible. This service will benefit your business as well.
What is the result: references for functionality and design.
Analytics is a fundamentally important stage. There is no need to abandon it and start working on the project from the terms of reference. In the process of analysis, we understand who is on the market, whom to focus on, and how best not to do it. We usually collect best practices and offer the client proven solutions that will work 100%.
Stage 2. Terms of Reference
We are compiling a detailed description of the functionality and design of the future application. We define user characters, describe user stories (User Story), draw up a user journey map (Customer Journey Map) and form technical requirements for the service. That is, we fix what the application should be like, what it should be able to do and how it will work.
Thanks to such a technical task (TOR), our team of designers and developers clearly understands what kind of service the customer wants to receive, and gradually implements the initial idea.
What is the result:
- a list of functions that should be in the application;
- interface requirements, user roles, security, performance and other non-functional requirements;
- a description of how all these requirements will be implemented;
- project estimate.
What are user stories
User stories (User Story) describe step by step how the user behaves in the application: passes authorization, 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 application, and his ultimate benefit. As a result, we get a list of requirements that allows us to determine the functionality of the future application and make it as user-friendly as possible.
Let’s say you want to make an application with which you can print photos as a photo album. The main user stories will be creating an account, choosing photos from a photo gallery, choosing an album size, paying for an album with a card, accessing order history. We always work on user stories as a team and always together with the customer. This helps to think through all the nuances and look at the whole system, and in the future to avoid difficulties at the design and development stage.
What is a user journey map
The Customer Journey Map allows you to visualize how different characters will use the application in each of the user stories. On such a map, the entire path of the user is visible – moving between screens and clicking on buttons.
Mapping helps you understand how to technically implement all the features of an application.
We are making a user journey map in Miro. The whole team can work on the map in real time, and the customer can view the result in presentation mode.
Checklist: what should be in the TechTask
Each development studio has its own approach to compiling this document. We believe that for the successful implementation of the project, it should reflect the following.
1. General information:
the purpose of the service;
platform compatibility: it will be an application for iOS, Android or other platforms;
scalability: whether the application can quickly adapt to sudden changes and peak loads, such as an increase in the number of users or the volume of data transfer;
fault tolerance: whether the application should continue its work if one or more of its components fail.
2. Functional requirements for the application:
user roles: what levels of access should different users have, such as guest and authorized user;
data formats: how data exchange will be implemented in the application;
integration: should the application work together 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 something else, for example, work with files or encryption libraries;
configuration and administration: with what elements the administrator will manage the application;
system composition: what the mobile application consists of, i.e. screens, push notifications, authentication system, etc.