• Definition (understanding business and/or client)
• Research (can be anything from field research to just reading)
• Sketching (generate and explore possibilities in some form)
• Refinement (choosing from the possibilities and refining them by making detailed drawings, prototypes, or other things based on the needs of the projects)
• Detailed Prototype (paper, code, documentation, physical thing.. depends on goals)
• Final Product (ideally working with engineering and "manufacturing" in whatever form that takes to product final product)
At any one of those stages we will "deliver" something to our client.. often that's not a traditional deliverable. We work with them, show work in progress often, have structured workshops, and ask them to help us make specific decisions and choices at each step. Each interaction with stakeholders or clients should help them understand the work being done and why decisions were made, no matter what form that takes. What they get in the end is some form of the final product.
Obviously, this is the ideal and it doesn't always work out that way. Sometimes we still have to deliver formal documentation (i.e. wireframes, style guide, etc), but we're trying to move away from that. It largely depends on the comfort of our clients. As they become more comfortable with us and our approach they rely less on formal deliverables.
The real question is what are we trying to accomplish with specific deliverables? Is it to communicate some aspect of the design? To make our client comfortable with progress? To help our client look good with their boss or team? To explore and understand something about the design or problem? There are many things, and each of these needs different types of documents or deliverables… The most important thing is to understand why you're making something and to make it work for that reason.