A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
Gall’s Law
(Remember that MVPs can and should be polished.)
Reminds me of the classic MonolithFirst pattern:
As I hear stories about teams using a microservices architecture, I’ve noticed a common pattern:
1. Almost all the successful microservice stories have started with a monolith that got too big and was broken up
2. Almost all the cases where I’ve heard of a system that was built as a microservice system from scratch, it has ended up in serious trouble.
Martin Fowler
There’s the whole “MVPs don’t work for replacing legacy apps” diatribe, but I don’t see what the fuss is about. That’s why the strangler pattern exists.
My takeaway: MVPs are amazing and still underused. I want to MVP everything these days, even (especially) non-technical things. Process experiments are great MVP candidates, for example.
Thanks for reading! Subscribe via email or RSS, follow me on Twitter, or discuss this post on Reddit!