At last night's New York ColdFusion User Group (NY-CFUG), Clark Valberg of Epicenter Consulting gave a most excellent presentation on what he refers to as the "Interface Driven Architecture Methodology." For a very brief summary, he basically breaks up the development life cycle into two different phases: Design and Fabrication. In this model, absolutely all interface design is prototyped and finalized by the client in the Design phase before any "coding" is done. Then, in the Fabrication phase, all prototypes are implemented including a functional code base.
I happen to think that this is a fantastic approach to software engineering. How nice would it be to know that when you start coding you don't have to do ANY interface design. Sure you have to build the views based on the prototype, but hey, you are no longer designing them, just implementing them. I look forward to trying this on small projects, so that I can prove to my company that this is a worth-while endeavour.
If you have a chance to catch any of Clark's presentations (I have seen several on usability and interface-design), you should check it out.