Eric Ries defines a minimum viable product as
that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort
As a developer, it is tempting to start by building a working protype with a minimal features. However, this is rarely the right way to go, as the first step is to validate the concept of the startup. If you try to do this with the prototype, prospective users will give you feedback aimed at improving the product, rather than the concept itself. For instance, it doesn’t matter if a feature is missing or there is a bug, if you are building something no one actually wants.
37Signals says you should ignore details early on and work from large to small. This same advice is applicable to an MVP. Much like they argue against using Photoshop for doing mockups, because it makes it too tempting to add too much details, but rather advocate doing simple line drawings, your first MVP shouldn’t actually work. Instead you should start by creating a landing page that describes how the product works and a signup button. Then you can direct traffic to it using AdWords, and see if anyone actually clicks through. This forces you to spell out your value proposition, and gives you impartial feedback.
Validating your value proposition is a hard thing to do. As a developer it’s easy to ignore that a product needs to be sufficiently valuable to be successful. If you’re building something for the fun of it, it’s fine to skip this validation, but if you are trying to build a startup, it needs to be at the top of your list.