Great question that probably warrants a different topic, but here’s my process in a nutshell:
I break big features into individual user stories. A user story is the smallest chunk of work that adds value to a user, and is “full stack.”. For example, I wouldn’t put a button on the page unless the button actually did what it was supposed to do.
The main reason for the above is that after each user story, everything in your app is in a done state. At any point, everything that’s on PROD should work as expected. If you have a big feature that’s half complete, it’s usually a sign that the user stories were scoped improperly.
Technically, our team can push to prod multiple times a day and have 100% confidence that everything up there works as we intended.
For a more in-depth explanation, check out Extreme Programming Explained by Kent Beck. Is this topic interesting enough to build a video or tutorial about?