in reply to Programming with Multiple Personalities
This is a truly excellent writeup. There are a couple of points I wish to add for completeness:
Don't forget documentation. The production of online help and manuals may be the responsibility of the UI designer, but I see this as a distinct role. Often software houses have come unstuck by neglecting this aspect of their product. It may me the best software in the world, but who will be able to use it without instructions in plain English (or French, Japanese, etc.).
Who is the customer? With any project of a reasonable size, it is doomed to failure if the customer is not involved at an early stage (remember the classic swing diagram). Even if the customer is merely involved in signing off the requirements document, that is better than nothing, and saves much legal heartache when it comes to project delivery time.