WED JUL 11 2018


Software that is complex and sophisticated would usually require the expertise of a group of systems developers.  To ensure the production of high quality software, the process of software development should be systematically done using specific methods. Experts in the field of software engineering conduct research on these methods and other elements related to the development of high quality software.  According to a number of researches conducted, it was discovered that most software were produced had usability problems and were difficult to be maintained.  This finding encouraged HCI researchers to continue investigating and identifying the strengths and weaknesses of the existing system development methods that could be have been the source of these problems.  In this topic, we will look at a number of methods or traditional system development approaches that have been used in software development, and compare them with one another.



The interface is a vital element that relates users to the system in use.  Thus, the problems that are faced by users when utilising the system may be related to the system's interface.  As previously mentioned, a developer's conceptual model should be in the same inclination as the users' mental model.  Apart from this, you have also been exposed to a number of approaches that can be utilised to ensure both these models are compatible with one another.  Nevertheless, a number of differences may cause difficulties in using the system.  Among these differences are:

  • The elements that seem important to users may differ from what is important to developers.  Developers always emphasise on system characteristics and are prone to develop a system that is elegant, sophisticated and complex, whereas users give more emphasis to the features provided by the system that help them complete their task in a shorter period of time.

  • Developers tend to make inaccurate assumptions about users.  For example, developers often assume that users are able to understand all the information displayed on the screen, but this may not always be the case.

  • Many developers do not use the developed system, as an end-product, and may not give proper attention to human social aspects such as psychology.  Thus, they are unable to understand or predict the possible problems that may be faced by users.

  • Users often act unpredictably, possess habits or characteristics that cannot be changed, are suspicious of the system and sometimes have the notion that they may disrupt or cause system malfunctions, whereas developers assume that users have the same perspective as themselves.


The most important factor that can assure the success of a particular software or product is user satisfaction.  In other words, we should always give importance to the views of the users and be sensitive towards their problems.  Thus, the field of HCI always emphasises the importance of cooperation between users and developers during the development stage.  This may reduce the incompatibility problems mentioned.  This concept of cooperation between users and developers has become one of the main principles in developing a user-centred design.  Prior to discussing the user-centred design, it is important that we have an understanding of the system development life cycle, which comprises the activities and phases involved throughout the process of developing software or a system.


Software engineering explores all systematic methods that can be utilised to develop software.  There are many types of SDLC models that have been proposed in software engineering.  Here, we will look at three traditional models:

  • Waterfall model

  • Spiral model

  • Rapid Application Development (RAD) model.

The Waterfall Model

The Waterfall model was the earliest life cycle model to be introduced.  There areseveral phases of system development in this life cycle.  These development phases are implemented in a linear manner.  For example, the design process can only begin upon the completion of the requirement specification phase.  This model can be illustrated as in Figure 9.1.  All processes in each phase are shown in Table 9.1

Concept                 SDLC                 Basic Principles                 User-Centred Life Cycle Model                      Participatory Design

Some of the system weaknesses that have been identified are:

  • System requirements that often change due to rapid development in the business and information technology environments after the completion of system development and testing.  Additionally, users always fail to highlight their exact requirements at the beginning stages.  Thus, a good life cycle should be able to support this repetitive process, through consistently checking the system requirements throughout development, and customise when necessary.

  • The shortcomings during the process of maintenance.  Research has found that the longest life span of software is determined during the maintenance phase.  Usually, the group of developers would always be dismissed once the product has been developed.  This causes difficulties for the process of maintenance.

The Spiral Model

The Spiral model was first introduced in 1988.  There are two main characteristics that distinguish this model from the Waterfall model, which are risk analysis and prototype development.  Kindly refer to the following illustration:

This model allows for ideas and improvements to be continuously monitored and evaluated during the development process. Each circle represents a repetition, and each repetition involves a different activity, except risk analysis and prototype development.

The RAD Approach

In the 1990s, a new approach was introduced, called Rapid Applications Development or RAD.  By considering user opinions, RAD attempts to reduce the effects of the changes in user needs during the development of a system.

The two main characteristics of the RAD model are:

A shorter life span of SDLC.  Usually, the time span for system development is limited to six months.  At the end of this period, a portion of the system should have been completed.  To ensure this, bigger projects are normally divided into smaller subprojects that can be developed in different stages.

Conducting Joint Application Development (JAD) workshops.  In these workshops, users and developers jointly discuss system requirement issues and make decisions on requirement specifications.  The representatives from each stakeholder group will be involved in these workshops to ensure that the views of all parties who are directly or indirectly involved in the process of development are given due consideration.


The three main principles of the user-centred design or UCD are:

  • Users are given attention from the beginning of the development;

  • User response to the system prototype is measured empirically; and

  • Iterative repetition occurs in the SDLC.

9.3.1     Focus on Users

