In the initial phase of software development universe, software products or applications were made and thrown out to the market. This led to the problem known as “Software development as a Production approach", which means you make software applications like factories and force-sell them to the masses.
Minimum Viable Product (MVP) solves this problem. On contrary to "production approach", MVP is the approach where the software or application is made with minimum features to prove its viability. MVPs are made on the principles of "customer approach" where target customers are identified first, and Prototype application is made as per the customer's requirements. Minimum Viable Product can be delivered to the target customer as the first beta product, so that rest of the product is made by collaborating closely with the customer, thus saving huge costs.
Many Organizations and Startups have used this approach successfully as it is easy to get investment on something which customer is already using. MVP approach is the best when we need to know that how the customer is reacting to the product, hence giving the surety that the product is "fit for the market" and should be invested upon.