Our recommendation is to always package the entire application for a few reasons
Introduce failure tolerance - Creating an entire application package that needs to be deployed to production for each deployment, ensures that if any of your environments get corrupted it is less difficult to reconstruct it. Having the entire application packaged from the last successful run of the pipeline, means not having to figure out what was validated (tested) and approved for deployment.
Platform handles delta deployment – the Pega platform already handles delta deployments automatically and the exact rules and data that were imported is documented and captured in the log.
The initial (first time) deployment might be large if the application does not exist on the target system, however subsequent deployments will be quick as only the changes rules and data will be imported as explained above.
The Platform import process and subsequently Deployment Manager leveraging the platform import have been tested for multi-gigabyte application packages and it does work but it will take a proportionally long time to deploy.
Simpler and easier packaging process for developers – by maintaining a consistent product rule, it is significantly easier for application developers as they do not have to keep creating a product rule for every single deployment which can be error prone. This is particularly true if they follow the recommended best practices for a development workflow using Deployment Manager.