0% found this document useful (0 votes)
17 views

Interplay Between Human-Computer Interaction and Software Engineering

Uploaded by

Rahul suwasiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Interplay Between Human-Computer Interaction and Software Engineering

Uploaded by

Rahul suwasiya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Interplay between Human-Computer Interaction and

Software Engineering
Abiodun Ogunyemi David Lamas
Institute of Informatics Institute of Informatics
Tallinn University Tallinn University
Narva MNT 25, Tallinn, 10120, Estonia Narva MNT 25, Tallinn, 10120, Estonia
[email protected] [email protected]

Abstract— The challenge to transfer HCI suggested values, and Fig. 1 shows that the transition of suggested human-
practices to Software Engineering (SE) processes is not only computer interaction practices to software engineering
persisting, but also systemic. Notable contributions from both processes is not smooth as the flow link appears with broken
fields have attempted to isolate and close the gaps between the connecting lines. The broken flow links symbolize gaps and
HCI and SE, with the goal of making software products most
the reasons why these gaps exist, serve as one of the purposes
usable. Using a scoping study approach, this article reviews
notable contributions on the discourse and identifies the gaps, of this article. The first purpose of this article is particularly
and shows areas that require more research attentions. important to the new comers into the HCI and software
engineering fields. The other purpose is to show areas that
Keywords- Human-computer interaction Practice; Software require more research efforts in terms of integrating HCI and
Engineering Process; Usability; Integration; Modeling software engineering. The rest of the article is organized as
Techniques; Software Development; HCI Design follows: the next Section presents a review of the literature,
followed by the Section on methodology. Discussion of the
I. INTRODUCTION results is thereafter presented, the article is concluded and the
future work is shown.
The human-computer interaction (HCI) as an approved
field has been investigated successfully by academics for
II. LITERATURE REVIEW
decades and various findings have been discussed in notable
conferences such as CHI, NordiCHI, OzCHI, BCS-HCI, The gaps between the human-computer interaction and
INTERACT, and the results published in their conference software engineering disciplines have remained for over two
proceedings and in top journals such as ACM TOCHI and the decades and began to gain research attentions from the late
International Journal of Human Computer Interaction. 1990s. The major concern is that half of the systems in use
Although many HCI researches have been undertaken and today, are based on user interface and the role of the human-
results delivered to the software industry as evident in modern computer interaction field cannot be overemphasized [25]. In
technology innovations such as swiping, speech recognition, 2003, a software engineering workshop was held with the aim
eye authentication, touch screen, pattern recognition, zooming, of understanding the gaps of communication between the HCI
embodied interaction, wearable devices etc, there seems to be and SE fields, and with a basic goal of proposing ways to
a clear slow uptake of HCI values, and practices in the bridge those gaps [25]. The workshop proceedings were
software development industry as most software products in published by the “Institut d’Administration et de Gestion
use still fall short of considerations of these HCI values, and (IAG), Université catholique de Louvain (UCL), Belgium”
practices. There seems to some clear persisting and systemic and available in the INTERACT 2003 Proceedings. Few other
challenges in terms of transferring human-computer workshops such as the ICSE 2004 and conferences such as the
interaction suggested practices to software engineering (SE) INTERACT 2001, ICSE 2003 [18], and EIS 2007 Joint
processes. The purpose of this article is to provide taxonomy Working Conferences [44] have discussed the problem of gaps
of the challenges of transferring HCI suggested practices to between the HCI and SE disciplines. Despite these many
software engineering processes. These challenges inhibit the contributions to bridge the gaps between the HCI and software
development of usable software products. engineering, many software companies continue to develop
unusable software products [3]. This section discusses the
gaps between the human-computer interaction and software
HCI Practices SE Processes
Values and Software engineering disciplines as obtained from the literature.
Practices Transfer Development
Lifecycle

Figure 1. A visual overview of the transfer process

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
A. Brief Historical Overview of HCI and SE relationship between HCI values, and practices and SE
processes [10], and their integration remains a long standing
The human-computer interaction field is “concerned with the matter [43].
design, evaluation and implementation of interactive
computing systems for human use and with the study of major B. Transfer Challenges
phenomena surrounding them” [26]. From another
perspective, the human-computer interaction discipline is a The broad goal of the human-computer interaction
blend of psychology, social sciences, computer science, and community is to ensure that safe and usable software products
information technology disciplines [16]. Overall, the HCI are developed by the software development industry [12, 16,
discipline uses the knowledge derived from computer science, 24, 30]. On the other hand, the software engineering field
psychology, and related disciplines to design interactive strives to develop functional software that can help the users
computing systems for human use. The field of the human- to accomplish their tasks effectively [12, 23]. Bearing these
computer interaction is thus multidisciplinary in its approach goals in mind, it is safe to assert that the two fields strive to
[24, 38]. The human-computer interaction community began achieve a common goal, which is to ensure user satisfaction
to gain prominence from the 1980s [38]; over a decade that the with software products. However, their approaches differ
software engineering field had existed [20]. significantly [38]. There are usually two major components in
software interaction process: the user, and the software. The
The software engineering field originated from the user is a dynamic component and the “software product is a
computer science discipline and is defined as a field which is cultural matrix of applications, users, laws, and machine
concerned with “the systematic design and development of vehicles. These all change continually, and their changes
software products and the management of the software inexorably force change upon the software product” [9]. The
process” [40]. The software engineering discipline is communication gaps which have featured prominently in the
considered as a well-established field [46], whose activities literature and have inhibited the transfer of HCI values, and
began with the NATO conference in 1968. The focus of the practices to software engineering processes are identified and
software engineering field still remains to support the discussed in the following subsections. Fig. 2 shows a
Department of Defense (DoD) type system which is overly concept map of the gaps which were identified in the
large [20]. There is however no clear definition of the literature.

