Collaborative Engineering of Usability Requirements

I am looking for motivated master or PhD students to join this research project. Please email me if interested.


Usability is a fundamental type of non-functional requirements (NFRs) that specifies how easy, efficient, error-preventing, and pleasant a software system must be to be used by human users. The importance of usability is increasingly pervasive in the modern software engineering projects.

Because of the unique characteristics of usability NFRs, however, software development teams often experience considerable challenges in managing this type of NFRs, limiting their ability in creating more successful products for their users.

  • First, usability and user interaction are complex issues that rely on diverse factors that require effective collaboration from multidisciplinary software development stakeholders, which is usually difficult to achieve.
  • Second, resource and skill-demanding activities such as iterative prototyping and user studies are indispensable in identification, evolution, verification, and validation of usability NFRs.

There is currently little methodology and tool support in facilitating the multidisciplinary collaboration and the iterative activities in managing usability NFRs.

Research Goals

The long-term objective of this research program is to address this gap by investigating, developing, and deploying methods, models, and tools for usability NFRs management in collaborative and iterative environments.

In the next five years, this research targets five short-term objectives:

  • Accumulating practitioners’ knowledge about usability NFRs management
  • Constructing a taxonomy and an ontology of usability “bad smells” as a common vocabulary for discussing usability concepts
  • Creating a usability NFRs modeling scheme to support multidisciplinary communication
  • Exploring semi-automated methods for usability NFRs identification and construction
  • Creating and evaluating a usability NFRs lifecycle management tool

The outcomes from this research program will have several impacts. First, this research will advance the fields of usability engineering and requirements engineering, extending our theoretical and practical knowledge about usability NFRs and the related issues. Second, the methods, frameworks, and tools resulted from this research will directly benefit the industrial practitioners, allowing companies to streamline their usability engineering process and create more successful products for their users. Third, this research program will help attract and train students and practitioners from many backgrounds to practice usability engineering. It will provide a stronger workforce to reframe the current situation in executing usability engineering towards a more effective, efficient, and standardized practice.