Should you use Test Driven Development when creating your Minimum Viable Product?
At first glance, it seems like quite the conundrum.
Agile engineering principles strive for a test first approach, but if I don’t know who my customer is how can I determine what the quality should be?
My current line of thinking is this:
If you are using Test Driven Development to create your Minimum Viable Product, then it is more likely a Minimum Product.
A Minimum Viable Product (MVP) is the smallest batch of work you can complete to gain the most learning about your customers. It may or may not be code. If you are mercilessly TDD’ing your product then it is probably much more than a fake door or concierge experiment. You’ve already committed to a feature or features that solve a customer problem.
TDD isn’t going to bring a lot to the table unless you are building out features.
So instead of asking whether or not you should TDD your MVP, perhaps you should be asking yourself if you’ve really validated the customer need for your value proposition. I would hope so, or you are adding the overhead of TDD to a Minimum Product that may not even be viable.