Maturing Usability: Quality in Software, Interaction, and Value contains a collection of writings from various experts in the field of usability and user interface development.  It provides an understanding of how current research and practice has contributed towards improving quality issues in software, interaction and value. I wrote Chapter 4 which describes how usability fits into the Agile lifecycle.  Other chapters look at how using development tools can enhance the usability of a system, and how methods and models can be integrated into the process to help develop effective user interfaces; theoretical frameworks on the nature of interactions; techniques and metrics for evaluation interaction quality; the transfer of concepts and methods from research to practice; assessments of the impact that a system has in the real world; and how to focus on increasing the value of usability practice for software development and on increasing value for users. A balance between theoretical and empirical approaches is maintained throughout, and all those interested in exploring usability issues in human-computer interaction will find this a very useful book.

Chapter List

Part I: Quality in Software.  These chapters look at how using development tools can enhance the usability of a system, and how methods and models can be integrated into the process to help develop effective user interfaces.

    * Chapter 1. Usability of UIs Generated by an MDA Tool.  Model-driven architecture (MDA) has recently attracted the interest of both the research community and industry corporations. It specifies an automated process for developing interactive applications from high-level models to code generation. This approach can play a key role in the fields of software engineering (SE) and human-computer interaction (HCI). Although there are some MDA-compliant methods for developing user interfaces, none of them explicitly integrates usability engineering with user interface engineering. This chapter addresses this issue by showing how the usability of user interfaces that are generated automatically by an industrial MDA-compliant CASE tool can be assessed. The goal is to investigate whether MDA-compliant methods improve software usability through model transformations. To accomplish this, two usability evaluations were conducted in the code model (final user interface). Results showed that the usability problems identified at this level provide valuable feedback on the improvement of platform independent models (PIM) and platform-specific models (PSM) supporting the notion of usability produced by construction.
    * Chapter 2. Software Quality Engineering: The Leverage for Gaining Maturity.  For users, a software product frequently corresponds to a black box that must effectively support their business processes. Consequently, what a stakeholder seeks is a software product that possesses both required functionality and required quality. Young, immature companies usually can only afford developing functionalities, while mature organizations can develop quality, as well. In this sense, the level of quality observed in a software product is an indicator of the level of maturity of its developer. One may even say that because functionalities are always in a product and quality only sometimes, quality is a more restrictive indicator. Having this in mind, in this chapter we present software quality engineering from both implementation and managerial perspectives, discuss aspects of functionality-quality conflict in the economic and business dimensions, and finally give a few practical observations and recommendations that might find merit in the real, software development lifecycle.
    * Chapter 3. Connecting Rigorous System Analysis to Experience-Centered Design.   This chapter explores the role that formal modeling may play in aiding the visualization and implementation of usability, with a particular emphasis on experience requirements in an ambient and mobile system. Mechanisms for requirements elicitation and evaluation are discussed, as well as the role of scenarios and their limitations in capturing experience requirements. The chapter then discusses the role of formal modeling by revisiting an analysis based on an exploration of traditional usability requirements before moving on to consider requirements more appropriate to a built environment. The role of modeling within the development process is re-examined by looking at how models may incorporate knowledge relating to user experience, and how the results of the analysis of such models may be exploited by human factors and domain experts in their consideration of user experience issues.
    * Chapter 4. Tailoring Usability into Agile Software Development Projects.   Usability, user interface, and interaction design are among the group of vital, yet mostly overlooked, skills that all software developers require, yet few seem to have. This is just as true of agile developers as it is of traditional developers. This chapter examines both user experience (UEX) and agile software development (ASD) approaches, comparing and contrasting the underlying philosophies and practices of each. Using Agile Model-Driven Development (AMDD) as the foundation, it then describes strategies for tailoring UEX into agile methods. It is possible to address UEX concerns on agile projects, but it requires flexibility and a  willingness to work together on the part of both UEX and ASD practitioners.
    * Chapter 5. Model-Based Evaluation: A New Way to Support Usability Evaluation of Multimodal Interactive Applications.   Multimodal interfaces are becoming more common, even in the field of safety critical interactive software, mainly due to the naturalness of the interaction that increases the bandwidth between the user and the system they are interacting with. However, the specificities of multimodal interactive systems make it difficult to gather information from the use of modalities and to extract from this information recommendations for improving the multimodal user interfaces. This chapter aims at presenting how abstract information described in models can be fruitfully exploited to improve the quality of evaluations of multimodal interfaces. The approach presented in this chapter combines model-based verification (based on simulation scenario extraction generated from models) and empirical methods for usability evaluation. Our aim is to try to bring together two separated (and often opposite) issues, such as usability and reliability, into the development of safety critical systems. This approach is illustrated via a Space Ground System of a satellite control room, whose multimodal interaction technique is fully described by the means of formal models.