Minimum Viable Product (MVP)

A core component of Lean Startup methodology, developed by Eric Ries, is the build-measure-learn feedback loop. The first step is figuring out the problem that needs to be solved and then developing a minimum viable product (MVP) to begin the process of learning as quickly as possible.

mvp-feedback-loop

Once the MVP is created, a startup can begin working on tweaking the product. Most adjustment should be made based on user feedback. If users don’t adopt the MVP, managers need to start asking pertinent “Why” questions in order to investigate the root of the problem. Why are visitors not converting to registered users? Why are users not opting to pay for extra features? Why are users closing their accounts in under a month? Questions like these can uncover structural problems in the product and potentially lead to a pivot or product course correction.

“Minimum” Is Deceiving

Don’t let the “Minimum” in MVP fool you, many entrepreneurs and successful businesses fail miserably at something that sounds very intuitive. A true MVP has a minimum set of features needed to learn from early users. The core purpose of building an MVP is to avoid building something no one actually wants. If you realize you’ve already built something no one wants, you can quickly pivot or drop the product all together so as to avoid depleting more resources. This is easier said than done. Companies with millions of dollars to spend on testing products are less attached to any particular product. Most of the entrepreneurs we do business with don’t have that luxury; precisely why we guide them toward MVP and steer them clear of costly features that their end users might not care for!

The Pivot

pivot

To Pivot is to change direction but stay grounded in what you’ve learned. Most startups fail but some fail early, pivot and create something great based on what they learned about their target audience. Some entrepreneurs think pivoting is in some way admitting failure and is bad, but failing in itself is not bad especially if you take all those lessons and apply them to the next iteration. Software developers understand pivoting really well and often welcome it. Building good software is about iteration, and it takes many iterations to get something right but when you get it right it usually sticks and doesn’t need to be changed for a long time.

Uncertainty

Lean Startup Principles aim to deal with extreme uncertainty; the number one factor every startup deals with. Your product could be wicked awesome but until the market validates your assumptions everything is uncertain. The faster you build something and bring it to your users the faster you can validate your assumptions and decrease uncertainty. Spending a year(s) building something without constant user feedback is very dumb. Almost every popular application that exists today could be broken down into an MVP with minimum features and users would still use that product. Take away any 5 features that Facebook currently has and people would still use Facebook. Your product has to offer the bare minimum core features that your users need and want before you go slapping on various widgets to the program.

The problem with entrepreneurship is we are often working really hard producing high quality products that no-one wants. The creation of stuff is not valued.
– Eric Riles

Establish The Baseline

mvp-piechart

One of the most significant jobs of the entrepreneur is establishing a baseline for their product. Iteration 1 cannot contain all the bells and whistles, it cannot even contain most of them. Iteration 1 needs to be the product that crudely solves that one specific problem, nothing else. The baseline has nothing to do with cost, it has to do with speed. Sure it will most likely cost less to build a streamlined product but that’s not the ultimate goal; the goal is to go to market and learn from the target user. If you’ve noticed, I use the word ‘learn’ quite often. No matter how much knowledge you have about your target industry, you can’t possibly know how people will respond to your new product but you can certainly learn as much as fast as possible by establishing a product baseline.

 

Is it a web site? A web app? Or a native app?

Many people are still confused about the difference between common types of applications(apps). Everyone seems to understand what a web site is, but when you say things like not all web sites are web apps or most web apps are also web sites, eye’s tend to glaze over. Let’s break things down.

What’s A Web Site?

website

A web site is a location connected to the Internet that maintains one or more pages on the World Wide Web. These web pages are just documents, typically composed in plain text interspersed with formatting instructions of Hypertext Markup Language (HTML).

Typically a web site is just a bunch of static pages that display the same information for any and all visiting users. Web sites are primarily informational. Take a basic portfolio page for example, it just displays a user’s/company’s work, an About section, and other pertinent information that may help visitors understand more about the user/company. To view someone’s portfolio page doesn’t require you to login, there’s no input fields for you to submit personal information, and the content you view on the page is the same content your friend would see if she was to visit the site from her computer.

A basic static web site, like a portfolio page or a coming soon page, should not be called a web application because it’s not doing any heavy lifting; by that I mean processing and saving data. It’s just a bunch of static content that’s displayed to users.

What’s A Web App?

web-app

A web application will have things like user authentication(login), allowing users to log themselves in and view information they might have submitted or saved from their previous session. Sites like Twitter, Facebook and LinkedIn are great examples of web applications. These are essentially programs that runs remotely, and depend fundamentally on a processing and a data storage backend. Web applications have databases that save your information and display it back to you every time you check back in. Web applications are very powerful and are able to reach anyone that is using a web browser connected to the internet.

The reason people understand the term web site better than the term web app is because back in the olden days, early 90’s to be precise, there weren’t any web apps. Back then everything was a static web site. We didn’t have big user centric apps with all these nifty features; we had basic informational pages that lived on the web. Once we started hooking up databases to web sites and adding all of these user centric features web sites gradually became robust web applications. The problem these days is whenever people here the term app they immediately think about those icons in their smart phone, which are actually Native apps and that’s what we’re going to discuss next.

What’s A Native App?

nativeapp-vs-webapp

As you may have extrapolated, both Web sites and Web apps live on the World Wide Web! We typically access the world wide web through a Web browser. A Web browser is a software application used to locate, retrieve and display content on the world wide web, including web pages, images, video and other files. You’re using a Web browser right now to view this blog post. You might be using Google Chrome or Safari or Mozilla Firefox but hopefully not the dying Internet Explorer!

A native application (native app) on the other hand is an application program that has been developed for use on a particular platform or device, like a smart phone operating on iOS. Because native apps are written for a specific platform, they can interact with and take advantage of operating system features and other software that is typically installed on that platform.

Native apps are Not accessed through a browser. If you have a smartphone you already have a bunch of native apps installed. Just look at all those icons on your home screen, those are all native apps you’ve either purchased through an app store or apps that came pre-installed. These apps are written for specific operating systems. If you have an iPhone you’re running iOS, Apple’s operating system. If you have some other type of smartphone you’re most likely running Android, which is an operating system that is developed by Google.

Because a native app is built for a particular device and its operating system, it has the ability to use device-specific hardware and software, meaning that native apps can take advantage of the latest technology available on mobile devices such as a global positioning system (GPS) and camera. But web browsers are becoming far more powerful and gaining access to smartphone cameras and GPS, you ever receive a pop-up in your browser asking for permission to access your camera or location?

Wrap It Up! No You Wrap It Up!

Web sites are just static pages on the internet, check out this classic. Web apps are dynamic pages that interact with a database. Native apps are stand alone apps that are native to your operating system and do not run in a browser. At Alkami we build web sites and web apps because we rarely encounter someone that absolutely needs a native app. 9.9 out of 10 times our responsive web apps meet the demands of the architect/entrepreneur.