Prototype Vs MVP
The two terms are similar in concept but hugely different in execution. This is how Division 77 makes the distinction.
Should you be building an MVP or a Prototype? Let's look at the key differences between the two concepts.
MVP
Your MVP should contain the minimum feature set required to test a concept / product. You can read more about MVP here - but in a nutshell:
Designed well
Coded well
Architected well
Zero gold plating or "nice-to-haves"
Only the features required to prove or disprove the value proposition
The hard part here, or the skill, is in discerning what the scope of the MVP should be, and this is where good Product Management comes in.
Case Study
You're building an app to leave restaurant reviews. You don't need push notifications. Even if you are really excited bout getting a push notification when someone likes or responds to a review. No. It isn't required to test main value proposition of the reviews app.
Prototype
Something quick and dirty that can be thrown away once it has served its purpose. In a nutshell:
Take shortcuts
Hard code things
Use sloppy database queries
Don't worry too much about UI design
Case Study
Yourself and your team are batting around an idea between each other. In order to make sure you all mean the same thing, and expect the same output from this new feature, mock up a quick n dirty prototype that does it. It's just for internal eyes, customers won't see it, and it doesn't need to scale.
When to think MVP
Think MVP if the thing that you are building is going to need to be built upon, or scale if it proves a success. Also definitely think MVP if your code is going to be worked on by other people. No-one wants to inherit someone else's bad code or bad architecture.
When to think Prototype
Prototypes are most useful when you're trying to establish a common understanding; "Is this what's meant to happen when we do this?".
They're useful for demoing to stakeholders / customers / team members just to make sure you each mean what you think each other means.