
actors or between actors and computerized tools are
sources of various unexpected deviations and
inconsistencies. Indeed, most processes governing
these informal interactions cannot be completely
specified in advance and once for all. A human-
centered system inconsistency reflects a state of the
software development or use process or a state of a
software artifact resulting from this process, and
generally originates from a set of deviations.
Inconsistencies and deviations were defined by
(Cugola et al., 1996) and (Bandinelli et al., 1994).
(Fernström, 1993) have proposed formal definitions
of these concepts. A wide range of deviations and
inconsistencies arise during the development of
human-centered systems. For example, requirements
engineering generate many kinds of inconsistencies
related to the multiplicity of information sources. By
another way, the use of such systems often results in
deviations and inconsistencies related to the gap
between the cognitive, organizational and
sociological processes driving the actors behaviour
and the representation of these processes in the
human-centered system in use. Many researchers
and practitioners (Balzer, 1991) (Ghezzi et al., 1998)
(Nuseibeh, 1996) have proven that deviations and
inconsistencies are inevitable in particular in
complex human-centered systems. Moreover, in
such systems, removal of certain inconsistencies can
cause others to pop up. By another way,
inconsistencies may be useful for focusing on
aspects of human-centered systems which need
particular attention. Consequently, management of
human-centered systems inconsistencies must be
integrated in the human-centered systems
development and use processes. We think that to be
managed, deviations and inconsistencies must be
identified and the issues related to understanding
why they occur must be addressed. In this paper, we
propose a framework which:
1. describes a typology of deviations and
inconsistencies occurring during the human-
centered systems development and use,
2. permits understanding the causes of human-
centered systems deviations and inconsistencies,
3. may be helpful in building approaches and tools
to cope with human-centered deviations and
inconsistencies.
To be complete, the human-centered systems
deviations and inconsistencies description and
analysis must take into account firstly, the
conflicting interests and points of views of all the
organizational actors involved in human-centered
systems development and use, and secondly all the
aspects of software engineering. Therefore, our
framework rests on the software engineering global
model (Toffolon et al., 2002) built using the
economic agency theory (Alchian et al., 1972), the
transactions costs theory (Williamson, 1989) and the
software dimensions theory (Toffolon, 1999). The
remainder of this paper is organized as follows. In
section 2, we describe synthetically the related work.
Section 3 presents the software engineering global
model. In section 4, we analyze the causes of
deviations and inconsistencies related to human-
centered systems development and use, and describe
synthetically a typology of these deviations and
inconsistencies. Section 5 describes a coordination
model which permits reducing and managing a
subset of human-centered systems deviations
inconsistencies. In section 6 , we conclude this paper
by listing the principal applications of the proposed
framework in software engineering.
2 RELATED WORK
Many authors have analyzed inconsistencies
inherent in software engineering. In the remainder of
this section, we list several important research
papers related to our work. (Nuseibeh et al., 2000)
have argued for “making inconsistency respectable”
by sometimes avoiding or ignoring it, and more
often using it as “a focus for learning and a trigger
for further constructive development actions”.
Nevertheless, their work is dedicated to
inconsistencies related to descriptions associated
with software engineering. (Finkelstein et al., 1994)
present a technique for inconsistency handling in the
View-Points framework (Nuseibeh et al., 1992). In
their turn, (Grundy et al., 1998) describe an
experience with building complex multiple-view
software development tools that support diverse
inconsistency management facilities. (Cugola et al.,
1996) and (Bandinelli et al., 1994) have provided
definitions of inconsistencies and deviations inherent
in software engineering while (Fernström, 1993)
have proposed formal definitions of these concepts.
(Balzer 1991), (Ghezzi et al., 1998), and (Nuseibeh,
1996) have proven that deviations and
inconsistencies are inevitable in particular in
complex human-centered systems. Despite their
richness, the papers listed above do not propose any
typology of deviations and inconsistencies which
take into account all the aspects of software as well
as the conflicting interests and points of view of
stakeholders involved in software projects. Such a
typology is needed to define, for each inconsistency
category, the most appropriate approach to manage
it. The typology we propose in this paper permits us
stressing that human-centered systems deviations
and inconsistencies may be partly reduced and
managed through the coordination process.
HUMAN-CENTERED SYSTEMS DEVELOPMENT AND USE INCONSISTENCIES
35