Weekly or monthly.
Each project has its own set of outcomes, which can be delivered (codebase, designs, specifications, user stories, test plans, etc.)
For the majority of them, we work together with the Client's product team, as client interim approval is required in each of them.
Once any of the project outcomes is ready - we deliver them to you. If they are paid of course).
Such a big thing as a codebase can be delivered once a month if we work in our repository, usually after the demo and payment. In case we work in a Client's repository - the code is already there. But we make sure we have a security deposit to prevent any mischief.
Additionally, when the project is released, we deliver all the documents and outcomes related to the product, as it is usually prescribed in the NDA.