Software Engineering (SE) aims at having systematic approach to development, operation, and maintenance of software. SE process models, including waterfall, agile, and Rational Unified Process (RUP), guide software development projects. Human-computer interaction (HCI) is a multi-disciplinary field with a focus on the interaction between humans and computers. HCI also has a well-developed set of processes, activities, methods, and deliverables. Though HCI and SE have overlapping concerns, there are major gaps between HCI and SE in theory and practice. In this research, we focus on integration of HCI activities in SE process models.
We review current literature in design and HCI and propose a process framework. In this framework, we identify HCI activities, methods, deliverables, and skills that are essential and must be integrated in SE processes. We use this framework as a baseline for integrating HCI activities and propose extended process models for waterfall, agile, and RUP. In each case, our approach is to integrate all the HCI activities that we consider essential, to integrate them at a point in the SE process where the HCI deliverables will be most useful, and at the same time to keep the original intents of the SE processes intact.
To demonstrate the validity of our process framework and the integrated process models, we propose Usability Goals Achievement Metric (UGAM), a product metric that measures how well the usability goals of the product are achieved, and Index of Integration (IoI), a process metric that measures the extent to which HCI activities are integrated in a project as compared to a prescribed process model.
To help set goals systematically, we develop a Usability Goals setting Tool (UGT). UGT helps a design team to break down high-level goals into more granular goal parameters.
We evaluate and refine UGT through formative (qualitative) evaluations and validate it through summative (quantitative) evaluations. With data from 65 industry projects, we show that UGT is internally reliable and has a reasonable granularity and coverage. This data also established the need for such a tool. It was surprising to find that more than a third of the usability goals that were considered important in those project contexts were not achieved. We identify 8 goal parameters that are typically high-weighted but have insignificant weight-score correlations.
With the help of data from 61 industry projects using waterfall and agile processes, we statistically demonstrate that IoI and UGAM correlate significantly and the relationship between IoI and UGAM is linear. This implies that whenever projects integrate the HCI activities as per our extended models, they achieve their usability goals better. Correlation analyses reveal differences in usability goal achievement between agile and waterfall process models and between software product companies and software services companies.
Regression analysis of HCI activity scores on UGAM reveals that the individual HCI activities have a varying influence on UGAM. In particular, four HCI activities, viz. user studies, UI prototyping, usability evaluation after detailed UI design, and development support, have the greatest influence on usability goals achievement in projects using the waterfall model.
Keywords: Human-computer interaction, software engineering, processes, metrics, usability goals, goal achievement
Papers from this work: