User Centered Design is an engineering method that focuses on usability.
Traditional engineering methods are top down. The business defines the product specifications, the engineers create it. The team spends very little time thinking about how their customers will use the product. An interface intuitive to the design team may be completely useless for a customer.
The User Centered Design process is empirical and iterative. First the team familiarizes itself with the problem and user community. The team passively observes users interacting with a product. Next, the team conducts targeted interviews to gain more information.
Once the team has a basic familiarity, they conduct an ethnography. This method allows the team to gain day to day experience as a user. The experience is invaluable and cannot be gained in any other way.
The team proceeds to develop mockups for the new product. Paper mockups are used during the design discussions. Once several ideas are solid, the team creates a "wizard of oz" mockup -- one with all the frontend functionality but a completely undeveloped backend. The team conducts user acceptance tests to see which mockup or which combinations of features from each mockup are most usable.
Finally, the team uses a Rapid Application Development RAD language such as Visual Basic or Delphi to create a fully functional demonstration. The demo is put through a rigorous set of tests to prove whether the new user interface acutally increases productivity.