UX-Driven Design is a philosophy that suggests you start your design effort from the presentation layer and proceed in a top-down way toward the bottom of the stack. In doing so, you run the preliminary domain analysis on a double track: collecting business domain data and UX data. Collected UX data will guide the team as they design interaction models that work for the user before they are made to work for the system.
The primary goal of UX-Driven Design is building screens in such a way that users decide that they love them. After wireframes and mockups of screens are signed-off on, you start defining data workflows and then domain logic, services, and storage. The benefit is that you know as early as possible for which output you are going to create the system, and the user guides you to discovering needs and ideal solutions. This cuts down the number of iterations to fix what users don’t actually like when you deploy the system. Today, the key to saving money on software projects is ensuring as early as possible, and as reliably as possible, that you are creating exactly what users want. And users judge the system primarily from their user experience.