Figure 2. Concept mapping of HCI-SE Gaps

disciplines in its approach to designing software for human


1) Disciplinary Backgrounds
use [38, 41]. On the other hand, the software engineering
discipline is an off-shoot of computer science discipline, and
Both the human-computer interaction and software
uses little or no knowledge of human factors in software
engineering disciplines speak different languages and have
design [41, 47]. Thus the perspective to, and understanding
different orientations to design. HCI is more informal in its of human design, differ by each field. Usually the System
techniques and also user-oriented, while SE is formal, Analyst collects requirements from the customer, and the
functional and system-oriented [49]. The human-computer
Interaction Designer designs the system as explained by the
interaction field is multidisciplinary, and uses a mix of
System Analyst. The output is entirely different based on
psychology, ergonomics, computer science and other related
the mindset of the Software Engineer. In all, the user

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
expectation is not achieved due to these misinterpretations curricula of the two disciplines. For example, [20] observed
by the experts, which also are motivated by their differing that since the goal of software engineering is channeled to
disciplinary backgrounds, and approaches to design [38]. the “development of large-scale systems, there is an
education gap in many computer science programs that
2) Educational Curriculum don’t include a design and implementation course for small
to medium size systems that emphasize user interaction”. Of
The gap between the human-computer interaction and
more importance is the fact that these computer science
software engineering disciplines is also traceable to the non
graduates would be involved with small-scale interactive
inclusion of courses of one field in the other’s educational
software developments later on [20, 36]. The recent
curriculum at the undergraduate level, thereby making one undergraduate curricula of both disciplines have however
field foreign in the other’s domain. A challenge as noted by effected the necessary adjustments [2].
[53] is that undergraduate students are overly obsessed with
coding and compilation of programs when being taught
software engineering. This set of students often assumes that 3) Terminologies
a system works, once its program compiled successfully
[38, 41]. The user interface is just perceived as menu, text- There are clear distinctions between suggested practices
based or graphical. The commonalities which have been and how software products are actually developed by
identified between the HCI and SE disciplines are presented software organisations, and one of the challenges has to do
in Table 1. Based on shared tools, Table 1 suggests that with the differing understanding of HCI and SE’s concepts
usability could form the basis of requirement and simple and terminologies [22, 30]. These distinctions in
tools such as scenarios and use cases could be used for terminologies and their understandings affect the overall
paper prototyping (a low fidelity prototyping) in usability approach to software development [30]. In order to
testing, before the developers build functional prototypes overcome the problem between the HCI and SE in terms of
[46, 53]. Thus, undergraduate computer science students their terminology differences, it has been suggested that
could be taught the fundamentals of HCI, and HCI undergraduate students of computer science and HCI should
undergraduates could also learn fundamental software be motivated to explore the terminologies of both fields and
development processes [46, 53]. determine their point of convergence and commonalities
[22, 39].
TABLE 1. HCI-SE COMMONALITIES (SOURCE: [53])
4) HCI Techniques

SE in HCI HCI in SE Complexity of some of the techniques used in HCI such


