Logo AHome
Logo BIndex
Logo CACM Copy

DoctoralTable of Contents


Usability and The Software Production Life Cycle

Suziah Sulaiman

Centre for People and Systems Interaction
School of Computing, Information Systems and Mathematics
South Bank University
103 Borough Road
London SE1 0AA
Tel: +44(0)171-815 7421
Email: sulaims@sbu.ac.uk

ABSTRACT

For many types of systems it is as important that the usability is as good as the functionality. There have been various attempts during the last fifteen years or more to encourage developers to focus on usability during the life cycle. These have had only limited success in that they have affected certain companies without fundamentally changing the overall software development process. The aim of this study is to improve software quality by finding ways to integrate usability with software quality measurements throughout the life cycle and especially at early stages of development.

Keywords

Software Quality, Usability, Software Production Life Cycle, Software Testing, Usability Engineering, Capability Maturity Model (CMM)

INTRODUCTION

The phrase 'two sides of the same coin' is helpful for describing the relationship between the usability and the functionality of a system. Both are essential for the development of quality software. Despite their importance, many system developers still fail to pay adequate attention to usability, focusing primarily on functionality. There are still too many cases where usability is not given adequate consideration. Adoption of usability in the later stages of the life cycle will not produce sufficient improvement of overall quality.

The aim of my research is to encourage more integration of usability and software testing. In order to achieve this, there are a number of factors which must be taken into account and these include: peoples' attitudes, and the resources and skills available to development teams.

REVIEW OF CURRENT WORK

The importance of usability evaluation has been recognised since the 1970's [2, 6]. Usability in Software Engineering as mentioned in Boehm's model [1] has not been clearly defined.

The ongoing research about measuring usability [3] has not only helped to define issues related to usability but has also raised awareness of the need to integrate usability in the development life cycle. Usability experts agree that usability evaluation should be part of the development process rather than a post-mortem or forensic activity. If the usability process is integrated early in the development life cycle, it becomes possible to test for usability during traditional software testing.

Various usability evaluation methods have been tried ranging from formal to informal techniques. Usability engineering [7] has shown some successes in addressing usability in the development cycle but it requires too much expertise and takes too much time. It is expensive to adopt this technique. Usability inspection methods [3], are less formal techniques which require experts' opinions. These are fast and cheap but subject to bias and not representative of the real world. Academics have also investigated other techniques such as Ethnography and Cooperative and Participative Evaluation [4] but these have not been widely used in the real world.

Further research is needed to achieve a full adoption of usability in the Software Development industry. Some possible ways to proceed include trying to integrate more with what Software Engineering is already doing. For example in Beta testing, which comes very late in the cycle, a number of usability factors are identified which can be used as evidence to persuade software developers that they need to pay more attention to usability earlier on in design. Usability could also be taken into account with other software practices such as Capability Maturity Model (CMM).

RESEARCH PLAN

As a starting point for this research, three major questions have been raised. These are discussed below along with suggestions for investigating them.

Question 1:

How can developers be encouraged to take account of usability early in the development life cycle?

Usability Engineering discipline has partly tried to integrate usability in the early stages of System Development. This exercise has not been fully practised because of the drawbacks of the evaluation methods. Possible ways which are less labour intensive are needed.

Usability criteria need to be included in the system specification to ensure that they are taken up during testing. This increases the awareness of the need to integrate usability issues in the design process. Selection of the design methods that support development of user interfaces will also accelerate the process. The team members will benefit from this procedure since they are involved in a usability oriented environment.

Method

To tackle this question, I intend to initially collect developers' opinions using structured interviews and questionnaires. This step is to obtain an overall view of developers' attitudes towards taking up System testing and Usability testing. This will also be used to find out what usability issues developers are concerned with and how they currently handle them. From the results obtained, I will find out possible ways to integrate usability at the system specification stage, taking into considerations the constraints faced.

Question 2:

What common issues, if any, link usability measures with measures for other software quality characteristics?

Usability should be a subset of software quality characteristics. This means, usability is placed at the same level with other characteristics such as reliability, correctness and maintainability [1]. Usability is an important characteristic in determining the quality of the product. As such, a common approach in measuring usability and other quality measures should be investigated. Methods of measurements in Software Engineering could be used in evaluating usability. Not only could it help communication among people in both Human Computer Interaction and Software Engineering disciplines, but also encourage reuse of ideas and designs [5].

Method

The planned approach for this question will be to interview developers and analyse the software developed to see what sort of measurements are currently being used. Aspects such as goal specifying techniques, learning paradigms, data collection and manipulation will be looked into and used to obtain a common approach [5]. The aim of these methods is to achieve a successful integration of usability and Software Engineering.

Question 3:

How can findings from Beta testing be used to encourage developers to take more account of usability early in software development?

Beta testing is one of the activities done in the development cycle. As the intention is not to introduce additional activity, it is possible to use this test as a mean to develop awareness of the importance of usability. Feedback received on usability during Beta testing may be too late to be corrected. The number of usability problems found in Beta testing could indicate whether the correct approaches have been taken to handle the user interface design.

Method

For this question, I intend to analyse some Beta test results and find out if usability problems could be found during this test. If there are any, early integration of usability should be encouraged in the development and the result will be counter-checked during the Beta testing.

STATUS

Currently, I am at the initial stage of the research where the generation of research questions is being done. I have finished the literature review on Usability Engineering methods and I am about to compare it with other informal methods such as heuristic evaluation. My next step will be to meet developers and try to understand what is happening in the real world and what sort of usability issues are of concern and how far they have gone in addressing them.

ACKNOWLEDGEMENTS

The author would like to acknowledge the support and insight of her doctoral committee in preparation of this work: Jenny Preece, Fintan Culwin and Judith Ramsay.

REFERENCES

1. Boehm, B.W., Brown, J.R., Kaspar, H., Lipow, M., Macleod, G. and Merrit, M., 1978, Characteristics of Software Quality, TRW Series of Software Technology, Amsterdam: North-Holland.

2. Miller, D.P., 1981, The depth/ breadth tradeoff in hierarchical computer menus. In Proc. of the Human Factors Soc. 25th Annual Meeting.

3. Nielsen, J., Mack, R.L., 1994, Usability Inspection Methods, John Wiley & Sons,Inc.

4. Preece, J., Rogers, Y., Sharp, H., Benyon, D., Holland, S., Carey,T., 1994, Human-Computer Interaction, Addison Wesley.

5. Preece, J. and Rombach, H.D., A taxonomy for combining software engineering and human-computer interaction measurement approaches: towards a common framework. Int. J. Human-Computer Studies, 1994, 41, p. 553-583

6. Shackel, B. 1990, Human factors and usability. In Human-Computer-Interaction: Selected Readings (Preece J. and Keller L., eds) Hemel Hempstead: Prentice-Hall

7. Whiteside, J., Bennett, J. and Holtblatt, K., 1988, Usability engineering: Our experience and evolution. In Handbook of Human-Computer Interaction (Helander M., ed). Amsterdam:North-Holland.