Please enable JavaScript.
Coggle requires JavaScript to display documents.
Mobile app development process (Strategy (Monetisation (In-app purchases,…
Mobile app development process
Idea
Problem + solution + market
Strategy
Competition
Number of installs - See if anyone is using these apps
Ratings and reviews - See if people like these apps and what they like/dislike about them.
Company history - See how these apps have changed over time and what sort of challenges they faced along the way. Try to see what they did to grow their user base.
Monetisation
In-app purchases
Subscription payments
Premium features,
Ad-revenue
Selling user data
Traditional paid apps
Marketing
Road map
Design
UE
Information Architecture
is the process in which you decide what data and functionality needs to be presented within your app and how that data and functionality is organized.
Wireframes
creating screens and assigning each functions and data.
Workflows
consider each of the things you want your users to be able to do and see how many clicks are needed to complete that action.
Click-through models
test your wireframes and workflows.
UI
Style guides
are basically the building blocks of your app’s design.
You need to consider who you are and who your customers will be.
Rendered designs
is the process of taking your wireframes and replacing the grayscale elements with elements from your style guide.
Rendered Click-through models
test
Design-to-Development Handoff
After having put in so much effort into the form and function of your app, it is imperative that this vision is properly realized by your development team.
High-level Technical Design (Tech Stack)
There are numerous approaches, technologies, and programming languages that can be used to build a mobile app.
Front-end
Platform-specific Native - Apps built with this approach are written separately for each mobile platform. Code can’t be reused between Android and iOS, but these apps can be fully optimized for each platform. The UI can look entirely native (so it will fit in with the OS) and the app should work fluidly. This is often the most expensive approach, but is very tried and tested.
Cross-platform Native - Apps built with this approach have some (or entirely shared) code, but still run natively. Common technologies used for this are React Native, Xamarin, and Native Script. This is a nice middle ground between the various approaches in that it is more cost-effective, but can still be optimized and styled for each platform.
Hybrid - Hybrid apps are built using web technologies (HTML, CSS, Javascript) and are installed via a native wrapper. This can be done using technologies such as Cordova, Phone Gap, and Ionic. This option can be the cheapest, but also presents some very real difficulties.
Back-end
Language - There are dozens of languages that can be used to build your API. Common languages used are Java, C#, Go-lang, javascript, PHP, and Python. Most languages also have numerous frameworks that can be utilized.
Database - There are two main types of modern databases. SQL and noSQL. SQL is more traditional and the best choice in almost all cases. Common SQL implementations include MSSQL, MYSQL, and PostgreSQL. In addition to selecting a database engine, you have to design your particular database schema. Having reliable and well organized data is crucial to your long term success. So, make sure this is well thought out.
Development
Planning
The planning phase of a sprint involves dividing up the list of tasks to be implemented during the current iteration
Development
During the development phase your development team will begin implementing the styles and functionality of your app.
Testing
Most testing should be performed by non-developers or at least people who are not your app’s primary developer.
Functional Testing - Testing to ensure the feature works as described in the requirements. Usually, a QA team will have a test plan with a list of actions and the desired app behavior.
Usability Testing - Testing to ensure the feature is user-friendly and is as intuitive as possible. Often it is helpful to bring in new testers for a “first-use” experience during this step.
Performance Testing - Your app might work perfectly, but if it takes 20 seconds to display a simple list, nobody is going to use it. Performance testing is typically more important in later sprints, but keep an eye on the app’s responsiveness as you move along.
Fit and Finish Testing - Just because the design phase is complete past, doesn't mean you can lock your designers in a closet. Designers should review each feature and ensure that their vision was implemented as described in the design. This is another reason why having one agency for both design and development is so beneficial.
Regression Testing - Remember that one feature from the previous sprint? Don’t assume it still works, just because you tested it last month. Good QA teams will have a list of tests to perform at the end of each sprint, which will include tests from previous sprints.
Device-Specific Testing - There are tens of thousands of device and operating system combinations in the world. When testing, make sure you try out your app on numerous screen sizes and OS versions. There are tools that can help automate this, such as Google’s Firebase, but always test the app on at least a handful of physical devices.
User Acceptance Testing - This is testing performed by either the app owner or future app users. Remember who you are building this app for and get their feedback throughout the process. If a feature passes all the above tests, but fails this one, what use is it?
Review
At the end of each sprint talk with each of the stakeholders and determine how the sprint went
Deployment
Post-launch phases