as the Hix and Hartson's Star Lifecycle [27] is another
Requirement for Usability included in challenge in transferring HCI values, and practices to
usability requirements software practitioners [49]. It is observed that “HCI
techniques are not described in the frame of a software
Use cases-task analysis Use cases from the process as it is understood in SE (Software Engineering)”
users [30] thereby limiting their ability to manage software
development lifecycle [3, 43]. For example, Star Lifecycle
Detailed scenarios for User-focused detailed model is highly iterative and it is challenging to determine
system tasks scenarios when a particular iteration has completed [49]. Another
challenge with HCI techniques is that of the difficulty often
Role of prototypes in Prototypes of user experienced when selecting them for a task domain. To
system development interface select the appropriate techniques for a specified project is
usually problematic.
Usability testing Usability testing
5) Human Factors
Software process User-centred
models and work development Human beings have certain differences in terms of their
products cognitive and affective domains. These human dimensions
play significant roles in user-system interactions, and lack
the ability to be predicted in advance [30]. These
In order to produce software engineering graduates who complexities are difficult to handle in a single software
appreciate and could develop usable software, and product. Therefore, software development complexity,
interaction designers who have the mindset of software conformity, changeability, and invisibility are further
engineering approaches, [36] and [20] proposed the complicated [9].
inclusion of HCI and SE-based projects in undergraduate

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
6) Organisational Culture software product or system to accomplish their tasks in their
working environment, while SE focuses on the capabilities
A lack of consideration for organisational culture and of software to achieve its underlying functions, purpose, and
standard practice is another problem of transferring HCI requirements [12]. Moreover, these distinctions lead to the
values, and practices to SE processes. It is a herculean task assignment of individual roles and responsibilities in
to change the well-established organisational development software development lifecycle, which do not always go
processes into human-centred processes in a single software well with software development practice [12, 38].
development project [37, 49]. The Mayhew's usability
engineering lifecycle places much emphasis on redesigning 9) Standards
the overall development process around usability issues.
However, the achievement of this goal “often poses a The challenge of transferring HCI values, and practices
problem to the organizational culture of software to SE processes has also been attributed to the lack of
engineering organizations” [49]. The well-established establishing standards of practice between the two fields.
development processes of an organization cannot easily be This makes adherence to standard practice difficult for new
turned into human-centered processes during a single members to each community. Both the HCI and SE speak
project. This is a major drawback with the usability different languages due to lack of uniform concepts and
engineering lifecycle. The Constantine and Lockwood's [19] terminologies [43]. It is perceived that persistent breakup of
usage-centred designs have similar drawbacks on disciplines may be due to “a mesh of political, social and
organisational culture. [49]. In as much as fitting a wide economic issues” [34]. This may give insights into “why
range of processes into single “perfect” software solution although some software developers have some theoretical
could culminate in a perceived harmonious and working knowledge of user interface design guidelines or usability
integration of HCI usability techniques and SE processes, it standards, they seldom use them in practice, simply because
is overly difficult to achieve this goal due to some SE they do not know which, when and how to apply them in
organisational culture. Some software companies are not their context” [34]. However, as vital tool for collaborative
willingly to trade-off their existing software process to task, standards should be more understandable and
embrace unification with HCI methods/techniques. For consistent [34, 49].
example, it is a daunting task to change the waterfall
lifecycle to a user-centred approach [30]. The user-centred 10) Context of Application
design (UCD) and participatory design (PD) techniques
similarly overlook the dimension of organizational view of One of the major challenges the SE has with HCI is that
HCI and SE integration in the software development of the context of application of HCI techniques, such as
lifecycle [37]. usability patterns. In order to mitigate this challenge,
bridging patterns which extend patterns in interactive design
7) HCI Results Repository and useful for architectural analysis, were proposed.
Bridging patterns are meant “to provide detailed
The lack of common repository for HCI results and implementation issues and solutions, and to provide an
suggested practices is another aspect of difficulty in instrument to facilitate communication across the HCI and
transferring HCI practices to SE processes. It is surprising to SE boundaries” [22]. These bridging patterns such as Multi-
note from previous surveys of software developers that most level Undo, Multi-channel Access, Wizard and Single Sign-
software engineers are either unaware of HCI practices or on (SSO) however, have restricted areas of application. For
do not know where to locate these results [32]. Some instance the patterns are domain-specific and could not be
software developers in other instances have had to read lots applied in a wide range of application domains. Pattern and
of HCI books in order to digest recommended techniques use-cases have been identified as useful artifacts for HCI-SE
such as usability evaluation when undertaking usability user design [49]. The utility of guidelines to professionals
integration tasks [30]. The HCI books are often disparate remains questionable as a mean of transferring HCI values,
between authors and methods and this makes the selection and practices to SE processes, although guidelines are an
of suitable techniques to organisational software projects important tool to teach user interface design [49]. Other
needs, very difficult [30]. contextual issues with HCI methods include application
domains, organisational factors and project constraints [52].
8) Focus
11) Perception
One of the gaps between the HCI and SE is that of what
each field focuses on, based on their problem domains. The The human-computer interaction discipline suffers a
human-computer interaction field is concerned with system perception challenge from its software engineering
context, with focus on the users, while software engineering contemporary. Perception is a major reason why HCI is not
is system-centred with focus on functionality [8, 46]. well-integrated with software development lifecycle tools
Furthermore, HCI focuses on tasks and how users use because HCI is considered a fragment of the overall system

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
design, even though users view the interface as the actual engineers think for end-users and are mainly concerned with
system [46]. Some software engineering textbooks share getting algorithms successfully complied [41]. Software
this perception, and view HCI as ‘add on’ in interface engineers hardly relate with interaction designers [41]. In
design [46]. Similarly, HCI is not considered a central topic most teams, software engineers are team lead. Another
in software engineering and is defined as a ‘related challenge with software engineers is that they often possess
discipline’ and ‘software ergonomics’ in the IEEE Software little or no usability techniques knowledge [38, 41]. It has
Engineering Body of Knowledge (SWEBOK) guidelines therefore been suggested that software development teams
[49]. should comprise HCI experts, end users, graphical
designers, and software engineers and each member should
12) Design Process, Usability, and User Experience be aware of others’ skills, and when to request for such
skills [46]. The student software development project teams
The non-involvement of the actual users by software should also imitate this approach as much as possible [46].
developers, in software products design process, is also a Considerations should be made of functionality, usability,
demonstration of the transfer problems between the HCI and and visual aesthetics when developing interactive software
SE. In most cases, software engineers consider user solutions, and this is achievable only through a team
involvement in the design process as unimportant [6, 13, approach, where all the key experts are involved [46].
46]. In exceptional cases, there is reluctance on the part of
the client organisations to allow their users participate in the 14) HCI Usability Techniques and Usability
design process [46]. These client organisations usually Evaluations
perceive user participation in the design process as too time
consuming. The non-involvement of the actual users in the Usability techniques such as the Rosson and Carroll’s
software development lifecycle often impacts software [48] scenario-based design have been found quite useful
product quality and arouse user dissatisfaction [13, 37]. especially for elucidating usability requirements and for
Some studies also show that most software development motivating iterative design process [49]. Scenarios are used
companies do not take usability issues such as usability for task analysis and they are used as instances of use-cases
testing and user experience (UX) as important [3, 14, 33]. in software engineering [49]. Scenarios are written in
For example, in a study conducted by [3], it was discovered natural languages and could be understood by the users and
that most software companies ignore usability and UX the designers. However, a major weakness of scenarios is
because usability and UX requirements are not always that they lack the ability to communicate effectively
mentioned in the Call for Tenders for ICT products between the development team and the stakeholders, as an
generally. Although there were efforts to convince public integration artifact [49]. This is motivated by the diversities
organisations on the importance of including usability and in the experts’ backgrounds. Scenarios in natural languages
UX requirements in Tenders, how to conduct objective are ambiguous, imprecise and lack formality [49]. Similarly,
verifications of usability and UX requirements in public the Beyer and Holtzblatt’s [7] contextual design only
tender calls is now a major concern for public organisations. provides “very generic recommendations for adapting and
Another challenge reported by the study is that usability tailoring the overall approach to different project
researchers do not describe the usability evaluation methods configurations” [49]. Overall, HCI usability techniques
in the manner that makes sense to practitioners. when applied in the software development process are
decoupled from the process [30].
It is however suggested that a process rethinking through
education is laudable [46]. It should be mandatory that The economic benefits of usability evaluation include
design teams have access to the end users throughout the sales increase, enhanced user productivity, reduced costs of
development lifecycle. The same goes for student projects. training, and reduced needs for user support [6]. Although
Finally, usability researchers should make their suggestions these economic benefits appear enticing, the obstacles that
more explicit and attractive to the software development still confront usability evaluation are those based on the lack
organizations [3]. of understanding of usability evaluation in itself,
developers’ mindset, and resource demands [3, 4, 6, 8].
13) Development Team Most software developers, based on their mindset, confuse
usability evaluation with functionality test, and therefore
One of the setbacks experienced when transferring HCI prioritize functionality in software development process [6].
suggested values, and practices to SE processes is that posed In order to mitigate the situation with developers’ mindset,
by the software development team. There is an intrinsically studies conducted by [11, 35] show that training software
communication challenge among software development developers on usability evaluation is a worthwhile approach.
team members [47, 51]. Due to the effect of their However, small-sized software development organisations
disciplinary background, the software engineers often have still lack the ability to cope with resource demands in terms
so much influence, to the extent of influencing software of experience and expertise, to successfully incorporate
project decisions [21, 41]. Most often too, software usability evaluation into agile development practices [8].

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
15) Software Engineering Modeling Techniques to achieve an interdisciplinary environment where HCI and
SE converge on common approach to agile software
The field of software engineering has predefined lifecycle development, using shared principles and
modeling techniques. Prominent among these techniques is techniques, thereby speaking the same development
the Unified Modeling Language (UML). The UML has a language [38]. A recent HCI field’s effort to bridge the HCI-
wide acceptance in both the academia, and software SE gap, is the development of the Human Centred Software
industry, and has become an indigenous technique for Engineering (HCSE) framework. The HCSE framework
software development [43, 45]. However, UML lacks seeks the commonalities between HCI and SE disciplines
consistency with user-centred designs and HCI best and is developed based on the CRUISER dimensions [13].
practices [17, 38]. For instance UML “does not provide The CRUISER technique is presently perceived to be the
designers with modeling languages and associated tools to best possible and practical prototyping compromise between
explore the relevant HCI aspects of interactive software” HCI and SE [13]. TEIM is a tool that has been evaluated
[45]. Several UML-based languages such as Abrams, and based on the dimensions of UGAM and IoI [31]. TEIM is a
Phanouriou's UIML [1], Carter, Liu, Schneider, and modification of a software application called Personal
Fourney's PUF [17] were developed in order to mitigate Secretary (PS) – a tool that adapts the UGAM and IoI
UML’s limitations, but these extensions were incapable of models and uses empathy map [29, 31]. These tools are not
removing the formal nature of UML and failed to enhance outright replacements of UML UP, and XP, but
understanding for the business people [38]. Similarly, the complementary tools, some of which have been accepted
Unified Process (UP) technique has no filters for internal and used in software development and projects. However,
functionality of software and the user interface [43]. The most of the tools still require some empirical validations and
Unified Process also lacks support for multiple platforms use in production environments.
and often leads to conceptual architectural complexities
[43]. The Extreme Programming (XP) technique depends on III. METHODOLOGY
well-established HCI vertical prototypes to uncover possible
architectural problems in software development [15, 43]. In order to approach this review, fifty three articles were
For example XP uses scenarios (user stories) and use cases selected using the keywords presented in Fig. 3. Word cloud
[46] which are “not only inconsistent with agile applications such as ‘HTML5 word cloud ’, ‘abcya.com’
development, but also misleading as an effective way to and ‘Wordle’ were used to form a cloud of the keywords
model user requirements” [43]. Scenarios are much useful in used in the articles reviewed. Keywords such as ‘Human-
HCI as they provide focus, but are “usually disastrous when computer interaction and Software Engineering Integration’
applied indiscriminately as a general requirements discovery were used in search engines to retrieve the selected articles
technique” [43]. The major problem with XP is therefore its from their databases. Furthermore, each article’s reference
lack of artifact that shows the link between its conceptual lists were searched for relevant papers in order to gain
architecture and the user-stories [10, 43]. deeper insights into the discourse.