In the UCD approach, it is important for developers to know prospective users, as well as understand their needs.  This is achieved by studying their cognitive characteristics and attitudes.  This is by observing the manner in how users perform their tasks, studying these natural tasks and involving users in the development process.
This principle can be divided into a number of specialised principles:

  • Consider user tasks and goals as the driving force behind the development process.  In the UCD approach, the question that needs to be answered is not "How can we apply this technology", but "What is the best technology that can be utilised to support the users' tasks and goals?".

  • Study user behaviour, context of use and the system that is being designed to support these elements.  The knowledge on how users implement these tasks is also important.  By understanding these aspects, we can obtain information about their priorities, preferences and intentions.

  • Study user characteristics when designing the system.  Usually, we tend to blame ourselves for the arising technological mishaps.  But as humans, we are prone to making mistakes because of the physical and cognitive limitations.  The product or system that is being designed should be able to minimise the mistakes effects of human limitations and weaknesses.

  • Consider user views, from the first phase until the final phase of system development.  There are many phases of user involvement in system development.  Under any course, developers should always have high regards for user views and opinions.

  • Base all decisions made on the design on context of the user, nature of work, and environment.  This does not necessarily mean that users are actively involved in the process of making decisions.  As long as developers are aware of the importance of considering user interests and welfare, this principle can always be implemented.

9.3.2     Prototype Development
Prototype development is the phase of developing the interactive version of the system being created.  The prototype is passed to users for testing and evaluation.  The response from users should be measured empirically and the results interpreted and analysed for further system improvements.  The development of prototypes can be executed in stages.  During the initial development stages, the users' abilities and reactions are measured using scenarios and manuals.  In the next stage, users interact with prototypes and simulations that are more complete compared to previous scenarios and manuals.  This process continues until the developer is satisfied with the system's design.

9.3.3     Repetition
When problems are encountered during the user-testing phase, the prototype would be improvised and further tests and observations are conducted to confirm the benefits of this improvisation.  In other words, the process of designing and developing the system is an iterative process, where the cycle of "design-test-measure-redesign" phase is repeated if necessary.


There are a number of SDLC models produced based on the user-centred design approach.  The following subtopics will discuss these models in detail.

9.4.1     The Simple Model

The relationship between the activities of the SDLC models is illustrated in Figure 9.4:

The Simple model enforces the concept of repetition and focuses on the users.  Most projects begin with the task of identifying user requirements.  Subsequently, several design alternatives are generated to ensure that the identified requirements are fulfilled.  The interactive version is then designed and evaluated.  Based on the response from the evaluation, the developers may need to re-identify the system requirements or move forward to the design phase.  A number of alternative designs may be expanded after this process.

9.4.2     Star Model
The Star model was created as a result of the empirical studies on how designers handle HCI issues and problems.  This model was proposed by Hartson and Hix in 1989 as an alternative to the Waterfall model.  From the empirical study that was conducted, researchers identified two modes of developer activities: analytic and synthetic.  The characteristics of these modes are summarised in Table 9.2. However, they discovered that it was a norm for system developers to frequently switch between different modes.

Unlike the Waterfall model, the Star model does not emphasise on the sequence in activities.  All the activities are closely related to one another and you can move from one activity to another provided that an evaluation is conducted before the commencement of the intended activity.  Refer to the following Figure 9.5.

The process of evaluation is an important activity in this model.  After the implementation of each activity, the results should be evaluated.  Thus, a project may begin with the process of information gathering and evaluation of the existing system before advancing to the next step.

9.4.3     Usability-Engineering Model
This model was proposed by Deborah Mayhew in 1999, and provides the space and explanation on how the evaluation of usability can be implemented.  This activity is incorporated into the traditional SDLC, making it very useful for inexperienced developers in enduring the usability test.  This model also combines the rapid prototyping approach and the object oriented software engineering method.  The usability-engineering model involves three main activities:

  • requirement analysis

  • design development/testing

  • installation


In observing Figure 9.6, you will notice that the life cycle of this model resembles the Simple model's design, but is designed in detail.  It involves the phases of identifying requirements, design, evaluation and prototype development, and uses style guides as a mechanism to infuse and ensure that the usability goals are achieved in this project.  According to Mayhew, a number of steps in this model can be disregarded in the case of it getting too complex to be implemented.

The Participatory design greatly resembles the UCD model.  The participatory design is a philosophy that encompasses the entire SDLC cycle.  This design is a workplace design that involves users both as research material and as members of the system design or developers' team.  In this case, the users are actively working in the process of designing the system, and are no longer the designers monitoring the outsiders.  The rationale of this approach is that the system users are usually the experts in the context of the job, and any design is most effective in the context of work if these experts are allowed to contribute towards the designing of the prospective system.
The participatory design has three specific characteristics, which are:

  • This design intends to improvise tasks and work environments by introducing a proposed design.  This causes the design to be work-oriented compared to being system oriented.

  • The collaboration or active cooperation provided by users enables them to continuously contribute towards the design throughout the development of the system.

  • The iterative approach enables the design to be evaluated and improvised at each level.

The participatory design uses a number of techniques or methods to help deliver information between users and designers.  The summaries of the techniques used are illustrated in Table 9.3.