The practice of user experience is already widespread in the Silicon Valley and is growing across the world. This is due, for a good part to the incredible success of Steve Jobs and Apple.
While context of use and platform varies, the fundamentals of user experience remain the same. The following topics are important to consider:

User Research – Early Focus on Users, Tasks and Context

User research is the way to understand the users profile, their context and their tasks. This understanding is achieved by directly studying their tasks, behavior, and context. The most effective technique for user research is task analysis with field studies. To understand user behavior, knowledge in human factors basics is essential.

The best books about user research are:

1)   Task Analysis for Human Computer Interaction by Dan Diaper.

2)   Engineering Psychology and Human Performance by C. Wickens. The best book on human factors for interactive systems

Interaction design – Translate user research into user interface

The goal of interaction design is to map user research into user interface. The knowledge and skills that needs to be mastered are: Interaction techniques, Interaction style, User interface guidelines, and visual design.

Here are the best books for interaction design:

3)   Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th Edition) [Hardcover]. Ben Shneiderman, Catherine Plaisant, Maxine Cohen, Steven Jacobs.

4) For Visual design: Designing Visual Interfaces: Communication Oriented Techniques, by Kevin Mullet and Darrell Sano. This is the number one book about visual design

Test user interface and Iterate prior building

Design must be iterative: There must be a cycle of design and testing of prototype allowing users to execute task simulations with user in the context and modification before building the system.
It is critical to separate phases, 1) design and 2) building. That’s what Apple is doing; first, they design the user interface (UI) and test it with prototype. Only after the testing is satisfactory, they build the system.
The recommendation here is to stay away of most book on existing software methodology because the emphasis is on the engineering perspective where they build something assuming the requirement are specified by business analyst and approves by business.
Two key reading for iterative design

5)   For the Methodology: Cognitive approach by Francois Aubin. This three pages provide the essentials on what to do and why.

6)   For prototype techniques: Sketching User Experience by Bill Buxton. This is a major book. It really nails down techniques for prototyping,  simulations and much more.  It is a must for any practitioners.