In order to mitigate the shortcomings provided by UML,


UP and XP, some experts in the field of human-computer
interaction developed useful techniques such as the
Usability Goal Achievement Metric (UGAM) and the Index
of Interaction (IoI) [29], the Modeling Language for
Interaction as Conversation (MoLIC) [45], the Cross-
discipline User Interface and Software Engineering lifecycle
(CRUISER) [38], and The Evolved Integration Model of
HCI and SE (TEIM) [31]. The UGAM is a “product metric
that measures the extent to which the design of a product
achieves its user-experience goals” and the IoI is “a process Figure 3. A Word-Cloud of HCI-SE Gaps Keywords
metric that measures the extent of integration of the HCI
activities in the SE process” [29]. Both UGAM and IoI take Fig. 4 shows the distribution of the selected articles by
consideration of organization and are useful to undertake a their year of publications. Finally, the scoping study
wide range of software products and projects [29, 31]. The technique was adopted to review the selected articles [5].
MoLIC was built on semiotic engineering principles, and Generally, the scoping study approach, according to [5] is
conveys interaction as threads from user’s interaction with relevant in order to:
the system. MoLIC performs consistency checks with other
design notations in UML [45]. The CRUISER is a robust x Examine the extent, range and nature of
tool which applies scenarios and prototypes and other agile research activity;
HCI and SE techniques to provide a platform for agile
x Determine the value of undertaking a full
human software development [38]. The goal of CRUISER is
systematic review;

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
x Summarise and disseminate research findings; the Engineering Interactive Computing Systems (the ACM
and SIGCHI Symposium on Engineering Interactive Computing
Systems) conferences have been committed to achieving
x Identify research gaps in the existing literature. successful user interface engineering and have featured
topics such as ‘Formal methods for HCI’ in their meetings
since 2011. This could have been motivated by the need to
overcome the complexities often associated with human-
centred design.

