Developing an MVP
Chapter 2 of 3
So you finalized your feature set. You have awesome feedback from potential users. Now what? It’s time to build version 1 of your app!
In the last chapter we went over methods to define a feature set and validate your concept. Moving forward from there can be both an exciting yet daunting transition. Don’t worry. We’ve got your back. In this chapter we’ll dive into the multistep process of developing your app.
When building an initial version many users go with an MVP or “minimum viable product” approach. The philosophy behind an MVP is simple – get something to market as quickly as possible, acquire users and iterate based on user feedback rather than assumptions. The challenge with an MVP is streamlining your feature set to provide just enough features for validated learning and continued iteration. Too many features and you run into unnecessary extensions on development time. Too little and the core functionality of your app might be lost. The advantage, of course, is getting to market quicker. An MVP takes anywhere from 3 to 6 months to build. The timeline will however vary depending on the final feature set.
Whether you go with an MVP or full build for launch the process to get there is the same. We break down this process into the following six phases: Discovery & Strategy, Wireframing, Design, Development, QA, and Deployment & Maintenance.
Let’s take a look at each phase.
Discovery & Strategy
Discovery and strategy is often underestimated yet probably one of the most important phases. Many people rush or skip this phase to cut time and costs, but the insights found here lay the groundwork for everything moving forward. If you have a shaky foundation you’ll more than likely find issues with your end product.
The overall goal of this phase is to discover insights into user psyche and how potential users may react to or use your product; and then develop a strategy that combines these insights with your business objectives. That’s a mouthful. In a nutshell, this is about understanding the product, how it will be used and making educated assumptions as to what users will find valuable.
There are a number of different ways to uncover valuable insights. We’re not going to go into detail on the different methods but these could include a competitive analysis, market landscape research, user and stakeholder interviews, user surveys, SWOT analysis, etc. From these exercises you can arrive at certain deliverables, which will differ for everybody. Some examples of deliverables include user personas, site maps, user flows, mood boards, journey maps, ecosystem maps, etc.
We know. Research isn’t exciting or glamorous but trust us – investing the time to properly architect your product upfront will save you a lot of headaches, time and money down the line.
Enough research! For those of you anxious to see the fruits of your labor, this is where things start coming together. Wireframes are the initial visualization of your product. They allow you to see how content will be laid out, user flows and functionality in a black and white representation. It’s a blueprint that represents the page structure and hierarchy of all the different elements of your product. They’re great for getting an understanding of how the final product will function.
Wireframing is the best phase to optimize your user experience, flush out your feature set and make functionality considerations. Because they outline content areas using placeholders and not actual content or visual design, they are easily manipulated and updated. This makes wireframing the best phase to add or cut those features you might have been mulling over.
In theory, your wireframes could be stitched together to create a functioning product but that’s no fun. The design phase is all about bringing your wireframes to life and giving it a personality. Introducing color, typography and iconography is where your product will begin to shine.
The design phase comes with its own set of challenges. This includes things like legibility (Is your type selection legible, does your color palette resonate with the tone of your app, etc.) and intuitiveness (is the functionality of certain design elements clear, does that graphic look clickable when it shouldn’t be, etc.) While the wireframes focused on the overall flow of the app and functionality, design focuses on optimizing ease of use through visual design and making the different functionalities feel intuitive and clear.
Your app looks great but now it needs to actually function. Time to transition design over to your development team who will step in to piece everything together. In this phase your product will go from flat designs to a functioning app. Depending on the feature set, development teams can vary in size, but generally there are two main types of developers involved in writing code.
Front End Developers focus on building an interface modeled after your design. They’re responsible for the “front end” (the portion of your app that users interact with) and ensuring all of the data, content and visual elements display properly.
Back End Developers focus on building a server layer in which the app can communicate with and retrieve data from. The server is where the core computational logic of your product will live and where all of your data is stored. The back-end enables the user-facing front end to function and exist.
Because of the time commitment involved in programming the different components of your app, development can be a lengthy process. It can be expedited by having multiple developers placed on a project .
Quality Assurance (QA)
Quality assurance is the process of testing the fully developed app to ensure all features and use cases function across multiple devices and operating systems. Translation: time to use the app. The end goal is to test all of the features and flows to make sure everything is functioning as it should as well as identifying any bugs.
This phase is essential to making sure the product you release is as bug free as possible. Much like the discovery & strategy phase, QA is often skipped in order to get to market quicker which can actually be more detrimental to the success of your product. The better tested your app is the better experience your users will have.
Deployment & Maintenance
You thought you’d never get there. It’s time to launch!
In simplest terms, deployment is the process that makes your application and its components available to end users. It involves transitioning all the backend source code to production servers, getting the app source code ready to submit to the Apple App Store or the Google Play Store and going through their respective review processes.
Maintenance happens once an app has been deployed and is live in the store. Much like anything, once your product is in use, it needs to be maintained for optimal use and user retention. As you continue to grow your user base and technology evolves, upkeep of the products needs to happen to make sure all of the code is up to date with the latest operating systems and your servers are ready to scale with your growing user base.
Maintenance efforts post-launch vary based on objectives, timelines and team bandwidth. For products with shorter lifecycles, it may be something you spend minimal time on. For longer term success maintenance will be key to retaining and growing an active user base. The more effort you can put towards updates and quicker deploys the better.
By following the guide we’ve outlined here and in our last chapter, you should be well on your way to launching your own app! The final installment of this series will cover the life cycle of your app and how you can set yourself up for long-term success through proper iterations. Stay tuned for Chapter 3: App Iteration.