It is also my experience that this is the way to go, and it also matches my theoretical view aka prejudices.
It seems to me that one of the things making this approach difficult is that we lack (design) tools that support iteration between design and development.
Modern tools make going from design to development easier, but it is still largely a one-way street. And one that's been made worse by recent trends towards building the UI in code, rather than from data. There are good local reasons for doing this, but it does seem to push even more strongly towards a waterfall-y development process (design does pretty mockups, throws over wall)
It seems to me that one of the things making this approach difficult is that we lack (design) tools that support iteration between design and development.
Modern tools make going from design to development easier, but it is still largely a one-way street. And one that's been made worse by recent trends towards building the UI in code, rather than from data. There are good local reasons for doing this, but it does seem to push even more strongly towards a waterfall-y development process (design does pretty mockups, throws over wall)