What is the process of mobile app development, step by step?
Mobile app development is a complex process, so we decided to break it down a bit with SYNETECH’s CEO, Vratislav Zima.
Mobile application development is a complex process, so we decided to break it down a bit with SYNETECH’s CEO, Vratislav Zima.
We hope that a detailed description of the entire development process from the idea to the maintenance of the application will make it easier for you to think about the mobile application - whether you are in the process of considering it or you are somewhere in the middle of creating it.
What will you learn?
- How to think about mobile app development and what mistakes to avoid?
- Why develop a product with the least possible functionality?
- Why is it crucial to validate an idea?
- What is the user's journey through the application?
- That product specifications change frequently over time?
- Who works on mobile application development?
- Who is the Product Owner and why is his role crucial?
- What happens after the application is released?
- How to deal with errors when creating applications?
- Who to entrust mobile application development to?
How to think when preparing a project
Before creating the application at all, it is necessary to answer a few questions. Often, skipping this step leads to four main errors that can totally bury an application before development even begins.
1. error in the app development - vague definition
First of all, you have to understand that different clients have different levels of software knowledge, and that's perfectly fine. We therefore try to accommodate and correct oftenly held misconceptions. It often happens that someone comes to us and wants to "develop an Uber-type application". It is natural that these days the general public is becoming more interested in how much does such mobile application development cost. Unfortunately, we are not able to estimate the cost of project with this type of vague definition.
2. error in the app development - unrealistic ideas about cost
App development can still be considered a new discipline, so it is normal that ideas about the cost of creating an application differ massively from reality - classic examples include applications such as Uber or Facebook that have been developed by huge teams of people for many years and development has cost millions of euros.
The potential client usually does not have this type of budget, so we try to turn this process around and instead we ask what does the client actually need the application for? And try to figure out a solution with which the client would be happy and it would not be about throwing money down the drain.
3. error in the app development - do you have your "why"?
It also happens that the client comes up with an idea which is too specific - for example, they want an application where they can drive a digital toy car on google maps, why? Because it will entertain the users… But is there any truth in this? Before we start developing an application, we always ask ourselves why should the end users want this app? Every application must have its meaning, otherwise it doesn't make sense to create it.
Every idea for a mobile app, unless I'm developing it with my friends just for fun should be looked at from the point of view of business. In other words, it is necessary to know who will use the application and also have a clear business plan to target and monetize it.
We can help you with this and try to define an MVP (minimum viable product), which is the smallest possible pre-development version of the product with which the end customer can interact and with this it is possible to find out if there even is any added value for the users.
4. error in the app development - is the application really needed?
It often happens that the client has a well thought-out application and knows there is a market for it … But they never actually ask the user. In this case, we then find out who the user is and why he or she should use the service. Usually, clients say that the user can be anyone, which is the wrong way of thinking. The user must be clearly defined and it is ideal to create customer templates, withwhich we can identify the target market every time we invent a new function for the application.
The phase of validation and preparation is crucial for the app development and it is necessary to pay sufficient attention to it. We are ready to help you with.
Are you sure you need a mobile application?
The beauty of a product with the smallest possible functionality.
The beauty of the MVP lies among other things, in the fact that in this phase, the mobile application does not have to be developed at all. Some might argue that we are losing business by admitting this, but if the project just doesn't make sense, either economically or in terms of added value, it's better not to go ahead with it.
For example, an MVP can be a website to which users respond, and we have the opportunity to start creating a user group with which we can communicate and see if it makes sense to move on to the mobile application.
The moment we know the kernel (basic functions of the application), the problem, the solution and we have a target group, fully-fledged development can begin.
By the way, the basic user group is really important, it gives us feedback, according to which we can modify anything and thus creates an ever wider group of users who have similar interests and together build a product that is built on what the people really want.
What does application development involve?
The idea that the whole process begins and ends with the development of a mobile application is wrong. Of course, it depends on what we imagine when we say “development” because It is a demanding process that includes:
- market analysis,
- preparation for the understanding of users needs,
- the work of a UX designer who, together with the target group, models the appearance of the product,
- assignment validation,
- validation again, this time of the final product,
- product management, etc., etc.
It is also ideal to have questionnaires or in-depth interviews and regularly check that the direction we are going is the right one and that the target group won't just be taking the product for granted.
Why is it crucial to constantly validate the idea?
Validation with users has two implications. Not only do we know thatmobile application developmentis going in the right direction, but we are also gradually building a user base. People already know exactly what the product will do and will also use it because they helped shape it. They are drawn into the story of product development, and their enthusiasm brings more new users.
As a real world example this worked with one of our clients from the UK, who was preparing a new product and got together 6 developers for a three-day workshop. He knew what his output would be and what we would come up with, but he wanted us to harmonize and understand the product. He collected feedback from us, went to validate everything with the target group (questionnaires for about 500 people) and came back with a positive reaction. We started with the design and he again made validation cycles, this time with only 10 selected users.
Validation typically involves the selected users having the option of using a prototype and attempting assigned tasks, the client is immediately able to understand what the reactions are and what needs to be modified. Finally, he came and wanted us to create user stories (specifications of individual sub-functions) to create the first application user path.
What is the application user journey?
The terms user stories and user journey are very important to us. If we do not know the path of the application user, then we do not know what the user will do on the web or in the application. In short, it is a general process of thinking about the passage of the product, what the user can do with it and what they will get out of it.
It is also good to think about the way in which the user accesses the application or the website and with what expectations they will have. If they come from a PPC or a banner that has enticed them, let’s say to gain some new knowledge, they will look for this very knowledge and if they don’t find it, they will be confused (or even upset). Every application must have a clear path, and it should be measured and be confirmed constantly so that it is properly defined and the user does not get lost. For example, if you have an e-shop and want to sell a washing machine to a customer, It should be able to be bought within 3-clicks. When developing an application and designing the user's path, we must empathize with the target group, understand them and speak their language.
App development is ready to begin…almost
If we know the problem we are solving, the users of the application, and we know how to help them and define their path, development is almost ready to begin. However, it is still important to agree with the client on the appearance of the product and the budget. Before the development itself, it is also crucial to define a team with which we always want to involve a person on the client's side, who is responsible for deciding what will change duringmobile application developmentand how.
It is important to realize that the application design is not the same as the final product. Even if it is a small application, for example for a month of development, the client has to expect the process will take much longer and the product will logically change.
The reason is the validation process with the target group. Because thanks to interaction between the team members and testers, other important information will start to appear. So it often happens that we modify, remove or add entire sections of the application according to the feedback. This also changes the so-called scope, i.e. size of the application, the number of functions and the price of the final product.
Who works on mobile application development?
We mentioned the composition of the team before, so it's good to say who is involved in the development of mobile applications. If it is a mobile first project, ie the core of the project is an application, then it is ideal to have 2 people to develop for both iOS and Android. One is more senior, the other is moderately experienced, for there to be substitutability, to control each other and to be able to pass on the work. 2 people are also ideal for a back-end server solution, so that is 6 people participating in the development, programming alone.
To do this, we need coordination, so we need a project manager, and ideally we also need to have testers, because we do not want to send clients things that start to crash on various devices or have bugs. So we test everything with people who have experience at hunting for mistakes in the project.
So that brings us to 8 people already, just for the SYNETECH team:
- 6 people for development,
- 1 project manager,
- 1 tester,
- product Owner from the client’s side.
Product Owner is part of the team, makes decisions and accepts responsibility. If the client is not involved in the development, there may be miscommunication, which is why this role is so important to us.
In total, 9 people are involved in a medium-sized project, so the cost of developing an application is often surprising.
What is the role of the so-called Product Owner?
When developing mobile applications, we communicate primarily with the Product Owner (abbreviated PO), a person who "owns" and is responsible for the development of the mobile application on your part. The holder (or investor/manager) should know the information as well, but usually regular reports or information from the Product Owner are enough. In reality, the Product Owner should ideally spend 60% of his time "in the field" and verify that our ideas are being accepted by users and that the application is functional. 40 % of the time is spent by the PO with the dev team - part of the daily 15-minute synchronization meetings (so-called stand-ups) and also participating in planning meetings for the next 14 days (this time period is called a sprint) and determining priorities. The project manager on our side then specifies from this output the tasks according to which the development takes place.
Communication with the Product Owner therefore works very intensively, they and the project manager on our side should be extremely close to each other and know what the other person is doing. The product owner is also ideally interested in whether developers have problems with anything, what their mental condition is and, conversely, the project manager must know what the results of the user tests are, what the Product Owner came up with, what the priorities are and what is of most importance.
The role of the PO is extremely complex - they have to understand how software development works and what is important for the team and devote time to it. Clients often think that they will just start the application, it will be done in a few months and they can do other activities in the process. It is always difficult to define at the beginning, so we try to find a compromise. If you do not have a person suitable for this role in your team, our project manager holds this position. However, we do not like to do it, because you, the client, knows your company or your product best. We don’t have the same in-depth understanding of your priorities and expectations. Finding the right person to develop the application on your part is essential for efficient and successful application development.
What happens after release an application in virtual stores?
The whole process does not end with the release of the application and the celebration of success.
We have met clients who thought that no one would have to touch the application for 50 years after the release… This perspective is wrong but fortunately, it’s changing. People should understand the need to maintain and update applications.
Oftentimes many understand it in the sense that we will add more features, butin reality it should be the other way around - the client should be happy when the amount of features can be reduced, because it is important to trim the product and make it as simple as possible.
The ideal scenario is that after 2 months we will have the first MVP application, users will be looking forward to it, they know that it is coming and after testing with the beta group, we launch the application. Now we are in the phase of the first release of the first version and we must be prepared for a strong negative or positive response and it can be quite different from what users generally want.
Analytical tools are essential in this regard (to know what we want to monitor and measure), which we let run for at least a month and collect feedback (reviews in stores, etc.).
Based on this information, we make another version. However, it is ideal to have the features in mind at the beginning and to take this process only as verification and to continue with the development.
After the publication of the first version of the application, the development process is far from over. Usually we need to have an agreed upon plan for its maintenance and further development. An application that is validated is no longer subject to such dynamic changes, but also requires maintenance and updates. We usually solve this by signing the so-called SLA (Service Level Agreement), which claims that we are committed to ensuring the smooth running of the system in the long run.
How to deal with errors when creating applications?
Errors sometimes occur, moreover, according to the law, customers have the ability to complain about a hidden defect within 2 years of project completion, which also applies to mobile applications, but it is often difficult to know what a hidden defect is and what an error is by definition.
It is ideal to have an intermediary who would be able to confirm if it really is a hidden defect, but finding such an analyst is expensive.
An error does not necessarily mean a programmer's error, but a bad specification, in which case it is necessary to deal with things that were not originally anticipated.
It is also crucial to realize that any change in the application can cause additional errors, so such repairs are usually handled by a service contract and are dealt with as a part of general maintenance. Fortunately, clients already understand that and the IT world is evolving and changing the foundations on which software is built.
If there's no time to maintain and update an app every month, it's clear that the app will stop working for a few months after a few months - but that's what happens with everything. If you don't service a car, it will also fall into disrepair after a few years, the only difference is; in our IT world assets age many times faster.
Who to entrust your mobile application development to?
In short - the agency will not leave you hanging.
Here is an example. One of our clients shared his experience with us. He had a job that needed doing, so he hired a freelancer. However, after a year working on the project the freelancer left for a different project, leaving the client high and dry. The advantage of a company such as ours lies in substitutability, as a team we work in a similar way, so a sick team member is able to be replaced by the colleague sitting next to him without problem. They will be brought up to speed and they won't be lost in the project.
Another advantage is project management, methodology and testing. After all, this is the reason why we have these roles. When a client chooses to work with a single freelancer, that freelancer is usually a developer with whom communication can be an issue. If somehow the freelancer develops an application on his own, it is impossible to be properly tested, so the product is prone to crashes or immediately looks terrible.
As a company, we have a project manager who understands and communicates between the programmers and clients, as well as the testers who are the last guarantee that the product will not be released as something non-functional.
In addition, we also offer product consultations, we have 5 years of experience with technological solutions (that's why we solve MVPs and know how to approach the product from the user's point of view). Thousands of mobile applications have passed through our hands, we know what does (and doesn't) work, so we can give honest and accurate business recommendations.
If you are interested in the question of who to entrust the development of your dream software product to in more depth, we have written an article on the advantages and disadvantages of different types of development studies.
Are you in need of mobile application development?
Get to know us in more detail on our website or contact us for consultation. We want to help you and help with your project.