Evaluating software usability from different perspective: a framework for encouraging usability evaluations by focusing on software developing projects
Usability is now a well-established concept in software engineering resulting in a major shift in the design, development, and deployment of software applications. Moreover, the appreciation of usability, as an important aspect in managing the potentials risks caused by inappropriate outcomes of the interaction between systems and their users, is rapidly increasing. It is, nevertheless, critical for the developed software to be able to assist users in carrying out their intended tasks without unnecessary effort or frustration on the part of users. This is what usability evaluation strives to achieve. Better decisions relating to usability at any stage of the Software Development Life Cycle (SDLC) can be captured by taking user experience into consideration. Many methods have been developed for capturing the user perspective of software, such as questionnaires, checklists, and laboratory tests. However, due to the different, rapid and competitive development of systems, the huge variety of usability definitions and evaluation types and multiple expectations from different stakeholders, evaluating software usability has become a very challenging task. Additionally, the new expansion of the techniques applicable to the evaluation of usability in recent years caused an issue amongst software development teams with choosing the right ones under different software development project’s circumstances. To many developers within software development teams, incorporating user-centred techniques for enhancing software usability remains relatively unknown, unclear, or is otherwise inaccessible, difficult or underused, especially by developers in small to medium-sized software development teams.
The main hypothesis proposed by this thesis is that there exists a lack of proper managerial tools to assist developers and/or project managers within software development teams in the decision-making processes involved in the selection of appropriate usability testing tools. The focus is on particularly small- to medium-sized software development projects, where usability expertise may be more limited resulting in inappropriate implementation of usability evolution methods within software development projects. Consequently, negatively influencing the appropriate application of software usability evaluation methods and generating higher ratios of usability risks. A framework will be defined in this thesis as a solution to this problem in which a different approach to usability evaluation is proposed. It introduces a bottom-up approach to usability focusing on software projects by identifying their constraints to suggest appropriate usability evaluation techniques. The framework developed works as an enabler for bringing usability closer to software engineering by enhancing the interaction between these two disciplines particularly in small- to medium-sized software development projects.
A literature review was carried out to discuss and investigate the related topics to usability definitions, usability focused software development lifecycles, usability evaluation methods (UEMs) and current techniques in selecting UEMs. Additionally, initial data to investigate the current gap between usability application in real scenarios and theories was carried out in the form of interviewing small development team members who were actively developing an application and carrying out usability evaluations. The analysis of the data contributed to designing the framework this study suggested as an approach to solving the problem. The framework then is tested and evaluated after being developed into an expert system that uses logical reasoning and fuzzy logics to produce results. However, the initial evaluation of the system suggested further implementation of risk assessment model leading to the second phase of the system development. The risk assessment model was afterwards evaluated separately. Both evaluations were conducted through incorporating several qualitative methods and analyzed thematically to ensure coherence and allow relational interpretations across the data sets gathered through different methods by recognizing common themes. Finally the thesis concludes with discussing the suggestions for future work for the tool developed and the theories of usability and its evaluations methods.