Research is the key. Before jumping into designing I always make sure that I’m asking the right questions and understanding the core of the problem. This helps me gauge the expectations and outcome of the solution completely. This includes user research, market research, consulting and exploring possible solutions.
Iterative model of going from low fidelity wireframes to functional prototypes. This involves getting feedback from customers at all stages and involving them as much into the process as I can.
I believe that designers should work very closely with developers and have basic understanding of technical limitations that might come in to bring their designs to life. Being a designer with a computer science background I sometimes also develop my projects.
The story doesn’t end there. I believe that no problem is completely resolved until the solution has been analyzed after being implemented. This stage involves impact analysis, calculating CTRs, Impressions, Views and optimizing the design based on these metrics.