TABLE 2. GAP AREAS IDENTIFIED OVER TIME

Gaps Period Gaps were Reported


Identified
1980 1986 1992 1998 - 2004 2010
- - - 2003 - -
1985 1991 1997 2009 Date
Differing 41,43 38,49
Disciplinary
Backgrounds
Figure 4. Distribution of HCI-SE Paper Publications by Educational 12 36,41, 20,38
Year Curriculum 46,53
Differing 39 22,30
The scoping study technique used has five stages of Terminologies
methodological framework. The first stage is to identify the Complexities of 43 30,49 3
research question, and the simple question we ask is: why is HCI
it difficult to transfer HCI suggested values, and practices to Techniques
software engineering processes? The second and third Complexities of 9 30
Human Factors
stages are to identify, and select relevant studies, and as
mentioned earlier we used certain keywords to select the SE 19 30,49 37
Organisational
articles reviewed for this study. The fourth stage is to create Culture
charts from the data, and we have shown our chart in Fig. 4. Lack of 32 30
The final stage is to collate, summarize, and report the Common
results. The discussions in Section II of the paper are the Repository for
HCI Results
taxonomy of our findings.
Different 12 38,46 8
Focus on
IV. DISCUSSIONS Problem
Domains
Lack of 34,43 49
The findings from this review show that efforts to
Standards of
transfer HCI values, and practices to software engineering Practice
processes have been age-long, spanning over three decades.
Context of 22,49 52
The results in Fig. 4 show that the issue of HCI-Software Application of
Engineering integration was largely addressed in 2003. This HCI Methods
could be as a result of the dedication of prominent and
conferences such as the International Conference on Techniques
Software Engineering and workshops such as INTERACT Perception 46 49
to the goal of achieving the integration of human-computer Lack of User 46 6,14, 3,13,
interaction values, and practices into software engineering Involvement in 33 37
Design
processes. These conferences and workshops were held in Process,
2003. Areas such as educational curriculum, modeling Usability and
techniques, and usability formed the major topics of these UX
meetings. It is however observed that topics such as Lack of 38,41, 2
organisational culture, context, human-centred design, Communication 46,47,
among the 51
usability evaluation, and software engineering modeling Development
techniques continue to appear in the literature till date. Team
These topics have underlying human factors that seem to Lack of 8 7 6,30, 3,4,1
make their resolution somewhat arduous. There appears to Suitable HCI 49 1,35
be the challenge of representing the informal world of users Usability
Evaluation
in a formal solution set of software products. For example,
Techniques
Inconsistency 10,38, 17 13,15
of SE 43,45 ,29,3
Modeling 1
Techniques

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
x The process is iterative;
Table 2 shows the various HCI-SE transfer gaps that
featured in the literature to date. The table suggests that x The design addresses the whole user experience;
issues such as organisational culture, context of application x The design team includes multidisciplinary skills
of HCI techniques, user involvement, usability evaluation and perspectives.
techniques, and software engineering modeling techniques
have yet to be holistically resolved and these areas call for Although, for the scope of this paper we could not
more research efforts. provide insights on the human-centred design, we however,
critically consider the ISO 9241-210 framework as showing
V. CONCLUSIONS promises to bridging the HCI-SE gaps, especially when it is
successfully incorporated into agile software development
The fields of human-computer interaction and software methodologies [3, 50]. For example, both the ISO 9241-210
engineering were examined with a view to identifying the framework and agile methodologies share certain
gaps between the two disciplines. Numerous gaps, ranging commonalties, especially their focus on users (human-
from differing disciplinary backgrounds through to software centredness), ability to handle complex software
engineering modeling techniques have been found. The development projects, and iterative process. A frame work
efforts of integrating HCI and software engineering, with a we consider as showing this possibility is the one proposed
view to enhancing usability of software products keep by [50] (extensively discussed by the authors). In our
growing. There have been several organized workshops and further research, we plan to use both the ISO 9241-210 and
conferences to this effect. However, the achievement of the framework of [50] to explore the possibility of achieving
usable software production by the software development agile human-centred software development. This, we hope
industry has been problematic partly because of the could address pressing areas such as context of application,
complexities of using some HCI techniques and methods, usability evaluation, organisational culture and user
and partly because most software development companies involvement, which have been identified in this article as
are intransigent to suggested practices on usability, and critical gaps, and complement recent efforts on integrating
human-centred design. We have also determined that issues HCI and SE successfully.
such as organisational culture, context of application, user
involvement, software engineering modeling techniques, REFERENCES
and incorporation of usability evaluation into agile software
development practice for small-sized software
organisations, still require more research efforts. This article 1. Abrams, M., Phanouriou, C.: UIML : An XML language for
is part of a current effort of the authors to identify the building device-independent user interfaces. Proceedings of the
XML 1999, Philadelphia,. pp. 1–15 , Philadephia (1999).
obstacles of integrating HCI values, and practices with
software engineering processes, and achieve a successful 2. ACM, IEEE Computer Society: Computer science curricula
incorporation of human-centred design framework into agile 2013: curriculum guidelines for undergraduate degree programs
software developments. As the challenges of integrating in computer science. ACM and IEEE (2013).
HCI with software engineering persist, this article is
3. Ardito, C. et al.: Investigating and promoting UX practice in
particularly beneficial to the new comer into the HCI and industry: an experimental study. Int. J. Hum. Comput. Stud. 1–10
software engineering fields. (2013).

