Did you know that about 6,140 mobile apps are released through the Google Play Store every day? And by 2020, the App Store is going to reach 5 million apps! The numbers don't lie, they yell, “Wake up! It’s time to develop a mobile app”. If you are one of those who needs to create a mobile application, our quick guide through the mobile software development cycle might come in handy.
No matter what you’ve decided to build — an enterprise application or a startup app with a wide audience — we will put your fears to rest and describe all the steps to creating an app in detail.
With that said, here’s a seven-act play “Mobile App Development Process”.
Client — a business owner who has an app idea
Azoft — a software development company who builds apps
PM — a project manager who manages all the project participants
Business analyst — an analytics expert who identifies and then prioritizes requirements for a product
UI/UX designer — a creator of intuitive and attractive UI
Developer — an engineer who writes the app code
QA engineer — a quality assurance engineer testing the app
At the very beginning, a client comes up with a mobile application idea. We ask the client to give us the technical specification. If there is aren’t any technical specifications, we send a brief for mobile app development. It helps us to prioritize work, identify goals and tasks of the future application.
Every app is different, and we apply two different development methodologies: Waterfall and Agile. In general, the app development process will be the same for both approaches, the only difference is how you develop an app. The Waterfall model means that the process goes step by step: you create the whole product in a strict sequence. The Agile approach works on iterations regarding specific functionality. Each iteration can include all the stages of the development.
- mobile app’s basic features
- chosen platform: iOS, Android or hybrid
- methodology: Agile or Waterfall
Act 1 — Plan & Estimation
The first issue of concern for a client is “How much?” Another one is “When will I get the app?” To answer both questions, Azoft will do a software project estimation and scope the project. Usually, at this stage, a project manager (PM) joins the project team. The PM can be from the client side or from the development team and aims to coordinate project works.
To estimate the project works, we study the technical documentation keeping the end user in mind. We calculate time and money costs for development and testing. Finally, we define undescribed use cases and bottlenecks in the technical specification.
Express estimation takes from a couple of hours up to 1 day and gives a cost approximation based on our expertise. A precise estimation can take up to 1 week providing a detailed picture of the project: how, when and what app you will get at the end. If a business analyst dives into the project during estimation, it will increase the chances of success.
Whether estimation is detailed or not, it could be that a client adds new features in the middle of the project. When we developed Pro Photo Shoot — a social network for photographers and models, the author, startupper William Upshaw decided that the chosen features are not enough. We had to increase the scope of tasks and move the release date forward. As a result, the project costs became higher. However, we developed a social app for the professional photo industry in accordance with client requirements.
- the project scope
- costs for development
Act 2 — Analytics
The mobile app development process doesn’t always include an analytics stage. Sometimes a client does a business analysis with their own resources or comes to the software development company with readymade requirement specifications. Although, those clients who go through the analytics stage with their software development partner, they win — it helps both project sides approach the same project vision, then estimate the required works again and get a detailed budget.
Azoft’s business analysts define requirements for a mobile app, offer different ways to achieve app goals, build schemes of user behavior, make the visual architecture of the app — wireframes.
A big analytic work was made at the project for a supermarket chain. The client was looking for a way to motivate consumers to buy more via a mobile application. We analyzed the possible outcomes and offered the most effective one — to integrate a recommender system in the mobile app. Summing up, the system with AI algorithm recommends goods to the app users based on their preferences and purchase history.
- functional requirement specification
- non-functional requirement specification
- visual architecture of the app — wireframes
- project plan
- detailed project costs
Act 3 — Mobile App Design
It’s quite widespread among business owners to start negotiations about software development with a prepared design concept for the app. If a client doesn’t have an app design, we make UI/UX design from scratch. When a business analyst gives wireframes to the designer, we move to the stage of visualization. We make a ScreenFlow, the important design elements such as logos, fonts, colors, and a detailed prototype including possible use cases.
During the design stage, a UI/UX designer prepares a static prototype and, if clients ask, an interactive prototype of the app. By creating these prototypes we demonstrate how the app will look like, and what behavior it will show regarding planned features. It depends on the specific tasks and client needs.
While the design is being created, the app gets the blueprints and visual direction required for the developers. It’s essential to get feedback from the business analyst and the client at the end of this stage to ensure that the design completely satisfies the initial requirements.
- app design
- attractive UI and comfortable UX
Act 4 — Development
When the app has a detailed requirement specification, design, and a prototype, the hardcore work starts. A development team writes code to implement all the required features and link the app logic to the server side. Also, we translate the app design into the code — write all the styles and elements of UI.
To develop native apps, we apply Java and Kotlin for Android, Objective-C, and Swift for iOS, as well as modern mobile frameworks and libraries. For cross-platform development, we use React Native and NativeScript. As soon as part of the functionality is ready, we test it and continue working on other features.
Remember that the development stage needs the approval from a UI/UX designer. Only the designer can check how the screens were made, whether the final styles coincide with the concept, what color is chosen, etc.
- a mobile app ready for testing
- design adjustment
Act 5 — Quality Assurance and Bug Fixing
QA engineers are involved in the project from the very beginning and they test as often as possible. Once a functional unit is completed, regular tests guarantee the high quality of the app and allow the budget to stay under control.
We test the technical specs during the project estimation stage. Then, we write test documentation along with the development stage and prepare test cases. When some features are ready for testing, our QA engineers are there ready. We carefully follow all the bugs and put them into a bug-reporting system. After the bugs are fixed, we check if it harmed the rest of the functionality or not. Before the app will move to release, we make acceptance testing: we go through the basic business cases of the app to ensure no more bugs appear and the app meets the requirements.
When we were developing an app for sharing and reading stories, the testing stage went unusually. At the planning stage, the client didn’t think of all the necessary features. We wrote test specification with a comprehensive description of screens and functions. However, some new features came up during the development stage. For example, in-app purchases. To test it, we made checklists while the developers added the new functionality.
- minimized bugs
- the app is ready to launch
Act 6 — App Release
Finally, here is the punchline! When the tests and updates are finished, developers, analysts, QA engineers, and designers agree about the result, it’s time to submit the app into the app stores — Apple App Store, Google Play, and any other designated service the client wishes to use.
The client can turn to developers to ask for help with publishing the app. Or, if the client is experienced in app review of the stores, they can do it by themselves.
- the app is in app store
Act 7 — Support and Improvement
After launching the app, the story never ends. If the client finds some bugs, when the app is released, we fix it. If the first user feedbacks bring changes, there are two options of further cooperation: to sign a contract for support or to start a new development phase including new data.
- 1 year guarantee for bug fixing
- software support agreement
Building an app isn’t simple. The “Get Rich Quick Scheme” doesn’t work. Many stages can be mixed or go in parallel with each other. It took over three years for Instagram to become a convenient app beloved by millions. Yet they still continue to make improvements and add new features to keep the users they have and to reach the new audience. So, before you start dreaming of how to spend the money IT giants like Google will invest in your app, be prepared to work hard. Just take a look at Act 1.