Even though we all use mobile apps and web apps on a daily basis, very few people have an understanding of what the mobile app development process involves. While there are a lot of nuances tied every project, the process remains similar overall, regardless of whether or not you are developing an Android app, iOS app, or web app. InspiringApps has built countless apps over the past dozen years, and this blog post will outline our methodology for helping clients to take a project from idea to launch.
We divide the mobile app development process into four main steps:
- Design (UX and UI)
Mobile App Development Phase 1: Discovery
People come up with app ideas in all sorts of ways, but many times it’s from being plagued by a problem they need to solve. We won’t address ideation in this post, but once you do have an idea, it’s critical that you vet it thoroughly before investing in the rest of the mobile app development process. This is true for both apps you intend to utilize within your company as well as apps you desire to launch to the public.
As we outlined in a recent post focused solely on the discovery phase of app development, there are three key market areas to analyze: the opportunity, the competition, and the industry at large. This analysis serves to make sure what you desire to create is useful, unique, and desired.
While you are learning about the current market, you should also begin to think about how you might monetize and market the app that you have in mind. Although it may feel too early to even contemplate those subjects, it’s crucial to make sure you don’t see any huge red flags for bringing your app to market.
There are a variety of methods of monetization, and it’s not necessary that you have the exact one identified — in fact, this is something your app development partner can help you to sort. It’s simply important to have a grasp on what the market would be willing to pay for similar services, to ensure that it is a sufficient amount for you to make money. Similarly, a detailed marketing plan isn’t necessary yet, but you should be thinking about your approach and the needed budget.
A good bit of this work can be done without the involvement of an app development partner. Once you feel pretty confident that you have a viable idea, though, it’s time to engage with an app developer. If you’re not sure how to find the right partner, check out this post on key questions to ask a mobile app developer before hiring them.
Strategy & Planning
Your app development partner will work with you to use your market knowledge and their app development expertise to lay out a product roadmap. A roadmap casts the vision for what you ultimately want the product to be AND defines what the app needs to be on day one in order to be successful. This “day one” version of the app is called your Minimum Viable Product (MVP).
It’s key to determine your MVP, as that will enable you to more quickly get a valuable product into the hands of real users, where you can begin to get true feedback. No matter how great your research is, it is no substitute for hands-on evaluation.
There are a number of tools your app development partner might utilize to help facilitate this process. Most will use some version of a product canvas, to help layout the big picture of your idea on a single page. The canvas helps to distill down all your research into a simple summary of things like goals, needed functionality and features, and competitive differentiation.
Likewise, creation of user personas is also a valuable exercise employed in this stage by most developers. Personas enable you to define your target audience, identify pain points, and prioritize among potential features. At InspiringApps, we take this a step further and use a methodology called User Story Mapping to help visualize how each of these personas will interact with the app.
This mapping of the user journey dovetails nicely into the creation of wireframes. We often consider wireframe development to be an output of the discovery stage, but we’ll cover that in the next section due to how wireframes tie to user experience work.
As you finalize what exactly you want the app to do, it will be valuable to talk about how you will measure your success at doing so. There are a wide range of app performance metrics you may want to track, and some of them will require implementation during the development phase.
At the end of the discovery stage your app development partner should be able to formulate a realistic timeline and provide a cost estimate for the project. Be sure to ask them to name any project risks and dependencies that could impact the timeline or budget.
Mobile App Development Phase 2: Design
Design is sometimes thought of as simply how something looks, but in the development of digital products, design also encompasses creating the framework for how a device will function. This framework comes to life through the process of User Experience (UX) design, which is then followed by User Interface (UI) design to flesh out what exactly a user sees. Both are critical to creating an app that is intuitive and attractive.
We are talking here about the process at large, but for those who want more details on how we create designs, you may also want to see our post Top App Design Tools.
User Experience (UX)
As noted above, the user journey map is a customer-centric visualization of how your target user will interact with the app. It captures the type of functionality and features required, along with a sense of relative priority and order.
Wireframes take this map one step further by creating a screen by screen layout of how content will be displayed. The focus is on functionality and work flow, defining the hierarchy and relationship between the various elements of the product. By leaving out style, color, and graphics, wireframes help the team to focus solely on ensuring that a user’s experience in navigating through the mobile or web app is clear and enjoyable.
While some people can look at wireframes and easily understand them, it’s not intuitive for everyone — think looking at a blueprint for a house vs walking through the framed out shell. This is where a clickable prototype can be very helpful.
Click-through prototypes are exactly what they sound like — a way to experience your wireframes on your phone for more realistic testing. There is no actual functionality, but the wireframe screens are loaded and linked together accordingly, enabling you to test out the app’s navigation.
These models can also be extremely helpful in getting feedback from users that match your target personas. While you hopefully did user research with your target audience as you developed your value proposition and MVP, this prototype provides a chance for them to experience your idea in a more tangible way.
User Interface (UI)
Once you are satisfied with the usability of your app design, it’s time to craft the aesthetics of your app. As you might expect, the visual design of the interface is also critically important, as users’ first impressions are heavily driven by how the product looks.
Your research into the target audience still comes into play here, as their preferences and peculiarities will influence choices around color and style. Likewise, if you are part of a larger organization that already has established branding, the design team will need to take into account those guidelines.
Regardless of the situation, experienced design teams will pull together a style guide for the purposes of this particular project. In addition to taking into account the above items, they will also think about things like how and where the app will be used — for example, if the app is likely to be used at night, they will define a color palette that is easily readable in that setting. All in all, the style guide will bring consistency to everything from colors and fonts to forms and labels.
Once the general stylistic considerations have been established, UI design will also consider animations. These can be used in the general layout or in transitions to add flair, and ideally further improve (or at least not detract from) usability and utility.
Once these designs have been rendered, they can be loaded back into the clickable prototype to test the application one final time. This is a critical final review before sending the app to development, as changes from this point onward can become very costly.
Mobile App Development Phase 3: Development
The third stage of the mobile app development process is the actual software development. A smooth transition from design to development is important, and as a result, it’s advantageous to work with an app developer who can do both. A kickoff meeting will help ensure designs are understood by all, and working with the right tools can make implementation easier. For example, our team uses an application called Zeplin, which enables developers to have easy access to style guides and detailed information on positioning and dimensions.
The Tech Stack
There are quite a number of programming languages and approaches that can be employed to develop a mobile app. All of them have their own strengths and weaknesses, so what is perhaps more important that trying to learn about them all is to work with a seasoned developer who can make smart decisions for your particular project.
As this post is designed to provide a broad overview of the process, we will just provide a brief summary of some key software development concepts to ground you. An online search can easily lead you into the weeds of any of these topics!
You’ve probably heard people reference the idea of using a “full stack developer,” which begs the question of what is a stack? A tech stack can be defined as “the set of technologies an organization uses to build a web or mobile application. It is a combination of programming languages, frameworks, libraries, patterns, servers, UI/UX solutions, software, and tools.” Most often the tech stack is divided into skills related to the front end and the back end.
The front end refers to the coding that is done to create the interface that the user sees. There are basically three approaches for mobile apps: native, cross-platform, and hybrid. We discuss the pros and cons in our post App Development: Native vs Cross-Platform, but here is the quick summary:
- Native apps are coded specifically for one platform. Native development fully leverages the device’s hardware and functionality, but none of the code can be transferred to a different operating system.
- Apps built with a cross-platform approach utilize a mostly shared code base (written using programs like React Native and Xamarin), but still run natively on a device. There can be some code efficiencies, but there are also limitations in your ability to take full advantage of the device’s capabilities.
The term back end is used to describe the software and services that handle all the data utilized by the app. Data lives in a server and the server is responsible for a good bit of how your app performs, and how easily it can scale. Your app development partner will undoubtedly drive your choices in this area, defining language, database, and hosting environment.
The programming language is what is used to create the APIs (Application Programming Interface) that will transfer information back and forth between your front end and your database. Databases are often categorized as relational or non-relational and there are advantages to both. Read this article if you’d like some details. The hosting environment is literally where your database is stored, it is commonly done at a third party like Amazon Web Services or Rackspace. Provider choices can impact cost, scalability, and reliability.
Once the tech stack strategy is defined, the actual coding will being. Almost all app developers utilize an iterative process where the overall project is divided into smaller phases. There are a number of well known software development methodologies such as waterfall, agile, and scrum. Regardless of which your developer prefers, they all have a similar structure which includes planning, development, testing, and review.
Planning involves dividing up the goals for the current phase into tasks with clearly defined requirements. Some thoughtful planning can help maximize the ability to reuse code and simplify updates and changes. Development refers to the actual writing of the code required to bring a feature to life. As assignments are completed, they are passed along to the QA team for testing. Testing should occur in every sprint to ensure that problems are caught early. There is quite a variety of tests that the QA team performs, and our post on Mobile App Quality Testing gives a great overview.
The Review stage is just what you would expect, a regrouping of all the stakeholders to evaluate what went well and what did not. That information is used to inform the next sprint, and any problems or best practices should be incorporated into the subsequent planning phase. This process repeats itself until the MVP is complete!
Mobile App Development Phase 4: Deployment
Once you have reached this final stage of the mobile app development process, you will be anxious to shout out to the world at large how awesome your MVP is. Before spending your marketing budget, though, we’d encourage you to get your app in front of a smaller group of potential users first.
This could be done in a controlled environment like a focus group, or it could be done in a real world setting with a group of beta testers. Taking the time to do this will give you confidence that your app is performing well on various devices and network conditions. It also gives you fresh eyes to catch any problems that your team missed. Fixing those before launch can help to ensure your reviews and ratings are strong from the start.
Once you know your app is ready, your app developer will move your app’s backend into a production environment that can handle your anticipated traffic. The app then gets deployed to either the Apple App Store or Google Play, or both. This process is moderately involved and the piece you will need to champion is the app store landing page. Regardless of what other marketing you have planned, the information you provide in the app stores is critical to success. We encourage you to read our post on How to Create a Great App Store Landing Page.
While it will be tempting to turn your focus entirely to marketing your app, it’s also important to keep an eye on those performance metrics we mentioned earlier. Even the best built apps will require updates and fixes. Further, those metrics will give you salient insights on what matters to your users. Their input could cause you to pivot as you move from your MVP to the next generation product.
As you can see, the mobile app development process is complex! When done well, the final product will be one that delights users and delivers real value. If you have an app idea that you’d like to explore, please contact us. We’d love to use our experience to help you bring an idea to life.