Fernando Blat recently tweeted a pic of a slide describing how Spotify builds a product (which I've re-posted below.)
The essence of the slide is that Spotify does not build by painstakingly crafting a perfect product that's not functional until it's fully assembled. They iterate in stages, developing a functional but rudimentary product at first and improving it at each step along the way.
In the visual language of the slide, Spotify isn't building a car, starting with a wheel, adding a chassis, then a body, and only then adding a windshield and controls that allow a user to start traveling. Rather, Spotify is providing transport, starting with a ratty skateboard, and then progressing through steps from a scooter to a bicycle to a motorcycle and then, finally, to a car.
The point is that users don't have to wait until the car is perfected to begin their journey--they can jump on that skateboard and get going now. Just as important, Spotify doesn't have to wait until their development process is over to get feedback from users on how they like the car--they can ask them how they like the skateboard now.
I'm not a software developer (although I coach quite a few), and you probably aren't either, but I think this concept is relevant to almost all of us no matter what we do. Whatever our actual goals, let's imagine that we're in the transportation business, like the little figures on the Spotify slide. We can start building the perfect vehicle from the outset--but it's going to take a long time to create value for anyone. Or we can create some type of minimum viable product and share it with the world today. In other words, make more skateboards.
Photo of skateboarders by Michael Coghlan. Yay Flickr and Creative Commons.