Framework for improved capture of usability requirements through usage-centred design

This research makes an in-depth examination and comparison of plan-driven and agile methods in software design to justify the need for a more balanced approach that combines the controlling and disciplining capabilities of the former with the flexibility of the latter. It also examines the concept of software usability and the process of gathering requirements in software engineering. It is noted that pure agile methodologies tend to ignore usability for end users, hence the attention to User-Centred Design (UrCD). Software development methods based on UrCD attempt to alleviate this neglect, but they too are not sufficiently grounded in traditional plan-driven approaches that can adequately target usability concerns, especially during the planning phase of development. Capturing usability requirements could be key to ensuring a high degree of software usability for end users. It is suggested that Usage-Centred Design (UgCD), with its focus on actual software usage rather than users per se, can satisfy this need for greater software usability through increasing the likelihood of achieving a more complete and precise capture of usability requirements. This methodology introduced by Constantine combines task modelling as its plan-driven phase for identifying users, roles and essential tasks with an agile iterative component for facilitating continuous consultation with users to also enable refinements to be made to the requirements. The focus in this study is on the requirements analysis phase of UgCD to demonstrate how it can be applied for better capturing usability requirements in terms of completeness and preciseness. The usability aspects analysed are learnability, rememberability, efficiency, reliability, and user satisfaction. Research was carried out involving a survey, interviews and a demonstration of UgCD at a higher education institution in Saudi Arabia during a revision of an e-learning software, and a further follow on survey and interview. The survey investigated existing usability requirements gathering practices, and the current methods used for the sake of ensuring and thereafter testing for usability. The interviews provided insight into these developer practices to especially ascertain how well they are able to capture usability requirements for particular aspects of usability and their awareness of these aspects. A total of 212 software developers working in higher education institutions throughout the Saudi kingdom participated in the survey, 20 of them participated further in the interviews from three different cities, and the UgCD demonstration was held at one higher education institution. The survey analysis included frequency, factor and correlational analyses, and the interviewee responses were analysed using thematic analysis. The list of usability requirements captured during the UgCD demonstration was compared to the original capture at the time of construction and to the pre-UgCD period when usability questionnaires were being used. The UgCD implementation enabled a 7.5-fold increase in completeness and 43% improvement in preciseness compared with the original capture, and a 2.5 gain in completeness and 24% improvement in preciseness compared to the requirements captured using usability questionnaires. The pre-UgCD survey results and interview findings are also presented and discussed that show a need to promote not only UgCD, but also to raise awareness of usability itself and make developers appreciate its importance. This led to developing a framework of principles for implementing UgCD, which is presented to guide developers in capturing usability requirements for enhanced software usability. However, it is noted that in line with the need to understand and promote usability, developers also need to be encouraged to consult frequently with their potential and existing users and become accustomed to holding frequent meetings with them. These changes would be necessary in order to be able to implement UgCD fully. Regardless, the potential of UgCD is established at least with respect to its capability to make developers and users focus on usability and in capturing a more complete and precise set of usability requirements that pertain to a wide range of usability aspects. Also, the post-UgCD survey with the meeting participants and interview with the leading developer give further positive indications for the success of the UgCD trial, and its potential for being used to enhance software usability.