In this paper we argue that user interface design should evolve from iterative to evolutionary in order to support the user interface development life cycle in a more flexible way. Evolutionary design consists of taking any input that informs to the lifecycle at any level of abstraction and its propagation through inferior and superior levels (vertical engineering) as well as the same level (horizontal engineering). This lifecycle is particularly appropriate when requirements are incomplete, partially unknown or to be discovered progressively. We exemplify this lifecycle by a methodology for developing user interfaces of workflow information systems. The methodology involves several models (i.e., task, process, workflow, domain, context of use) and steps. The methodology applies model-driven engineering to derive concrete user interfaces from a workflow model imported into a workflow management system in order to run the workflow. Instead of completing each model step by step, any model element is either derived from early requirements or collected in the appropriate model before being propagated in the subsequent steps. When more requirements are elicited, any new element is added at the appropriate level, consolidated with the already existing elements, and propagated to the subsequent levels. A workflow editor has been developed to support the methodology.