My first step as soon as I have researched the product, the users, the tasks, and I have a firm grasp of what needs to be accomplished, is to sketch. Pencil and paper are still powerful tools.
Sketching: Low fidelity and easy to implement, sketching allows for a free flow of creativity and problem solving. Whether I am sketching the ideal flow or a specific screen, the first thing I want to communicate is the overarching concept, not a specific visual asthetic. I gather feedback from as many people (users, team members, etc) before moving onto higher fidelity executions.
Wireframes: these can be sketched or low fidelity examples using a design tool. Usually I use medium fidelity wireframes to show a more concrete user flow and then build the screens from there.
After I have sketched and created substantial wireframes and user flows, I create higher fidelity mockups and plug them into a simple but functional prototype.
Mockups: Mockups can run from low to high fidelity. Using the wireframes I begin to build more definitive screens for the product, gathering continual feedback along the way. Mockups should still focus on usability but begins to bring some visual design communication, consistency, and aesthetic into the picture.
Prototypes: prototypes aren’t the last step of the process but rather a constant part of each stage of the design process. With simple tools like InVision making it incredibly easy to push a prototype to the team and users, prototypes can use anything from low fidelity sketches to high fidelity mockups to gather information on and test the usability of the product.