Mobile App Development Process – 7 Stages of App Development
This article series describes the 7 crucial Stages of the Mobile
& Web App Development Process from a Business point of view.
It is an essential guide for current and future App Owners.
What are the stages of app development process? How does a mobile app development process look like? How to start the development process of my application? If you are you thinking about developing an app, these are the questions you’re probably asking yourself right now. This article is a guide for current and future app owners who want to know – step-by-step – how their product will be created.
What are the stages of the app development process?
In short, a mobile app development process consists of the following stages:
1. Choose a company to design and develop your app
Research, analysis, and selecting a company to cooperate on your product with. Signing an Independent Contractor Agreement.
2. Product Discovery – define what you want to create, for who and why
Clarifying your app’s vision, defining your product’s goals & its final users. Deciding which features are the most crucial in creating your MVP. Useful tools: Product Canvas, Personas, Event Storming, Prioritization Chart.
3. UX / UI app design – determine how your app will work and look
Creating a User Journey Map, clickable wireframes, visual user interfaces, and motion design (animations & screen transitions).
4. Project kick-off & setup – last preparations before the start of app development
PO knows the development team and vice versa. Defining every role in the team, agreement on rules, and next steps, as well as configuring tools.
5. App development with Quality Assurance
App production with Continuous Integration: plan, code, build, test (and repeat). Ensuring Quality Assurance at every stage of app development with manual and automated tests.
6. Preparation and publishing of the app on Google Play Store and Apple Store
Releasing includes uploading assets required by laws & promotional materials, beta testing, optimizing the product page / store presence, and everything your app approval needs to go as smoothly as possible.
7. Post-development phase – app maintenance & further development
Detecting crashes, monitoring app’s statistics, product enhancement, and further development. Your app stays attractive, adapts to changing market conditions and users’ feedback.
Let’s dive into each of the above-mentioned stages of the mobile app development process.
Stage 1. Choose a company to design and develop your app
Decide if you want to build your app in-house, or outsource its development. This article may help you: Inhouse vs. outsourcing software development. If you decide to outsource your product creation, you need to know how to choose a proper app development company for your project. How to verify if a company you want to choose, is trustworthy? We recommend you to:
a) Use Clutch.co or other platforms for B2B buying
Clutch.co, AppFutura, GoodFirms, ContractIQ – use platforms that will help you to make an initial selection of companies that meet your requirements.
b) Analyze pre-selected companies
Check opinions about them, as well as their portfolio.
- Do they have experience in creating products similar to yours?
- Did they work with partners from many countries and different industries?
- Do they work with start-ups, big companies… or both?
- Do they use new solutions and technology?
c) Analyze the estimations you receive
It is worth to get estimations from more than one company and compare them. If you get two totally different estimations, it is worth checking how each team made their respective figure.
- Did you deliver the same information and documentation to both companies?
- Ask the companies on which assumptions they based their forecasts. Does the lower estimation contain all the crucial elements included in the higher one?
- Did they ask questions to learn more about your app idea?
- Does the estimation contain the time for team meetings?
- Does the estimation contain the time for Quality Assurance (e.g. writing tests)?
- Did the companies take into account the risk of unforeseen events?
- If your app’s design demands some non-native solutions, is this considered in the estimation?
- If your product is a typical kind of app, like e-commerce or m-commerce, but you want it to have some untypical features, check if they have been considered in the Estimations.
d) Make sure the code will be written in English
e) Make sure the code will be hosted on Code Repositories Hosts
f) Verify the Independent Contract Agreement
Verify the contract you get carefully and make sure to consult with a lawyer about it. Below, we’ve listed for you a few important elements that should be included in a contract. We are not writing about some obvious elements, like personal data of parties, but rather factors more specific to software houses.
Make sure that the contract contains a clause about confidential information. Your partner should commit himself or herself to not disclosing any information about your project that is not public yet.
✔ Intellectual property
You should have the rights to everything the software house produces. The contractor shall execute and deliver such further instrument(s) and take such action(s) as may reasonably be required to complete the assignment of intellectual property rights in the Deliverables to Company’s sole and exclusive ownership.
✔ Choice of Law
The contract should indicate a dispute resolution place. That is especially important if the software house is from another country. Probably, your partner will want to choose the judiciary of his country. We would recommend compromising and choose the laws of another country, with the jurisdiction you know, e.g. the United Kingdom.
✔ Advance payment
We recommend that the advance payment should not exceed the cost of the team’s work for one month. In case a contractor must incur significant expenditure (e.g. for hardware or licenses) at the beginning of the project, a higher advance payment can be reasonable.
✔ Payment deadline
The contract should regulate the consequences of delays in payments. What is the acceptable delay? After how many days will interest be charged? After how many days can the development team stop work? Contrary to appearances, such a clause secures you.
✔ Conditions for terminating the contract
It is safe to set a notice period of about 15-20 days.
Time & Material – in this type of contract, there is no need to specify an exact deadline. You decide when the app is ready. Your Feedback after each iteration is implemented up to date.
Fixed Price – the contract contains a schedule of partial deliverables. What is more, it is worth setting the time for you to give feedback for every iteration, as well as for the team for implementing that feedback.
- In this article – Mobile App Development Process – Stage 1. Choosing a Partner – you will find examples of contractor agreement fragments that should be included in your contract.
- Read also: Time & Material vs Fixed Price – Comparison for App Owners.
Stage 2. Product Discovery – define what you want to create, for who and why
Before you start your app development process, the first stage should be clarifying your app’s vision – Product Discovery. This is the key to your app’s success. It’s worth to ask yourself questions like:
- What is my overarching goal?
- Who are the final users of my product?
- What problem does the app solve?
- What will make it better / different than my competitors’ products?
- Which features are the most crucial in the app?
- How can I measure the end result to determine if the goal has been met?
You can find the answers by yourself, with your team, or during a Product Design Workshop organized by an outside app development company – it’s your choice.
The best tools that can help you to answer the above-mentioned questions and clarify the idea of your app are:
- Product Canvas,
- Event Storming
- User Journey Map
- Prioritization Chart
You can find all of these tools in PDF in this article: Mobile App Development Process – Stage 2. Product Discovery.
If you know already the answers, and your vision is clear, this is great! Yet it’s simply not enough to have them in your mind. Write them down and confront them with others – talk to people from your team, employees, or just your friends. They should understand what it is about.
How about starting development without clarifying your vision?
Product Discovery is an optional process but would it make sense to start costly development without thorough research? In the Theory of Quality Management, we have the “1:10:100 rule”, which states that prevention is cheaper than correction, and correction is cheaper than failure. Product Discovery costs you nothing compared to releasing a useless application.
In short, Product Discovery is the app development phase where we are focused on building the right thing, as opposed to building the thing right.
Stage 3. UX / UI app design – determine how your app will work and look
Well designed UX and UI are very important from a business point of view. At the end of the day, they influence the retention rate. If your apps’ user experience will be enjoyable and flawless, and the design of the app will create a positive impression on its users, they will love it, and use it.
This app developemt stage includes creating: User Journey Map, Wireframes, Clickable Prototype, and Visual design.
Stage 4. Project kick-off & setup – last preparations before the start of app development
App Development Kick-off has a significant influence on the successful cooperation with your software partner. In short, it’s time to define your role as a Product Owner and to clarify every role in the team. What is more, Project Kick-off means also setting the rules you want to follow, and planning the next steps. Kick-off may have different forms, at Droids On Roids we organize a Kick-off meeting with every client, it takes around 2 hours.
How do the developers set up your project?
When App Development Kick-off is completed, the first Sprint starts. It is also the moment when developers set up your project. These 6 steps are specific for mobile app development, but in the case of web apps, they look similar (with the exception of the third point).
1. Creating a repository for a project at GitHub or another web-based hosting service. It means creating a space dedicated to your project on the cloud-hosted platform, where all versions of your code will be safely kept and archived.
2. Continuous Integration setup. Every new piece of code has to be checked before it is merged into the project. It’s checked manually, but also with automated tests run by special platforms like Bitrise, CircleCI, or Jenkins. The process of automating the build and testing the code every time a team member commits changes is called Continous Integration. The second role of CI platforms is pushing the app versions to Google Play / Apple Store and allowing running tests by users. At Droids On Roids, we use Bitrise.
3. Setup of the beta distribution tool on the CI platform. Hockey App, App Center, Fabric – these are a few examples of tools that help you to collect live crash reports, get feedback from your app’s users, or distribute your betas. To say simply – they take care of the quality of your product.
4. Choosing a code architecture, libraries & SDKs. Developers choose the code architecture for your project (e.g. MVP, MVVP, VIPER, MVC, Clean Swift). Code architecture can be compared to the construction of a building. It is not visible outside when the building is finished, but it decides about the shape of the object and its’ solidity.
What is more, developers choose also libraries & SDKs (Software Development Kits) which they will use in your project. In other words, SDK is a set of software development tools useful in app development.
5. Setup project in IDE (Integrated Development Environment). Developers set up your project in a program that they will use to write the code – e.g. Android Studio for Android Apps, or XCode for iOS Apps. To the program, they add also outside SDKs or libraries that will help them to optimize their work.
6. Register the app in Google Play Console, Firebase API Console, and other services if needed. If your app will use some third-party party components (e.g. Google Maps, push notifications), it must be registered on the suppliers’ services.
Stage 5. App development with Quality Assurance
Stage 6. Preparation and publishing of the app on Google Play Store and Apple Store
Stage 7. Post-development phase – app maintenance & further development
During app maintenance, the development team implements app monitoring tools (e.g. HockeyApp, Crashlytics, Google Analytics, Firebase) to your product. Thanks to these tools team can detect any crashes, follow app’s statistics, and plan product enhancements. The post-development phase includes also further development of your product – it allows your app to stay attractive, adapt to changing market conditions, and users’ feedback.
You don’t need to bang your head through a wall when the door is open
We have 7-years experience on the market. In this time, we’ve created about 130 mobile and web apps for our clients from around the world. This is why we were able to prepare a quintessence of our knowledge for you, gathered through thousands of conversations and meetings with our partners.
Every one of our clients is unique and individual, but there are some pain points, fears, goals, and challenges which are repeatable and universal in nature. So, you don’t need to bang your head through a wall when the door is open.
All the topics you will find in these articles are based on the perspectives of many experts from the Droids On Roids team – iOS Developers, Android Developers, Scrum Masters, UX/UI Designers, Quality Assurance Engineers, and Account Managers.
We have never before shared such a in-depth and cross-sectional guide for current and future App Owners. I believe it will make your journey fascinating, safe and goal-oriented.
User Journey Maps, Wireframes, Clickable Prototypes, Designs or even your App Branding. We will describe what the design creation process of an app looks like and how the App Owner takes part in it.
How much does the team work and what exactly are they logging their time for? When will the app be ready? How much of my budget is left? Together with the Scrum Masters team, we’ve prepared for you all the useful information about smooth communication & transparency which you should demand from you partner.
Writing a code is a kind of art. Even if you are not a artist, you should be a “conscious spectator”. A basic knowledge about programmers’ work will help you to have a deeper understanding of your app development progress and ask the proper questions to your team.
We all dream about bug-free apps. How to make it come true? You will get to know how the Quality Assurance process should look and why it’s so important for your end-users’ satisfaction.