Layers and layers. Many small batches do not prevent defects, they make them faster to find and correct. You are correct that many small releases are required to complete a feature, but that means early feedback from E2E test and requestor testing if that was the right future anyway so that you can stop working on a bad idea. Just because a feature is requested, it does not follow that it should be blindly implemented.