Trying to be too complete. The biggest pitfall: "before we launch, we also want X, Y and Z." As soon as that happens, it is no longer an MVP and you lose the whole point of learning. A good Won't-list is just as important as the Must-list: write down what is deliberately left out and hold each other to it.
No user testing. Many MVPs are built on assumptions about what users want. Before you write any code, speak with your target audience; otherwise you'll quickly build the wrong thing.
Over-engineering for scale that doesn't exist yet. Microservices, a bespoke Kubernetes cluster, message queues, custom feature flags: these suit a product with millions of users, but they're fatal for an MVP with ten. Start simple; add complexity when it starts to hurt.
No exit strategy if the hypothesis proves wrong. Decide in advance: what will we do if the pilot disproves the hypothesis? Test another idea? Pivot? Stop? Founders who don't discuss this become attached to their MVP, which is a dangerous position to be in.
No measurement. Without analytics, user interviews or conversion tracking, you know nothing. Build simple instrumentation in from sprint one, otherwise your "learning outcome" is a feeling rather than evidence. See also our page on the cost side of custom software for context on what this type of work typically involves.