Start your software product development with a minimal viable product

What is a minimal viable product?

A minimal viable product, or MVP for short, is a product with a limited set of features, just enough to bring value to whatever market you are intending to bring your product to. This is considered best practice for many types of development projects and especially for software products.

There are many important reasons to aim for an MVP as a start-up. Time to market, quickly get feedback from real users, risk mitigation to mention a few.

What does it mean in practice, to develop an MVP?

Developing an MVP means that you need to remove everything from the scope of work that is not necessary for the product to be considered necessary by a potential client, and anything that can’t be clearly connected to a business objective. Take an accounting software as an example. In the scope for an accounting software, reports are probably outside of the MVP. Reports are extremely important to have in an accounting software but not absolutely necessary for it to provide value to the end-user. If the application is to be used globally, support for multiple languages would be useful but also probably out of scope for the MVP. An accounting application usually has multiple modules for among other things general ledger, payroll, account receivable, journal, etc but in the initial MVP you probably cut out some of these, even though your initial thought might have been that all of them are a must-have in the initial release.

What you end up with is a product that despite its leanness hits a market spot that you can continue to grow in, but instead of hitting the market 8 months from project start you might be able to do it in 3. You will not only be able to hit the market fast, but also quickly get real users onboard giving you back valuable feedback that can be used to scope the next version of your product. If you also adopt a continuous deployment strategy, you can release new updates to your product quickly, just days or weeks after your initial release.

There are some areas you should never cut corners in

There are two areas that you should never cut corners in even when implementing a minimal viable product.

  1. User experience
  2. The general quality of the application

An MVP needs a working foundation and the experience of interacting with the application is important for the long-term success of the product. In contradiction to what many seems to think, utilizing external graphic designers, especially from a company like Hire Quality Software is really not that expensive. Many start-ups are content with having their full-stack developers doing their own design work, which is dumb for many reasons. The major one is the misallocation of resources which slows down your project.

The same is true for the general quality of your application. You don’t let your developers test their own code and you don’t go to market with a product with obvious flaws in it. In most scenarios, a start-up will be competing in an already existing market segment, perhaps with important features missing compared to your competition. In that case, the user experience and the overall quality of your product are essential.

5 tips for how to keep your product within an MVP scope

  • Come up with clear business objectives for your project
  • Remind yourself by referring to your business objectives when scoping your backlog
  • Analyze features matching your business objectives based on business impact, risk, and technical feasibility. Remove items that fall below your score threshold
  • Prioritize your backlog tasks using both technical difficulties to implement and client value, not only the latter. You want to address tasks with high-risk and high-difficulty early on. You might need to adapt the project scope based on how well these tasks end up being implemented
  • Involve stockholders early on and make sure to get feedback directly from users, and change your scope based on this user feedback during implementation