You must understand user needs, goals and expectations prior to creating solutions. With a mix of research, best practices, and user outreach, you can develop a strategy that compliments business goals with user touch points; Building a solid foundation, which will inform preliminary design decisions prior to testing.
With a clear understanding of business and user motivations, you can begin developing an intuitive information structure with meaningful interactions. Starting with information architecture and working through wire frames and prototyping you can begin to solidify an approach.
A design is only as good as the feedback it returns. Proper testing will help determine what works, what doesn't, as well as, find gaps in functionality before and during the development process. This is where refinement and iteration happens and where a good design can become great.