Towards improving user interfaces: A proposal for integrating functionality and usability since early phases

Traditionally, in the practice developers separate usability from functionality. Usability aspects are implemented at the end of the development process; sometimes achieving little usability, resulting in a bad user experience. This paper presents a proposal to integrate the implementation of usability in conjunction with functionality since early phases. This proposal is centered in the sub-phases of user and tasks analysis, combining techniques from software engineering, usability engineering, and human computer interaction. We present a practical guide to derive a software architecture considering both user-interface and user-profile aspects.