Software Engineering (SE) aims to have a systematic approach to the 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 the integration of HCI activities into SE process models.
We review current literature in design, HCI, and process frameworks. In this framework, we identify HCI activities, methods, deliverables, and skills that are essential and must be integrated into 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 the Usability Goals Achievement Metric (UGAM), a product metric that measures how well the usability goals of the product are achieved, and the 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 developed the Usability Goal Setting Tool (UGT). UGT helps a design team 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 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.