4. Ardito, C. et al.: Usability evaluation - a survey of software


VI. FUTURE WORK development organizations. Proceedings of the 33rd International
Conference on Software Engineering & Knowledge Engineering.
Although, the activity-centred design was proposed as pp. 282–287 (2011).
offering a better approach to the design of technologies for
human use [42], we believe that the human-centred 5. Arksey, H., O’Malley, L.: Scoping studies: towards a
methodological framework. Int. J. Soc. Res. Methodol. 8, 1, 19–
approach to software engineering is still laudable to 32 (2005).
bridging the HCI-SE gaps. The ISO 9241-210 [28]
describes a six-step approach to human-centred design for 6. Bak, J.O. et al.: Obstacles to usability evaluation in practice - a
interactive systems. These steps are listed: survey of software development organizations. Proceedings of
the NordiCHI 2008 Conference. pp. 23–32 ACM Press, Lund
(2008).
x The design is based upon an explicit understanding
of users, tasks and environments; 7. Beyer, H., Holtzblatt, K.: Contextual design: defining customer-
centered systems. Morgan Kaufmann,, San Francisco (1998).
x Users are involved throughout the design and
development; 8. Bornoe, N., Stage, J.: Supporting usability engineering in small
software development organizations. Proceedings of the The 36th
x The design is driven and refined by user-centred Information Systems Research Conference in Scandinavia (IRIS
evaluation; 36). pp. 1–12 , Gran, Norway (2013).

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
9. Brooks, F.P.: No siver bullet: essence and accidents of software 25. Harning, M.B., Vanderdonckt, J.: Closing the gaps: software
engineering. Computer (Long. Beach. Calif). 20, 4, 10–19 engineering and human-computer interaction. , Louvain-la-
(1987). Neuve, Belgium (2003).

