Usability through Software Design

Author(s): Carvajal, L.; Moreno, A.M.; Sanchez-Segura, M.-I.; Seffah, A.
Venue: IEEE Transactions on Software Engineering
Date: 2013

Type of Experiement: Quasi-Controlled Experiment
Sample Size: 9
Class/Experience Level: Graduate Student
Participant Selection: Randomly selected from SE Master's program. Participants unaware of experiment.
Data Collection Method: Observation, Project Artifact(s)


Software usability involves how the end user perceives, uses, and learns how to use an application. Usability includes how easy software is to understand, learn, and use. This study digs into the impacts of software usability on the development side (rather than the end-user side). The authors analyze whether developers can use usability guidelines for software development to design and implement usable software more quickly, with higher design quality, and with less perceived complexity for developers.

The usability guidelines for software development include analysis artifacts (eg requirements elicitation guidelines, use cases, system responsibilities) as well as design artifacts (eg high and low level UML diagrams) for specific common usability features. The targeted guideline features are: abort, undo, muli-level help, warning, progress feedback, personal object space, command aggregation, system status feedback, step by step, favorites, and preferences.

The experimenters randomly attained 9 subjects from a uniform SE master's degree program. The subjects were unaware of being part of the experiment. The subjects were randomly assigned to one of three similar projects and one of three control groups. The groups were: NG (no artifacts), PG (analysis artifacts), FG (analysis + design artifacts). The subjects completed the projects using their specified level of access to the guidelines.

The experiment had significant results. It showed that the guidelines reduced developer time in the design, implementation, and testing stages. It resulted in a higher design quality as rated by an otherwise uninvolved SE graduate professor, and it also resulted in a decreased perceived complexity of the inclusion of usability features for developers. In this experiment, the usability guidelines for software development significantly aided in the software development process.