I love this diagram by Henrik Kniberg for how to think about what to release to your customers when. Hopefully it’s self-explanatory, but the idea is that a standard approach of having your grand plan of what you think people want at the start and then working on each bit at a time until finally, after months of work, you have something that works is not, when explained like that, so smart. Each piece, in the car example, doesn’t help the customer at all until it’s all put together.
Instead, you can focus on providing the next piece of functionality that helps someone get their job done a little better than before. At the beginning they’ll probably have to put up with a lot if they want to use it, but with each successive release they find they can get their job done a little better than before and get value out of what you’re building. A side-effect is the feedback you get along the way will likely help you learn and build something that is better than what you had in mind at the beginning and all along the way the customer had some value instead of waiting for months.
Providing usable functionality at every step is not always easy, and it usually involves some rework as you move from one step to the other. But it’s generally a price worth paying to give your customers value sooner and start learning as soon as you can.
You’re welcome to use and share this image and text for non-commercial purposes with attribution. Go wild!