Mobile app development process ( Strategy (Monetisation (In-app purchases…
Mobile app development process
Problem + solution + market
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.
Selling user data
Traditional paid apps
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.
creating screens and assigning each functions and data.
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.
test your wireframes and workflows.
are basically the building blocks of your app’s design.
You need to consider who you are and who your customers will be.
is the process of taking your wireframes and replacing the grayscale elements with elements from your style guide.
Rendered Click-through models
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.
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.
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.
The planning phase of a sprint involves dividing up the list of tasks to be implemented during the current iteration
During the development phase your development team will begin implementing the styles and functionality of your app.
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?
At the end of each sprint talk with each of the stakeholders and determine how the sprint went