Usability and Software Architecture:
     The forgotten quality attribute and the forgotten design problem

   Bonnie John Bonnie John,  HCI Institute, Carnegie-Mellon University

Seminar on People, Computers, and Design
Stanford University January 26, 2007

The usability analyses or user test data are in; the development team is poised to respond. The software had been carefully modularized so that modifications to the UI can be fast and easy. When the usability problems are presented, someone around the table exclaims, "Oh, no, we can't change THAT!"

As a field, HCI has produced methods for every phase of the software development lifecycle except architecture design. In many projects, HCI professionals have input into system formulation and functional requirements. They routinely do detailed design and evaluation of the UI and final overall system. They analyze log files and calls to the help desk to improve future versions. BUT the design of the software architecture can have important ramifications for the usability of the end product and HCI has traditionally had no role in those design decisions.

Len Bass (Software Engineering Institute, author of several best-selling textbooks on software architecture) and I have teamed up to bring usability to the architecture design table as a "first-class citizen" on a par with other quality attributes like performance, security, and modifiability. I will present our research, proposed solution, and empirical results supporting the efficacy of that solution.


Bonnie John researches techniques to improve the design of computer systems  with respect to their usefulness and usability. She has investigated the  effectiveness and usability of several HCI techniques (e.g., think-aloud  usability studies, cognitive walkthrough, human performance modeling) and  produced new techniques and tools for bringing usability concerns to the  design process (e.g., CPM-GOMS, CogTool, Usability-Supporting Architectural  Patterns). Much of her work focuses on human behavior modeling, where she  develops models that assist in the design of computer systems. She creates  prototyping environments and tools for human behavior modeling, designed  for use by UI designers without psychology training. She also brings the  psychology of human-computer interaction into software engineering  techniques, e.g., including usability concerns in software architecture  design.

With a bachelors and masters in Mechanical Engineering, (The Cooper Union,  1977; Stanford University, 1978), and six years experience as a  professional engineer, Dr John turned to Human-Computer Interaction in the  early 1980s to “beat psychology into a shape that engineers can use it.”  Earning her doctorate in Cognitive Psychology (Carnegie Mellon University,  1988), she was on the faculty of the Computer Science Department and helped  to form the Human-Computer Interaction Institute in CMU’s School of  Computer Science. Dr. John has had research contracts with many government  and industrial organizations, including the Office of Naval Research, NASA,  DARPA, NSF, SRI, Boeing, General Motors, Xerox, AT&T, NYNEX, and U.S.West.  Elected to the ACM SIGCHI Academy in 2005, she has won both the NASA  Turning Goals into Reality Administrator's Award and the Group Achievement  Award in 2004, NSF’s Young Investigator Award, and she was a Professional  Engineer in the State of New York. She was is currently  the Thomas A. Wasow Visiting Scholar in Symbolic Systems at Stanford.

View this talk on line at CS547 on Stanford OnLine

Titles and abstracts for previous years are available by year and by speaker.