Software development is not like building a bridge, it's more like building a road blindfolded and without planning, and without knowing if the road is for pedestrians, trains, or boats... So you build a dirt road aka MVP, but if you are not lucky it might involve tunnelling and also a few bridges. The key is to first "walk" the path, rather then laying pavement from day one.