How does user interface design fit in a development process?

In a software development process where does the user interface design fit?

If we take an agile approach for a small team (2 juniors, 2 seniors, a Team Leader and a web designer) what normally should be done is:

  1. A list of requirements is generated with the customer.
  2. A list of features in extracted from the use requirements and for each requirement a list of scenarios is written.
  3. Each scenario is translated into an acceptance test and development starts using TDD.

In this team developers do both the front and back-end development.

Till now we didn't give user interface design much value and most of the time we built very simple mock ups to ourselves that are given to the web designers to implement. Sometimes the user interface is built before the feature is implemented and sometimes after it.

Currently we want to give the user interface design more attention and to involve our customers in the process, but we don't know how and when should we do the user interface and how can the user interface affect the requirements.