10. Brown, J., Marshall, S.: Sharing human-computer interaction and 26. Hewett et al.: Human-computer interaction. ACM SIGCHI
software engineering design artifacts. Proceedings of the 1998 Curricula for Human-Computer Interaction. pp. 5–27 ACM Press
Australasian Computer Human Interaction Conference. (1996).
OzCHI’98 (Cat. No.98EX234). pp. 53–60 IEEE Comput. Soc
(1998). 27. Hix, D., Hartson, H.R.: Developing user interfaces: ensuring
usability through product and process. Wiley Professional
11. Bruun, A., Stage, J.: Overcoming the developer mindset barrier Computing, New York (1993).
towards usability evaluations. Proceedings of the Information
System Research Seminar in Scandinavia. pp. 1–13 (2012). 28. ISO: Ergonomics of human-system interaction -- Part 210:
Human-centred design for interactive systems. ISO 9241-
12. Buie, E.A., Vallone, A.: Integrating HCI engineering and 210:2010. pp. 1–32 ISO (2010).
software engineering : a call to a larger vision. Proceedings of the
Seventh International Conference on Human-Computer 29. Joshi, A. et al.: Measuring effectiveness of HCI integration in
Interaction), Volume 2. Amsterdam. pp. 525–530. Elsevier software development processes. J. Syst. Softw. 83, 11, 2045–
Science Publishers, Amsterdam, the Netherlands (1997). 2058 (2010).

13. Butt, S.M. et al.: An overview of software models with regard to 30. Juristo, N., Ferre, X.: How to integrate usability into the software
the users involvement. IJCSI Int. J. Comput. Sci. Issues. 9, 3, development process. Proceeding of the 28th international
107–112 (2012). conference on Software engineering - ICSE ’06. p. 1079 ACM
Press, New York, New York, USA (2006).
14. Bygstad, B. et al.: Software development methods and usability:
Perspectives from a survey in the software industry in Norway. 31. Kulkarni, R., Padmanabham, P.: Validating utility of TEIM : a
Interact. Comput. 20, 3, 375–385 (2008). comparative analysis. Int. J. Adv. Comput. Sci. Appl. 4, 1, 80–83
(2013).
15. Calvary, J., Gaëlle, C. and: HCI and Software Engineering for
User Interface Plasticity. In: Julie A. Jacko (ed.) Human- 32. Kuutti, K.: Activity Theory as a Potential Framework for Human-
Computer Interaction Handbook: Fundamentals, Evolving Computer Interaction Research. In: Nardi, I. (ed.) Context and
Technologies, and Emerging Applications,. pp. 1195–1220 consciousness. pp. 17–44 MIT Press,Cambridge, MA (1996).
(2012).
33. Larusdottir, M.K. et al.: User involvement in Icelandic software
16. Carroll, J.M.: Human-computer interaction: psychology as a industry. Proceedings of the INTERACT 2009. pp. 1–2 ACM
science of design. Annu. Rev. Psychol. 48, 61–83 (1997). Press, Uppsala (2009).

