Variability here applies both to extensions of the
system and integration with other applications. This
variability may be implemented by mechanisms
such as configuration, subclassing and inheritance,
specialization of patterns, multiple versions of
components, instantiation of abstract classes,
parameters, templates, DDLs, customer exits,
import/export mechanisms, adapters and connectors,
install scripts, registry, property sheets and
customizers (Leishman, 1999).
Another set of variability mechanisms is
presented by Brehm et al. (2001), who present a
typology of Enterprise Resource Planning (ERP)
adaptation in practice. These ERP variability
mechanisms include configuration, bolt-ons for
implementation of third-party packages, screen
masks, workflow programming, user exits for
programming additional software code in an open
interface, ERP programming using the programming
language provided by the vendor, interface
development, and in rare instances some package
code modification.
A special case of variability is found with Open
Source software, where the commonality itself, the
source code, also becomes subject to variability. But
even in this case some vendors have a kernel of
commonality, e.g. the enterprise content
management vendor eZ Systems (http://ez.no/).
3 CONTRADICTIONS
To explain the contradictory nature of commonality
and variability, we need to clarify the concepts
related to contradictions. A contradiction can be
seen as a relation between two opposite aspects of a
phenomenon. One aspect in a contradiction (also
called a contradistinction) cannot be fully
understood without considering the other aspect. The
two aspects of a contradiction are called thesis and
antithesis, where antithesis is the negation of the
thesis. So the two aspects (or contradistinctions) are
intrinsically related, yet opposite and distinct from
one another (Mathiassen and Nielsen, 1989; 1990).
The combination of thesis and antithesis may lead to
a synthesis, which may be different from both thesis
and antithesis.
A thesis (A) may be challenged by an antithesis
(Not-A), and the resolution of the conflict becomes a
synthesis (which is Not Not-A). By its very nature,
the synthesis is a novel construction that departs
from both the thesis and the antithesis. Over time,
this synthesis may become a new thesis as the
dialectical process continues (Van de Ven and
Poole, 1995).
Analysing contradictions is also referred to as
dialectics, where the dialectical tension is the
opposition between two interacting forces or
elements. The main point in dialectical reflection is
to find the principal contradiction of a process in
order to understand a situation (Bjerknes, 1992).
According to Dahlbom and Mathiassen (1993),
contradictions can in some cases be seen as trade-
offs: “When working with computers … we are
typically faced with what is traditionally called
trade-offs. From a dialectical perspective, these
trade-offs are manifestations of contradictions
inherently related to the use and development of
computer systems” (p63). According to Israel (1979)
dialectics contributes to the production of
knowledge, by an increased understanding of a
phenomenon. For the purpose of this paper, we note
one dialectic to be of particular interest here, namely
the age-old contradiction between stability and
change (Lewis, 2000).
4 THE INHERENT
CONTRADICTION OF
ENTERPRISE SYSTEMS
The mechanisms for commonality and variability
built into Enterprise Systems (ES), may also be seen
as representing a contradiction (cf. Figure 1).
Viewed as a thesis, commonality assumes that the
system properties involved should not and cannot be
changed. A rationale for this is that the system is
based on best practices, and therefore it should not
be changed. This argument is used for ERP systems.
An ES following this thesis to the extreme, would
simply be installed with no configuration
whatsoever, as it would only consist of
commonality. A pure thesis is not a feasible
solution. Viewed as an antithesis, variability
assumes that the system properties involved can and
probably should be changed. A rationale for this is
that the organizational contexts where the system is
installed, may be different, and therefore the system
needs to have its properties set or changed. An ES
following this antithesis to the extreme, would only
consist of variability and have no commonality at
all. So a pure thesis is not a feasible solution either.
COMMONALITY VERSUS VARIABILITY - The Contradictory Nature of Enterprise Systems
573