Step 1: Analysis
The first step in the process is always to define the problem. I usually spend some time familiarizing myself with the client or product at hand as well as relevant competitors and constraints. Often, a heuristic evaluation or the creation of personas is a valuable exercise to get to the root of what problem is being solved. Customer data and web analytics are extremely helpful during this phase.
Step 2: Ideation
My favorite part of the process is to brainstorm. Ideally, a visual designer, a developer, a stakeholder and I would sit in a room and hash things out on a white board. I generally lead the session, drab concerns from dev and pushing creative for more, all the while being the advocate for the end user.
Step 3: Synthesis
After the initial brainstorm, I then go and put those pieces together. Sitemaps and content outline documents are a common deliverable from this phase, though sometimes a good old fashioned spreadsheet is the best way to organize the data.
Step 4: Wireframing/Prototyping
The next step is to create a basic wireframe. It is important to not dictate to much design and layout. The emphasis should be on taxonomy, architecture and hierarchy. However, I find that visual designers are often greatful to have a robust boilerplate to work from.
Depending on the size and scope of the project, this is where I would build interactive prototypes for usability testing. I work best in Axure, though other prototyping tools may be used as well.
Step 5: Production & Oversight
After the wireframes have been approved be the client, I generally stay involved with a project to make sure the designs and development efforts stay true to the original structure. Often, the actual implementation illicits additional questions or even problems with the proposed solution, in which case I would rework wireframes, or help provide on the fly solutions to the designer or developer. Usually, my work serves as a boiler-plate for a visual designer to create final high-res comps. However, when a designated visual designer is not involved in the production, I provide the comps to be handed off to developers.
I like to be present when final designs and code is delivered so I can explain design and structural decisions to the client. When that is not possible, I like to provide annotated comps to help them understand the deliverables. It is important for me to take ownership of the project from the beginning to the end so there is a consistency in how it is ultimately built.