When you’re a professional, you start to forget that what’s obvious to you may not be so obvious to people from other industries. I bet you sometimes get that feeling when you talk to someone outside of work. I do too.
When I had only just started working as a project manager, I experienced this a lot. I worked both with small startups and large enterprises, and sometimes my clients didn’t have any technical knowledge at all. Their idea of how the development process should go was simple and lacking in detail.
As the preparation stage begins, you’ll need to consider lots of things
That’s why I’ve decided to tell you what it’s like to develop mobile software. Sure, you’ll get this information and even more in the process of working with a mobile development company, but this article will give you an idea of what you need to consider before starting your own development project.
How app development process starts
Your project begins with an idea.
At Mobindustry, we offer the knowledge and experience of our business analysts to translate your idea into clear technical requirements. If you want to create your application for business but you’ve never worked in the mobile market before, it may be difficult to understand all the peculiarities of the mobile industry.
After you’ve decided on your target audience and the value that your product will bring, you can start thoroughly planning your app. Business analysts, project managers, and developers will help you with that.
As the preparation stage begins, you’ll need to consider lots of things. To make them clearer, I’ve divided the planning process into four stages:
- Development part
- Project part
- Product part
- Design part
Let’s explore what details you need to consider before starting development.
The development part is a core part of the process of creating an app. At this point you need to think about the platform you want to build your features on, and decide whether you want a native, hybrid or a cross platform application. To determine this, our developers will need to think through the architecture.
The architecture of an application is its spine, and everything that developers build will rely on it. As you can imagine, architecture design is rather time-consuming, so be aware that developers won’t be able to start developing features right away.
There are three common types of architectures:
- Model-View-Presenter, or MVP (don’t confuse this with the MVP that stands for minimum viable product)
- Model-View-ViewModel, or MVVM
- Сlean Architecture
These are the core principles that modern developers will follow while creating your app. They divide the whole development process into segments and explain how and when they intersect.
Note, that these models are relevant for native applications. If you want to create a cross-platform app or convert website to mobile app, you’ll need to consult with developers so they choose the best architecture for your project.
There are tons of databases, and your development team will need time to decide which best fits your needs before mobile app development process starts.
Developers will need to understand what types of data are prevalent and choose a database based on that. Some databases are great for working with simple text data that doesn’t change dynamically. Other databases allow for fast information exchange and are great for social media where information is dynamic.
Think about how you want to store data. If you want to store some data on the user device, developers will need time to implement caching and local data storage.
If you work with APIs, there are some standard errors that developers will need to process.
It will also take time to create a development environment and create developer profiles. We use Fabric and continuous integration (CI) in our work to make the development process smoother and easier.
Continuous integration (CI) is a set of tools that help with build management and allows to accelerate mobile applications development process. Crashlytics is an advanced analytics service that helps identify bugs and crashes and gives valuable information on application growth and performance.
6. Backend and API
Every application has two parts: the backend and frontend. The frontend is everything a user can see, while the backend includes the logic behind everything happening in the mobile app. If you already have a web application or a website, you know the deal.
To implement any third-party services like social media or maps, developers will need to use APIs
You’ll need backend development as well as frontend. Backend developers create APIs (application programming interfaces) that allow the frontend to communicate with the server. This is one of important steps to developing an app.
Clients often don’t know how they’ll use third-party services, for example Google Maps or social media channels like Facebook and Instagram. To implement third-party services, developers will also need to use APIs. Luckily, almost all third-party services provide them, so there’s no need to hire backend developers for this.
7. Quality assurance
You are to decide whether you want us to test your app. We advise using professional QA-engineer services, as they provide the highest quality of your app. QA-engineers not only perform testing, but also create documentation that allows you to see a detailed plan for testing your app.
These are the basic things you’ll need to consider in the development process. The next stage that’s connected to development is work on the project.
App development process: Project part
If you’ve never participated in a apps development process, you probably can’t even imagine how much time communication takes.
Daily and weekly meetings with developers, quality assurance specialists, stakeholders, and project managers: all this is necessary to make sure everyone is on the same page and the project is running smoothly.
9. Code management
Many clients also don’t think about the time developers need to merge code and deploy the app to an app market. Another thing developers need to do for your app’s quality is refactoring. If the project is big and takes over 300 development hours, refactoring is a must. Refactoring helps to keep code in order, reduce bugs, and make your project scalable.
IT technologies evolve at a crazy pace and new libraries, frameworks, operating systems, and programming languages appear constantly.
A library can change or become outdated, meaning developers will need time to learn a new one. Developers will need time for research to keep your app up-to-date.
Mobile app development process: Product part
The product part is complex, and it consists of lots of small things we all take for granted as users. But the devil is in the details.
These small features play a huge role in the overall impression of your app.
11. Offline logic
Clients often forget about offline logic. However, it’s a big feature that’s necessary in 90% of cases.
While implementing offline logic can take a decent amount of hours, it is still very important for most modern applications
How will your app function if there’s no internet? Will it save information and upload it once there’s a connection? All this needs thorough analysis, as you want to make only the most valuable features work offline.
Note that implementing offline logic can take a decent amount of hours in your application development process.
Your wireframes with all the transitions may be ready, but you probably haven’t considered all possible things that can happen in your mobile application. Often, nobody actually thinks about what happens after an error occurs.
For example, what happens if there’s not enough memory on the device? What do you show to users if they’ve typed the wrong password? You need to think about this and also hire a product copywriter to invent your brand language and write texts for all errors, actions, and alerts.
13. Data management
Let’s say you want to create an ecommerce mobile application. You have a long catalog of products, like any retail app would. How should you show this catalog if you have dozens or hundreds of products in a single category?
The answer is pagination. Pagination allows your app to load information in small portions. This increases the performance and makes it more convenient to use. Pagination is a very important feature that people often forget about, and it takes at least eight hours of development.
14. App market requirements
I’ve often talked to clients who had no idea about app store requirements and how strict they are. In order to release your mobile product to the Google Play Store or the Apple App Store, you need to follow their rules. Otherwise, they won’t release your app at all.
Moreover, Google and Apple have some rules and policies that can be unexpected and unpleasant for you. For example, if your monetization strategy is in-app purchases, be ready to share your revenue. Google and Apple each take around 30% of each payment.
If users are able to generate their own content, for example post photos or videos, you’ll need to add a button for complaints and process them in an admin panel.
Analytics is one of the most important parts of an app. Unfortunately, many clients don’t know this and don’t treat it seriously, and it costs them user loyalty later. It’s the first thing you should include in your first release. There’s no point in producing an app if you haven’t implemented any analytics.
Analytics give you tons of benefits like tracking user behavior, your app growth, its performance and KPIs. All this is valuable information that helps you understand which direction to go next.
Application design process
16. Animations and layout
Design is an important part of your app, but its complexity can vary. If design is one of the core selling points of your app, then developers will need to spend more money on animating loaders and view elements. These aren’t just images — these elements are complex animations that require development time.
The time it takes developers to make an app look nice often surprises clients, but you should remember that design isn’t just about the layout: it also takes time to cut all elements, put them in the right places, and animate them according to iOS or Android guidelines.
To sum up, the whole development process is broken down as follows:
- Development: 30–40%
- Deployment: 3%
- Communication: 15–30%
- Merges: 5–8%
- Refactoring: Makes sense if your project takes over 300 hours
- Research: Varies
- Design: 10–20%
There are lots of particular qualities, internal process of developing an app, and unexpected details that aren’t obvious to those who work outside the mobile industry. In this article I’ve tried to point out everything you need to know about the development process so that you can take it into consideration when planning your budget.
I wish you good luck with your project! If you have any questions or would like a consultation, don’t hesitate to contact us. We like when our clients are deeply involved in creating their products.
Consulting from Mobile Experts
Are you planning to expand your business online? We will translate your ideas into intelligent and powerful ecommerce solutions.