In order to truly build a great product, it is imperative to understand the needs of the people using it. It is my first priority to speak with customers at the beginning of the design process for each project.
Every project is unique and should be approached with an open mind and a fresh perspective. For me, it's more important to be flexible while the ideas are flowing, instead of trying to adhere to the same rigid process each time.
One of my favorite techniques when designing a product is to start at the smallest form factor; effectively focusing the design down to the most important tasks during a user's journey through the product. The mobile-first approach helps to lay the foundation for the design for larger devices.
As with any product, perfection is an impossible goal to achieve. Although it can be tempting to aim for perfection each time you deliver a new product, it's rarely efficient or effective. I've found that it's more important to focus on delivering value to your customers as frequently as possible.