17. Carter, J.A. et al.: Transforming usability engineering 34. Law, E.L.: Bridging the HCI-SE Gap: historical and
requirements into software: from PUF to UML. Human-centered epistemological perspectives. Proceedings of INTERACT 2003
software engineering: Integrating usability in the development (CLOSING THE GAPS: Software Engineering and Human-
process. pp. 147–169 Springer, Dordrecht, Netherlands. (2005). Computer Interaction) Workshop. pp. 47–54 Université
catholique de Louvain, Institut d’Administration et de Gestion
18. Constantine, L. et al.: Usage-centred design and software (IAG) (2003).
engineering: models for integration. Proceedings of the 2003
International Conference on Software Engineering, Portland, 35. Lizano, F., Stage, J.: Usability evaluations for everybody ,
Oregon. pp. 106–113 , Portland, Oregon (2003). everywhere : a field study on remote synchronous testing in
realistic development contexts. Proceedings of the 8th
19. Constantine, L., Lockwood, L.: Software for use: a practical International Conference on Digital Society. pp. 74–79 (2014).
guide to the models and methods of usage-centered design.
Reading, Massachusetts, Addison-Wesley (1999). 36. Ludi, S.: Undergraduate software engineering curriculum
enhancement via human- computer interaction. Proceedings of
20. Fernandez, J.D.: Human computer interaction closes the software the 2003 International Conference on Software Engineering,
engineering gap. Proceedings of the 2004 American society for Portland, Oregon. pp. 72–75 , Portland, Oregon (2003).
Engineering Education Annual Conference & Exposition. pp. 1–6
American Society for Engineering Education (2004). 37. Majid, R.A. et al.: Strengthening the HCI approaches in the
software development process. World Acad. Sci. Eng. Technol.
21. Ferre, X., Moreno, A.M.: Improving software engineering 64, 373–377 (2012).
practice with HCI aspects development process. Softw. Eng. Res.
Appl. 3026, 349–363 (2004). 38. Memmel, T. et al.: Agile human-centered software engineering.
In: Linden J. Ball, M. Angela Sasse, Corina Sas, Thomas C.
22. Folmer, E. et al.: Bridging patterns: an approach to bridge gaps Ormerod, A. and Dix, Peter Bagnall, and T.M. (eds.) Proceedings
between SE and HCI. Inf. Softw. Technol. 48, 2, 69–89 (2006). of HCI 2007 People and Computers XXI – HCI. pp. 1–9 British
Computer Society (2007).
23. Folmer, E., Bosch, J.: Cost effective development of usable
systems : gaps between HCI and SE. Proceedings of the ICSE 39. Milewski, A.E.: Software engineering overlaps with human-
2004. pp. 1–6 (2004). computer interaction: a natural evolution. Proceedings of the
2003 International Conference on Software Engineering,
24. Grudin, J.: A moving target — the evolution of human-computer Portland, Oregon. pp. 69–71 (2003).
interaction. In: Jacko, J. (ed.) Human-Computer Interaction
Handbook (3rd Edition),. pp. 1–40 Taylor & Francis (2012).

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.
40. Mills, H..: The management of software engineering Part 1: Software Engineering: Education and Practice (Cat.
Principles of software engineering. IBM Syst. J. 19, 413-477, No.98EX220). pp. 399–401 IEEE Comput. Soc (1998).
(1980).
47. Pyla, P.S. et al.: Towards a model-based framework for
41. Müller-Prove, M.: Mind the gap! software engineers and integrating usability and software engineering life cycles.
interaction architects. Proceedings of the INTERACT 2003 Proceedings of the IFIP INTERACT 2003 workshop on Bridging
Conference. pp. 100–101 Université catholique de Louvain, the gap between software engineering and human-computer
Institut d’Administration et de Gestion (IAG) (2003). interaction. (Portland, Oregon, 2003). pp. 1–8 (2003).

42. Norman, D. a.: Human-centered design considered harmful. 48. Rosson, M.B., Carroll, J.M.: Usability engineering: scenario-
Interactions. 12, 4, 14–19 (2005). based development of human-computer interactions. Morgan
Kaufmann, San Francisco, USA (2002).
43. Nunes, N.J.: What drives software development : issues
integrating software engineering and human-computer 49. Seffah, A.; Desmarais, M.; Metzker, E.: HCI and software
interaction. Proceedings of INTERACT 2003, Zurich. pp. 89–95 engineering integration: an overview. (2005).
ACM Press, Zurich (2003).
50. Silva da Silva, T. et al.: User-Centered Design and Agile
44. Palanque, P. et al.: Engineering interactive systems. Proceedings Methods: A Systematic Review. Proceedings of the 2011 Agile
of the Engineering Interactive Systems 2007 Joint Working Conference. pp. 77–86 Ieee (2011).
Conferences, Salamanca, Spain. pp. 1–649 Springer, Salamanca,
Spain (2007). 51. Sousa, K.S., Furtado, E.: RUPi – a unified process that integrates
human-computer interaction and software engineering.
45. Paula, M.G. De et al.: Relating human-computer interaction and Proceedings of the International Conference on Software
software engineering concerns : towards extending UML through Engineering – ICSE’2003,. pp. 41–48. (2003).
an interaction modeling language. Interact 2003: Proceedings of
the Ninth IFIP TC13 International Conference on Human- 52. Vermeeren, A., Cockton, G.: Facilitating the take-up of new HCI
Computer Interaction. pp. 40–46 IOS Press (2003). practices : a diffusion of innovations ’ perspective. (2013).

46. Phillips, C., Kemp, E.: The integration of HCI and software 53. Willshire, M.J.: Where SE and HCI meet: a position paper.
engineering. Proceedings. 1998 International Conference Proceedings of the 2003 ICSE. pp. 57–60 , Portland, Oregon
(2003).

Authorized licensed use limited to: Vivekanand Education Society's Inst of Tech. Downloaded on November 13,2024 at 03:36:36 UTC from IEEE Xplore. Restrictions apply.

You might also like