I am building an eCommerce project and I wanted to define the MVP of it so that I can build it in an iterative way in an agile fashion so I can shorten the feedback loop from clients and adapt asap.The problem is that for an eCommerce to go to production it needs the following features which are standard in the market:

  • Buy an item
  • Listing view of products
  • User Registration
  • Login
  • Forgot password
  • View a specific item (view a product)
  • Cart
  • Checkout
  • Rating system
  • Pay by card
  • Notification system

If I build all these features it will take me 6 months for the first release where the feedback loop is huge had probably there is a huge risk of failing.

Do you have any idea how to approach such a problem so I can build the project with being as Agile as possible?

  • 1
    The focus with an MVP is on releasing it, not building it. It is the minimum usable thing that you can put in front of your users or clients. If it takes you 6 months to build the bare minimum then it doesn't matter how Agile you are. So you either redefine what minimum means so it doesn't take you 6 months, or you give up on the idea and use an e-commerce solution that already exists so that you don't need to build an MVP in the first place.
    – Bogdan
    Nov 17 at 14:58

For each of the features listed think hard about if you actually need it for your early consumers, if you do then can you get the functionality from something else which is already built, if not then can you fake it by having a manual process in the short term.

For example: Listing the products, you need this and will probably build it. For user registration, login, forgotten password, you need this but could you use the Sign up with Google/Facebook rather than building it. Payments - Look at things like Stripe or anything else which is easy to integrate. Rating system - Feels like it is something that could come later. Notifications - Fake it, send the notifications manually. If you get loads of traffic then build it.


Since the goal is getting a Minimum Viable Product, that means having the bare minimum features. The idea is simple: as customers start using the product, they'll offer you valuable feedback, which can change the course of development of your project. Just as earlier said, it's best to use an existing feature rather than hard coding. An example is using a plugin for sign up functionality. This way, you don't have to spend so much time and these existing features can be taken out later and hard coded if you wish.


One thing worth considering is creating a beta test group for the product. This would be a group of users who are interested in the product, don't mind seeing it while it is still not feature-complete and are willing to sign an NDA.

The value of the beta test group is that it allows you to release in an iterative fashion, even before you get to the MVP stage.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.