Re-Conceptualizing Agile Information Systems … · world of frequent and continuous ... projects...
Transcript of Re-Conceptualizing Agile Information Systems … · world of frequent and continuous ... projects...
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 1
Complex adaptive systems (CAS) theory characterizes the role of emergence in the world of frequent and continuous change. In the context of information systems (IS) CAS can help conceptualize the phenomenon of IS emergence. In this domain agile development methods were introduced to address speed and the problems of change in IS development. The paper provides a review of agile development practices and their interpretation from a CAS perspective. It is concluded that IS emergence can be realized by engaging development teams through agile practices that are found to support CAS concepts. It is also found that some CAS principles have not been fully realized in current agile methods highlighting possible areas of improvement. Based on this analysis a detailed framework is derived to outline emergence mechanisms in IS development in general. The framework as grounded in CAS theory provides cornerstone elements towards a generic IS emergence theory we refer to as Complex Adaptive Information Systems (CAIS).
INTRODUCTION
The turbulent nature of modern business environments requires organizations to react quickly and creatively to make the most of new opportunities and busi-ness models. State-of-the-art IT projects based on service-oriented architecture
(SOA) that extends features of client-server architecture, have shown evidence of sys-tem and process agility where agile practices have been adopted in design, devel-opment and maintenance of such applications (Ren & Lyytinen, 2008; Baskerville et al., 2005). This is because in modern environments new economic realities, such as rapid development of technology and increased global competitiveness make orga-nizations less stable, fast-changing and emergent (Truex et al., 1999). Turbulent envi-ronments make businesses unpredictable and hence unplannable in the traditional sense of control and optimization (Riehle, 2000). For this reason agile development
Re-Conceptualizing Agile Information Systems Development using Complex Adaptive Systems TheoryE:CO Issue Vol. 15 No. 3 2013 pp. 1-23
Applied
RE-CONCEPTUALIZING AGILE INFORMATION SYSTEMS DEVELOPMENT USING COMPLEX ADAPTIVE SYSTEMS THEORYGhada Alaa1 & Guy Fitzgerald2
1. The Egyptian Cabinet’s Information and Decision Support Centre (IDSC), EGY2. School of Business and Economics, Loughborough University, ENG
2 | Alaa & Fitzgerald
methods adopt concepts of emergence, such as customer focus, participative de-sign, time-boxed project management, continuous software development and others (Highsmith, 2002). According to VersionOne (2011) that undertook an agile adoption survey; agile practices of common use are daily stand-up meetings, iteration plan-ning, release planning, burn down charts, retrospectives and continuous integration. SCRUM is the most used agile development methodology, adopted among over 50% of survey respondents. SCRUM practices are daily stand-up meetings, sprints that cover release planning, burn down charts to tackle remaining tasks and deviations from schedules, and retrospectives that are feedback, review meetings to assess the sprint to be released and plan for the next one.
Agile development methods were designed to overcome the problems posed by fast-changing environments. Their major benefits include the ability to tackle chang-ing requirements, project visibility and transparency, increased productivity, acceler-ated time to market and cost reduction (VersionOne, 2011). In spite of such benefits there are still concerns about their suitability in various contexts such as adoption within distributed teams and agile rigor and robustness (Ambler, 2002b; Conboy & Fitzgerald, 2004; VersionOne, 2011). The reason for such concerns is partly because the principles of agile development lack grounding in theory and philosophy.
Complex adaptive systems (CAS) theory specifies emergence mechanisms and characteristics that make a CAS react quickly and creatively to changing necessities. According to Augustine and Woodcock (2003), CAS theory in social and management contexts views organizations as actors with the intrinsic ability to deal with change, in-teracting with each other and with the business environment. Similarly, IS emergence can be interpreted using complexity concepts. In this paper we apply CAS concepts to agile development and provide interpretation of IS emergence phenomenon.
COMPLEX ADAPTIVE SYSTEMS (CAS) THEORY
Complexity science seeks to explain the process of emergence of new properties and the spontaneous creation of order after change. CAS theory originated in the natural sciences and articulates how interacting agents such as organisms
adapt and coevolve over time in spontaneous ways (Dooley, 1997). Holland (1995) defines CAS as a system composed of interacting agents, which undergo constant change, both autonomously and in interaction with their environment. He explains that heterogeneous agents exhibit various agent behaviors that can be defined in terms of “simple rules” where they adapt and evolve through their interactions and by changing their rules through learning as experience accumulates. Therefore the
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 3
behavior of CAS is typically unpredictable, but yet exhibits various forms of order and regulation (see Figure 1).
Complexity principles emphasize that emergence of properties and creation of new orders are not explicable from a purely reductionist viewpoint, but that the whole is greater than the sum of the parts (Kaufman, 1993). This means the focus of atten-tion shifts from understanding the parts or entities of which the whole was composed to the interaction of subsystems (agents) to form a system. Organizations therefore should not be seen as parts adding to a whole but rather as a corporation in which the interactions between its employees are of primary importance where forms of be-havior are determined by the tendency to achieve a certain goal (Stacey et al., 2000).
How do complex non-linear systems with their vast numbers of interacting agents function to produce orderly patterns of behavior? The field of complex adaptive sys-tems seeks rules and principles to interpret this phenomenon. Different authors pro-vided characteristics and/or principles of CAS as summarized in Table 1, along with a brief description on meaning & implications of such principles to emergence in social contexts. According to Middleton-Kelly (2003) many of the identified characteristics are well known in previous theoretical frameworks; for example, the concepts of con-nectivity, interdependence, feedback and adjustments are familiar from systems dy-namics theory. However, complexity theory extends these theories and adds new con-cepts such as coevolution, self-organization, edge of chaos and historicity and time dependence, which enrich these systems thinking concepts.
Global Pattern
Interactions
Feedback
Feedback
Environment
Agents
Figure 1 CAS Emergence Process
4 | Alaa & Fitzgerald
RESEARCH APPROACH
Agile development methods excel in fast-changing environments with the pri-mary evidence based on practical experiences, but there is little theoretical proof that agile methods facilitate change in emergent environments (Ambler,
2002b; Dybå & Dingsøyr, 2008) Claims of the benefits of the agile approach lie mainly in its focus on building systems in short time periods and being flexible enough to respond to change without descending into chaos (Boehm, 2002). As a result, there are many methods currently in use in the market branded as agile but still they remain vague in their theoretical underpinning and their rigor and reliability.
In order to address this lack of provenance this research aims to interpret agile development by building on complex adaptive systems (CAS) theory with the aim of providing better theoretical grounding for agile development. It also aims to highlight areas in agile development where CAS principles are not fully accommodated.
The paper presents theoretical/conceptual research where the IS emergence phe-nomenon represented in agile development will be interpreted and conceptualized using complex adaptive system (CAS) theory. Providing theoretical proof to the agile methods that have wide practical acceptance provides triangulation (Yin, 1984) and will hopefully help increase the credibility of agile development.
This paper will tackle theoretical evidence to address the following research ques-tions:
• Can emergent IS development be conceptualized as a complex adaptive system (CAS)?
• Does agile development reflect characteristics of a CAS?• Are the various principles of CAS fully adopted in agile development?
In order to provide evidence for these propositions, the paper examines agile de-velopment principles and practices and then maps them to CAS principles. The re-search will cover the following steps:
1. Review of CAS principles and their meaning and implications for emergence as shown in the previous section
2. Review of agile development principles and practices3. Mapping and interpretation of agile principles and practices from CAS
perspective
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 5
CAS
Prin
ciple
Benb
ya &
M
cKel
vey
(200
6)
Mid
dlet
on-
Kelly
(200
3)W
ebb
&
Letti
ce (2
005)
Desc
riptio
n
(P1)
Unp
redi
ctabi
lityx
xUn
pred
ictab
ility i
s the
trig
ger f
or n
ovel
socia
l pro
cess
es to
emer
ge an
d fo
rce re
form
atio
ns to
the r
educ
tion
of u
ncer
taint
y (M
ontu
ori, 2
003)
.(P
2) N
on-li
near
ityx
Nonli
near
ity p
rincip
le em
phas
izes t
hat e
mer
genc
e of n
ew o
rder
is n
ot
expl
icabl
e fro
m a
redu
ction
ist vi
ewpo
int, b
ut th
e who
le is
grea
ter t
han
the
sum
of t
he p
arts
(Kau
fman
, 199
3).
(P3)
Varia
tion
& di
versi
tyx
xCA
Ss ar
e mad
e up
of h
eter
ogen
eous
agen
ts (H
ollan
d, 19
95); e
ach
agen
t ha
s diff
eren
t gov
ernin
g ru
les fr
om th
e oth
er (B
enby
a & M
cKelv
ey, 2
006)
.(P
4) In
tera
ction
sx
Agen
ts in
a CA
S un
derg
o co
nsta
nt in
tera
ction
s, bo
th au
tono
mou
sly an
d wi
th th
eir en
viron
men
t (He
yligh
en, 2
001)
.(P
5) Fa
r-fro
m eq
uilib
rium
/edg
e of
chao
sx
xIn
orde
r to
harn
ess c
hang
e with
no an
archy
CAS
striv
es to
main
tain a
balan
ce
betw
een t
he co
mple
tely
orde
red,
“froz
en” r
egim
e and
the c
omple
tely
disor
dere
d, ch
aotic
regim
e, wh
ich is
know
n as o
pera
ting
on “e
dge o
f cha
os”
(McK
elvey
, 199
9).(P
6) A
dapt
atio
n as
fit t
o en
viron
men
t/con
text
xx
Tend
ency
to ad
apt t
o a p
artic
ular s
ituati
on d
epen
ds o
n the
cont
ext a
nd th
e ch
ance
s ava
ilable
in th
e env
ironm
ent; t
his w
ill de
term
ine th
e pos
sibilit
ies fo
r ch
ange
(Kell
er, 19
96).
(P7)
Con
necti
vity &
int
erde
pend
ence
xSt
ruct
ural
cou
plin
g em
phas
izes t
he an
alysis
of sy
stem
s in t
erm
s of t
heir
form
, stru
cture
& d
egre
e of in
terco
nnec
tivity
(Küp
pers,
1999
).(P
8) Fe
edba
ckx
Inte
r-rela
tions
bet
ween
the s
yste
m p
arts
resu
lt in
feed
back
loop
s whe
re
com
pone
nts i
n th
e out
put s
tage
info
rm co
mpo
nent
s in
the i
nput
stag
e (A
ndria
ni, 20
03).
6 | Alaa & Fitzgerald
CAS
Prin
ciple
Benb
ya &
M
cKel
vey
(200
6)
Mid
dlet
on-
Kelly
(200
3)W
ebb
&
Letti
ce (2
005)
Desc
riptio
n
(P9)
Patte
rn re
cogn
ition/
learn
ingx
As a
resu
lt of
feed
back
loop
s adj
ustm
ent i
n CA
S tak
es p
lace t
hrou
gh th
e lea
rning
expe
rienc
e exh
ibite
d by
its a
gent
s. Th
is wi
ll cha
nge t
he ag
ents’
eff
ect t
o re
alise
the r
equir
ed o
utco
me (
Web
b &
Letti
ce, 2
005)
.(P
10) H
istor
icity
& pa
th-
depe
nden
cex
xx
The b
ehav
ior o
f the
syste
m in
one
per
iod
of ti
me f
eeds
bac
k and
info
rms
to d
eter
mine
beh
avio
r in
the n
ext t
ime;
this
give
s the
syste
m ‘h
istor
ical
dim
ensio
n’ (St
acey
et a
l., 20
00).
(P11
) Self
-org
aniza
tion
& se
lectio
nx
xx
Kant
(197
0) in
trodu
ced
the n
otio
n of
self-
orga
nizat
ion
as a
mec
hanis
m
to ex
plain
the e
mer
genc
e of o
rder
in C
AS w
here
exte
rnal
influe
nces
, e.g.
, na
tura
l for
ces o
r soc
ial co
ntra
cts d
o no
t gov
ern
the i
nter
nal d
ynam
ic of
an
entit
y/or
ganiz
atio
n.(P
12) C
oevo
lutio
nx
xAg
ents
rare
ly ar
e par
titio
ned
into
non-
over
lappi
ng g
roup
s; th
ey ra
ther
pa
rticip
ate i
n m
ultip
le ne
ighb
orho
ods/u
nder
takin
gs si
mult
aneo
usly,
whe
re
their
vario
us ac
tivitie
s coe
volve
(And
erso
n, 19
99).
(P13
) Sim
ple r
ules
xHo
lland
(199
5) d
efine
s a C
AS as
a sy
stem
com
pose
d of
inte
racti
ng ag
ents
that
resp
ond
to ex
tern
al ev
ents/
stim
uli, w
here
agen
ts’ re
spon
se to
tri
gger
s/stim
ulus c
an b
e defi
ned
in te
rms o
f “sim
ple r
ules”.
Tabl
e 1
CAS
Prin
ciple
s
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 7
4. Reflection on CAS to identify whether all its principles have been fully adopted in agile development, or whether there are missing emergence attributes that could be utilized to improve emergence characteristics of agile development
PRINCIPLES OF AGILE DEVELOPMENT
Agile development refers to a development life cycle designed for a series of methods that have been characterized as “light-weight” methods. These were introduced to replace traditional/heavy-weight development methods in order
to cope with change and the need for speed in modern development environments (Highsmith & Cockburn, 2001). The degree of adoption of agile methods is a subject of some debate but in 2005 a Forrester survey suggested that in North America and Europe the figure was around 14% (Schwaber & Fichera, 2005) by 2010 this appeared to have risen to 35% although it is not clear that these figures are directly compa-rable. Nevertheless, Forrester described this as agile becoming ‘mainstream’ (Krill, 2010). The state of agile development survey VersionOne (2011) with around 6,000 respondents from 80 countries reports a high percentage of agile method adoption in systems development with more than 80% of respondents having adopted agile de-velopment practices. Around half of the sample have at least 2 years experience with agile projects and more than a third have up to 5 years experience with agile, indicat-ing some depth of understanding of agile in organizations. In the same survey even large software development projects with over 250 employees showed significant ag-ile adoption rates. Of course it should be recognized that the samples in such surveys by agile product and service providers may well be skewed to those with an interest in agile but nevertheless it is clear that agile is of significant and growing importance in information systems development.
Although the agile manifesto represents an advancement in counteracting the cri-tique of how agile methods work, it is important to note that there is still no universal-ly accepted definition of an agile method (Conboy & Fitzgerald, 2004). For example, Highsmith (2002) defines agility as “the ability of an organization to both create and respond to change in order to profit in a turbulent business environment”. Perhaps the best known interpretation of agile is provided by the manifesto of agile software development (Agile Alliance, 2001), a group statement of 15 representatives of agile methods, which defined twelve principles of agile development as follows:
• Early and continuous delivery of working software;• Embracing change in requirements;• Shorter development cycles;
8 | Alaa & Fitzgerald
• Collaboration between business people and developers throughout the project;• Motivated individuals and empowered teams;• Face-to-face conversation;• Working software is the primary measure of progress;• Sustainable development: sponsors, developers, and users should be able to
maintain a constant pace indefinitely;• Good design & technical excellence;• Simplicity: the art of maximizing the amount of work not done;• Self-organizing teams: best architectures, requirements, and designs emerge from
self-organizing teams, and;• Reflections & adjustments: at regular intervals, the team reflects on how to become
more effective, then tunes and adjusts its behavior accordingly.
It is important to distinguish between flexibility in requirements or in other words the embracing of changes to requirements, as compared to flexibility in software archi-tectures, that covers reusability of architectural building blocks, etc. In light of this dis-cussion and analysis agile principles are distilled and summarized as shown in Table 2.
INTERPRETING AGILE DEVELOPMENT FROM CAS PERSPECTIVE
Agile development methods, such as SCRUM, Extreme Programming (XP), SCRUM/XP Hybrid, and other light-weight methods share similar agile prac-tices that are argued to realize agile principles (Table 2). If we are to view agile
development from a complexity perspective, it is necessary to examine the principles and practices that these agile approaches adopt and identify if they have the same characteristics and rationales as CAS principles (Table 1). This should help better un-derstand agile principles (see Table 2) and to identify the complexity concepts in ac-tion behind these approaches. For example, extreme Programming (XP) adopts prac-tices, such as onsite customer for better communication, small and frequent releases, simple designs, pair programming, time-boxing, continuous integration, code-reuse and re-factoring (Beck, 2000). These practices potentially realize agile principles such as interactions & collaboration, embrace change in requirements, flexibility, quick de-livery of working software, etc. that we argue have a resonance from a CAS perspec-tive. Similarly, Adaptive Software Development uses JAD (Joint Application Design workshops), incremental prototyping, time boxing, iterative development and other
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 9
People-Oriented/ Empowered & Self-organizing Teams(motivated individuals, empowered teams, sustainable development, self-organizing teams, etc.)
Communication, Interactions & Collaboration(collaboration between stakeholders, face-face conversation, interactions, etc.)
Focus on Working Software
Shorter Development Cycles
Embrace Change in Requirements
Frequent Delivery of Products (Releases)
Continuous Reflection & Adjustment/Iterative Development
Flexibility of Software Architecture
Simplicity
Technical ExcellenceTable 2 Agile Development Principles
agile practices (Highsmith, 2000). The widely-used agile practices and their inter-re-lations to CAS principles will be provided in the following analysis. This is done based on the identified principles of agile practices of Table 2. The outcome of this analysis is provided in Table 3.
People-Oriented/Empowered, Self-organizing Teams
The effective use of people achieves maneuverability, innovation and adaptation, which supports the principle of “self-organization”. Employees and customers in agile organizations need to be knowledgeable, empowered and self-motivated (Highsmith & Cockburn, 2001). Agile practices that operationalize these concepts cover delegato-ry management (Fowler, 2005) that give team members space to react independently, in contrast to traditional methods. Beck (2000) introduces the concept of collective ownership, 40hour/week and open work area he argues will raise individual commit-ment to the collective benefit and team working (Martin & Martin, 2006). Task boards, Kanban boards (brainstorming boards with user stories and requirements) and Burn-down charts (timeline of development activities) (Cohn, 2004) (VersioneOne, 2011) are agile tools that will support self-organizing teams in steering their activities.
Communication, Interactions & Collaboration
According to Truex et al. (1999) IS emergence is driven by constant social nego-tiation and communication. In this way decision processes and outcomes emerge through interaction with the problem context and with stakeholders. This implies
10 | Alaa & Fitzgerald
that agile development provides elements of social construction that facilitate the CAS principle of “interaction”. For example, agile practices support communica-tion and collaboration represented in agile modeling sessions (Ambler, 2002a), user participation, onsite customers, focus groups, prototyping and pair programming (Beck, 2000), and others.
Focus on Working Software
Highsmith (2002) and Baskerville & Pries-Heje (2004) emphasize the use of compo-nents and the use of integrated CASE tools as a way to focus on the quick delivery of working software. This can be explained in complexity terms where emergence of order happens through integration and reinforcement of local arrangements and structures to form global structures and the stability of their mutual reproduction (Küppers, 1999). In fact, the break down of the software into working components will speed up the development process so that it is more responsive to change (“unpredictability” principle), as well as facilitating the “coevolution” of the different parts of the system towards maximizing the benefits or profit of the organization, and in that way the whole will be greater than the sum of its parts (“non-linearity” principle).
Shorter Development Cycles
Short-cycle time systems development is achieved through shorter development cy-cles and release-oriented parallel development (Baskerville & Pries-Heje, 2004). This assures fast movement, small scale orientation and thus quick response. This is im-portant as due to the “unpredictability” principle of CAS, future conditions cannot be predicted and therefore it is important to respond quickly to current situations and address imperatives before they become obsolete.
Embrace Change in Requirements & Frequent Delivery of Products
Baskerville et al. (1992) suggest fast movement based on small releases and short-term planning for short-term needs. This refers to the “unpredictability”, “feedback” and “learning” principles in CAS terminology. For this reason planning games that are based on identifying short-term plans is proposed (Beck, 2000), as well as Sprint Back logs and Sprint Planning meetings that cover planning over 30 consecutive calendar days (Martin & Martin, 2006). These plans will evolve and become adjusted with time to the particu-lar context, which maps to the “adaptation as fit to environment” principle of CAS.
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 11
Continuous Reflection & Adjustment/Iterative Development
Feedback and adjustment are important elements of agile development, for example Schwaber (2002) suggests iterative development and Highsmith (2000) suggests learn-ing loops. From a complexity lens this supports the “feedback” and “learning” principle. Through frequent delivery of products (frequent releases) developers know when devia-tion from the goal has occurred and thus make any necessary corrections, which maps to the “edge of chaos” principle. Highsmith (2000) suggests development to follow “spec-ulate-collaborate-learn” that he refers to as an adaptive cycle, with the aim to adapt to ever-changing environments (”adaptation as fit to environment” CAS principle).
Flexibility of S/W Architecture
Component-based development and code re-factoring are suggested to facilitate flexibility of software code and architecture (MacCormack, 2001; Highsmith, 2002; Beck, 2000). This in turn decreases the degree of “connectivity and interdependence” within systems components. In CAS agents’ interactions result in networks that will then morph into high-level arrangements that will enable complex structures and pro-cesses to coevolve (Lichtenstein & McKelvey, 2004). This facilitates adaptive behavior as supported by CAS principles.
Simplicity
The Agile Alliance (2001) argues for simplicity that they define as the art of maximiz-ing the amount of work not done, which is essential for rapid response and adapta-tion. Highsmith (2002) identifies three facets of simplicity, simplicity as minimalism e.g., minimal documentation, remove redundancy, e.g., cleaned-up sketches etc., sim-plicity in design, e.g., simple designs, feature-based designs, abstractions and sim-plicity in strategy e.g., mission-focused plans, etc. This supports the CAS principle of “simple rules”. This can also be explained as simplicity enhances diversity that creates more possibilities to react flexibly as agent networks combine the most different vari-ants, characters and functions (Webb et al., 2004).
Technical Excellence
Highsmith (2002) argues that good discipline is still required in order to be flexible without descent into anarchy, which represents the CAS concept of “edge of chaos”. Cockburn (2000) suggests quality controls; these can be realized by quality reviews and testing. Baskerville et al. (2002) identify practices to balance quality and agility;
12 | Alaa & Fitzgerald
including frequent peer and customer reviews and frequent unit, integration & regres-sion testing. Boehm (2002) argues that agile methods need to be applied with care, this implies that minimal use of development methods or generative development rules are still required (Cockburn, 2000, Highsmith & Cockburn, 2001).
A mapping of the literature that covers agile development and their inter-relation to CAS principles as identified in this section is provided in Table 3.
CONCEPTUALIZING AGILE DEVELOPMENT AS A COMPLEX ADAPTIVE SYSTEM
Practices of agile development have been found to be the operationalization of the complexity concepts as discussed in the previous section. For example, ac-cording to CAS principles, interactions and social construction are critical intan-
gible drivers for change and adaptation, as supported by agile practices like JAD (Joint Application Design) workshops, agile modeling sessions, prototyping, pair program-ming and others. This is beside development practices that support short-term ori-entation, speed in development and flexibility, such as short-term plans, time-boxing, shorter development cycles, focus on working software, etc. that operationalize CAS principles of unpredictability, non-linearity, connectivity & interdependence and co-evolution. The concept of edge of chaos is also particularly highlighted as it ensures reliability and rigor of agile development such that it will not lead to chaotic situa-tions. Edge of chaos represents the balance between strict adherence to structure and absolute freedom, and from the above analysis it relates to continuous reflection, adjustments, and technical excellence principles. These are represented in iterations, learning loops, frequent-releases, as well as testing techniques, customer reviews and minimal generative rule-type methods.
Thus, via this analysis it is argued that the identification of the CAS principles that have been adopted in agile IS development (Table 3) provides theoretical support to agile development. Next, this is built upon to achieve a generic representation of complex adaptive information systems referred to as CAIS (Complex Adaptive Infor-mation Systems). This provides a theoretical representation of CAIS (Figure 2) showing the means and detail by which modern IS development methods like agile implicitly utilize the complexity concepts to enable emergence and cope with change.
CAS theory implies that agents that form the system continuously interact with each other and with the global environment to form stable, global patterns that suit the current settings in the system and the environment as depicted in Figure 1. The
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 13
emergence process is governed by CAS principles; unpredictability, non-linearity, di-versity, interactions, edge of chaos, adaptation as fit to environment, system inter-connectivity, feedback, learning and pattern recognition, historicity and path depen-dence, self-organization, coevolution and simple rules. Similarly, agile information systems development can be conceptualized using CAS where agents that represent project stakeholders, development team, users and software system components con-tinuously undergo interactions to adapt to changing requirements. The mapping of CAS principles to agile development practices shows that all reviewed agile practices surveyed from literature support CAS, but it was found that some CAS principles are less well developed in agile and are not fully addressed in agile practice. Figure 2 provides an interpretation of agile development as a CAS as it shows CAS principles and agile practices that support them (attached with the principle). The CAS principles that are not fully addressed in agile are highlighted in bold and they have vague ag-ile practices attached to them, for example empowered teams, flexibility of software architecture, embrace change in requirements, etc., or no attached practices. In the following we will suggest how to introduce new agile practices to support not well spelled out CAS principles. Furthermore, as shown in Figure 2, CAS principles can be classified as related to environment, like unpredictability and adaptation as fit to en-vironment, as related to agent properties, like diversity, non-linearity, connectivity and simple rules, as related to selection like self-organization, coevolution and edge of chaos, and as related to iterations and feedback, learning and pattern recognition, etc. In future studies we will investigate how such grouping could provide a further high-level abstraction of CAIS theory and underlying agile practices.
The not spelled out CAS principles are; diversity, inter-connectivity, self-organi-zation, adaptation as fit to the environment, pattern recognition, and historicity and path dependence, and are now discussed in further detail:
• The principle of diversity needs to be further addressed in agile development, as currently it is just represented in the simplicity approach. Diverse interest and knowledge will stimulate agents to explore different regions in the system’s state space (Heylighen, 2001). This can happen through variant skill development within agile teams and supportive training workshops.
• According to Axelrod and Cohen (1999) adaptability is the outcome of a selection process that leads to an improvement according to some measure of success where current events heavily influence the probabilities of later events (historicity & path dependence). Pattern recognition implies that learning is an essential part of adaptive development. Thus, it is important to utilize previous experiences and
14 | Alaa & Fitzgerald
Agile
Prin
ciple
sAg
ile P
ract
ices
Supp
ortiv
e IT
Liter
atur
e Su
ppor
tive C
AS
Prin
ciple
sIn
terp
reta
tion
from
CAS
Per
spec
tive
Peop
le-or
iente
d/se
lf-or
ganiz
ing,
empo
were
d te
ams
Mot
ivate
d, em
powe
red
team
s, co
llecti
ve o
wner
ship
, de
legat
ory m
anag
emen
t, 40
hou
r/wee
kOp
en w
ork a
rea
Task
boa
rd, K
anba
n Bo
ard,
Burn
down
char
ts
High
smith
& C
ockb
urn
(200
1) Fo
wler
(200
3)Be
ck (2
000)
Mar
tin &
Mar
tin (2
006)
Versi
onOn
e Sur
vey (
2008
) (2
011)
Cohn
(200
4)
Self-
orga
nizat
ion
(P11
)Se
lf-or
ganiz
atio
n pr
incip
le im
plies
the
empo
werm
ent o
f peo
ple/
deve
lope
rs. Th
is ac
hieve
s m
anoe
uvra
bility
and
innov
atio
n so
that
crea
tive
actio
ns an
d de
signs
evol
ve as
resp
onse
to th
e pr
oblem
situ
atio
n, no
t dict
ated
bef
oreh
and.
Com
mun
icatio
n, In
tera
ction
s &
Colla
bora
tion
User
par
ticipa
tion,
Onsit
e cu
stom
ers
Daily
stan
d up
mee
tings
Focu
s gro
ups
JAD
(Joint
App
licat
ion
Desig
n)Ag
ile m
odell
ing se
ssio
nsRe
trosp
ectiv
esPa
ir pr
ogra
mm
ingPr
otot
yping
Truex
et a
l. (19
99)
Mar
tin (1
991)
Versi
onOn
e Sur
vey (
2011
)Be
ck (2
000)
Hi
ghsm
ith (2
002)
Ambl
er (2
002a
)M
artin
& M
artin
(200
6)
Inte
racti
ons (
P4)
Agile
prin
ciples
that
emph
asize
com
mun
icatio
n &
colla
bora
tion
are g
roun
ded
in th
e CAS
prin
ciple
of “I
nter
actio
ns b
etwe
en ag
ents”
. This
pro
vides
th
e evid
ence
why
pra
ctice
s like
use
r par
ticipa
tion,
parti
cipat
ive d
esig
n, pa
ir pr
ogra
mm
ing, e
tc.,
facilit
ate a
mea
n of
inte
racti
ons a
nd co
ordi
natio
n, an
d th
us le
vera
ge em
erge
nt re
spon
se.
Focu
s on
work
ing
S/W
Custo
miza
tion,
Reus
abilit
yCo
mpo
nent
sIn
tegr
ated
CAS
E too
ls
High
smith
(200
2)Ba
sker
ville
& Pr
ies-H
eje
(200
4)
Unpr
edict
abilit
y (P
1)
Nonli
near
ity (
P2)
Coev
olut
ion
(P12
)
Brea
k dow
n of
the s
oftw
are i
nto
work
ing
com
pone
nts w
ill sp
eed
up th
e dev
elopm
ent p
roce
ss
so th
at it
bec
omes
mor
e res
pons
ive to
chan
ge
(“unp
redi
ctabi
lity” p
rincip
le), a
s well
as fa
cilita
te th
e “co
evol
utio
n” o
f the
diff
eren
t par
ts of
the s
yste
m
and
in th
at w
ay th
e who
le wi
ll be g
reat
er th
an th
e su
m o
f its
parts
(“no
n-lin
earit
y” p
rincip
le).
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 15
Tabl
e 3
Agile
Prin
ciple
s, Re
late
d Ag
ile P
ract
ices &
Sup
porti
ve C
AS P
rincip
les
Agile
Prin
ciple
sAg
ile P
ract
ices
Supp
ortiv
e IT
Liter
atur
e Su
ppor
tive C
AS
Prin
ciple
sIn
terp
reta
tion
from
CAS
Per
spec
tive
Shor
ter
deve
lopm
ent
cycle
s/Spe
ed in
de
velo
pmen
t
Shor
t cyc
lesPa
ralle
l/con
curre
nt
deve
lopm
ent
Time b
oxing
Prot
otyp
ingAu
tom
ated
Buil
dsVe
locit
y
Bask
ervil
le &
Pries
-Heje
(2
004)
High
smith
(200
0)
Mar
tin (1
991)
Ve
rsion
One S
urve
y (20
11)
Unpr
edict
abilit
y (P
1)Un
pred
ictab
ility o
f tur
bulen
t env
ironm
ents
can
be ad
dres
sed
in so
ftwar
e dev
elopm
ent b
y sho
rter
deve
lopm
ent c
ycles
. This
assu
res f
ast m
ovem
ent
and
thus
quic
k res
pons
e and
adjus
tmen
t to
unpr
edict
able/
fast-c
hang
ing co
ntex
ts.
Embr
ace C
hang
e in
Requ
irem
ents
Shor
t-ter
m p
lannin
g,Pla
nning
gam
eSp
rint B
ack l
ogs
Bask
ervil
le et
al. (
1992
) Be
ck (2
000)
Mar
tin &
Mar
tin (2
006)
Unpr
edict
abilit
y (P
1)Ad
apta
tion
as fi
t to
envir
onm
ent
(P6)
Embr
ace c
hang
e in
requ
irem
ents
as re
flecte
d in
shor
t-ter
m p
lannin
g wi
ll im
prov
e ada
ptat
ion
and
adjus
tmen
t to
fast c
hang
ing en
viron
men
ts. Th
is is
in co
ntra
st to
follo
wing
a pr
e-pl
an w
ith w
ell d
efine
d lo
ng-te
rm as
sum
ptio
ns th
at co
uld o
bsol
ete s
oon.
Frequ
ent D
elive
ry
of P
rodu
ctsSm
all re
lease
s, In
crem
ents
Cont
inuou
s int
egra
tion
High
smith
(200
0)M
artin
& M
artin
(200
6)Un
pred
ictab
ility
(P1)
Feed
back
(P8
)Le
arnin
g (P
9)Ad
apta
tion
as fi
t to
envir
onm
ent
(P6)
Thro
ugh f
requ
ent d
elive
ry of
softw
are re
pres
ente
d in
small
relea
ses &
incre
men
ts th
e dev
elopm
ent
team
can a
ssur
e quic
k and
gra
dual
resp
onse
. This
wi
ll fac
ilitate
feed
back
, lear
ning,
and
adjus
tmen
t to
unpr
edict
able
requ
irem
ents.
Cont
inuou
s re
flecti
on &
ad
justm
ent /
Itera
tive
deve
lopm
ent
Itera
tions
, Lea
rning
loop
, Ad
aptiv
e cyc
le ,
Itera
tion
plan
ning
Daily
Stan
d up
mee
tings
Frequ
ent-r
eleas
esLe
arnin
g en
viron
men
t (pi
lot
proj
ects,
pro
totyp
ing, fo
cus
grou
ps)
Cont
inuou
s re-
deve
lopm
ent
Schw
aber
(200
2)Hi
ghsm
ith (2
000)
Be
ck (2
000)
Versi
onOn
e Sur
vey (
2008
) (2
011)
Feed
back
(P8
)Le
arnin
g (P
9)Ed
ge o
f cha
os (
P5)
Thro
ugh
itera
tive d
evelo
pmen
t & fr
eque
nt so
ftwar
e re
lease
s dev
elope
rs ad
just t
he p
rodu
ct at
the
end
of ea
ch it
erat
ion/
proj
ect c
ycle.
Bas
ed o
n th
is ne
xt, su
bseq
uent
iter
atio
ns o
r rele
ases
will
be
guid
ed. T
his su
ppor
ts “fe
edba
ck” a
nd “l
earn
ing”
princ
iples
. It al
so re
flects
“edg
e of c
haos
” con
cept
; i.e
. dev
iatio
ns fr
om th
e goa
l (rat
iona
le of
the s
yste
m)
can
be m
onito
red
and
nece
ssar
y cor
recti
ons c
an b
e ta
ken.
16 | Alaa & Fitzgerald
Agile
Prin
ciple
sAg
ile P
ract
ices
Supp
ortiv
e IT
Liter
atur
e Su
ppor
tive C
AS
Prin
ciple
sIn
terp
reta
tion
from
CAS
Per
spec
tive
Flexib
ility o
f S/W
Ar
chite
cture
Com
pone
nt-b
ased
de
velo
pmen
tRe
-usa
ble s
oftw
are
Code
Re-
facto
ring
Bask
ervil
le et
al. (
1992
) M
acCo
rmac
k (20
01)
High
smith
(200
2)Be
ck (2
000)
Conn
ectiv
ity &
int
erde
pend
ence
(P7)
Co-e
volut
ion
(P12
)
Softw
are fl
exib
ility r
epre
sent
ed in
com
pone
nt-b
ased
de
velo
pmen
t, re
usab
le so
ftwar
e etc.
dec
reas
es th
e de
gree
of “
conn
ectiv
ity an
d int
erde
pend
ence
” be
twee
n pr
oduc
t com
pone
nts a
nd in
that
way
fac
ilitat
e quic
k re-
arra
ngem
ents,
adjus
tmen
ts &
co-
evol
utio
n of
diff
eren
t sys
tem
par
ts.
Simpl
icity
Abstr
actio
ns, M
etap
hor
Simpl
e des
igns
Feat
ure-
base
d de
sign
Miss
ion-
focu
sed
plan
s M
inim
al do
cum
enta
tion
Agile
Man
ifesto
(200
1)Be
ck (2
000)
High
smith
(200
2)
Simpl
e rule
s (P1
3)Di
versi
ty (P
3)Sim
plifie
d re
pres
enta
tion
of so
ftwar
e atta
cks
com
plex
ity as
supp
orte
d by
the “
simpl
e rule
s” pr
incip
le, e.
g., si
mpl
e rep
rese
ntat
ions
of b
usine
ss
func
tions
will
mak
e com
plex
syste
ms m
ore
man
agea
ble t
han
com
plica
ted
desig
ns. S
impl
icity
indire
ctly i
nflue
nces
dive
rsity,
as it
enco
urag
es
deve
lope
rs to
com
bine
their
diff
eren
t com
pete
ncies
.
Tech
nical
exce
llenc
eTe
sting
(unit
, inte
grat
ion
& re
gres
sion
testi
ng)
Test-
drive
n de
velo
pmen
t (T
DD)
Revie
ws (p
eer &
custo
mer
re
views
)Qu
ality
revie
w/Q/
ACo
ding
Stan
dard
sM
inim
al m
etho
ds/
gene
rativ
e rule
s
High
smith
(200
0)
Bask
ervil
le et
al. (
2002
) Co
ckbu
rn (2
000)
Ve
rsion
One S
urve
y (20
11)
High
smith
& C
ockb
urn,
(200
1) B
oehm
(200
2)Ag
ile M
anife
sto (2
001)
Edge
of c
haos
(P5)
Disc
iplin
e is s
till re
quire
d to
guid
e and
cont
rol
the d
evelo
pmen
t pro
cess
, this
is to
ensu
re n
o de
scen
d int
o ch
aos w
hile f
acilit
ating
emer
genc
e and
ad
apta
tion.
This
repr
esen
ts th
e con
cept
of “
edge
of
chao
s”. D
iscip
line i
n so
ftwar
e dev
elopm
ent c
an
be re
flecte
d in
quali
ty co
ntro
ls, e.
g., fr
eque
nt p
eer
and
custo
mer
revie
ws, fr
eque
nt te
sting
, as w
ell as
fo
llowi
ng d
evelo
pmen
t guid
eline
s and
/or m
inim
al de
velo
pmen
t met
hods
.
Tabl
e 3
Agile
Prin
ciple
s, Re
late
d Ag
ile P
ract
ices &
Sup
porti
ve C
AS P
rincip
les (
cont
inue
d).
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 17
accumulative knowledge as part of agile development and not let it happen by chance. In this regard, Dabrowski et al. (2011) suggest the codification of informal notes, brain storming ideas, instant messaging discussion topics and other tacit knowledge items as a way to trace events’ history and support agile decision making activities.
• The principle of adaptation as fit to environment needs to be further harnessed in agile development as currently it is just represented spontaneously in planning games and sprint planning. Contextual analysis techniques need to be included in agile requirements specification beside business process modeling techniques that focus on data and process modeling. A global requirements exploration tool was introduced by Alaa, et al. (2006) to help outline high-level requirements that a typical e-business project could encounter. This guided analysts in adapting to various project contexts.
• It is noted in the literature that agile development often faces personal barriers, represented in shortage of mid-level management capable of playing the role of agile champions. Traditional high-level management typically feels a loss of control in delegating decisions, and traditional developers will resist taking extra responsibilities associated with hybrid teams and collective ownership (VesionOne, 2011; Karekar et al., 2011). In this regard it is suggested that training workshops are used to leverage collaboration and delegatory management skills by improving collaboration, pattern recognition and thus self-organization capabilities.
• Emphasis on inter-connectivity of system components and flexibility of architecture has attracted attention in some agile literature. For example, Faber (2010) introduces the concept of skeletal design where system architects quickly decide on system sub-components with their interfaces and messaging to ensure architecture loose coupling. These techniques have not yet been formally adopted into agile methods, as they might conflict with agile principles that focus on coding and the quick delivery of working software that might hinder the extensive design of software architecture (Abrahamsson et al., 2010).
CONCLUSIONS
The research presented in this paper sits in the mainstream of theoretical and explanatory Information Systems (IS) change models. IS emergence phenom-ena was conceptualized by building on a profound theoretical framework, that
of complex adaptive systems theory (CAS). This analysis identified IS emergence characteristics that would make information systems development more responsive to change. It is argued that the derived framework (Table 3) represents a theoreti-
18 | Alaa & Fitzgerald
cal foundation for agile IS development, based on CAS principles, that are found to facilitate fast response and emergence. This is a significant improvement on most development methods that in practice simply hope that certain beneficial emergent properties will happen, without providing a theoretical basis or evidence. Based on this analysis a Complex Adaptive Information System (CAIS) model is suggested that can help analyze emergence attributes in complex software projects, as it identifies generic IS emergence mechanisms supported by CAS (Figure 2). This provides a basis for reliable guidelines to help various software projects realize emergence and agility.
The framework also highlights areas that might usefully be improved by the agile community based on better utilization of CAS principles (attributes in bold in Figure 2). These emergence characteristics are currently missing in the practice or not spelled out clearly. In particular the research identifies possible agile development improve-ments based on:
• Diversity building techniques and workshops• Skill development for delegatory management and self-organization• Global contextual analysis techniques• Coarse-grained software architecture design techniques• Codification of unstructured tacit knowledge, represented in notes, instant
messaging feedback and opinions, etc. that would support pattern recognition, historicity and path dependence.
These additions we argue are of particular importance as agile development is increasingly widely adopted, even in large-scale global software development projects (VersionOne, 2011). This research is ongoing and future work will focus on refining and validating the generic CAIS framework.
REFERENCESAbrahamsson P., Babar M., Kruchten P. (2010). “Agility and architecture: Can they coexist?”
IEEE Software Magazine, ISSN 0740-7459, 27(2): 16-22.Agile Alliance (2001). “Manifesto for Agile Software Development,” http://www.
agilemanifesto.org.Alaa, G., Appleman, J., and Fitzgerald, G. (2006). “Process support for agile requirements
modelling and maintenance of e-projects,” Proceedings of 12th America’s Conference on Information Systems, http://aisel.aisnet.org/amcis2006/.
Ambler, S. (2002). “Agile requirements modeling,” http://www.agilemodeling.com/essays/agileRequirements.htm.
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 19
FeedbackRegularities
Feedback
Global Pattern
InteractionsPattern recognition
Historicity & Path dependence
Learning
Continuous reflection & adjustment
People-oriented/self-organizing, empowered teams Self-organization Unpredictability
Shorter development cycles
Focus on working software
Embrace change in requirements
Frequent delivery of products
Adaptation as Fit to Environment
Frequent delivery of products
Embrace change in requirements
Co-evolution
Focus on working software
Flexibility of S/W architecture
Edge of chaos
Iterative development
Technical excellence/Quality controls
Communication, Interactions & Collaboration Interactions
Agile agents • Project stakeholders
• Development team
• Users
• Software system components
Non-linearity
Focus on working software
Simple rules
Simplicity
Connectivity
Flexibility of S/W architecture
Diversity
Figure 2 Toward Complex Adaptive Information System (CAIS) (Reflects IS Emergence Characteristics of Agile Development)
Ambler, S. (2002). “Answering the ‘where is the proof that agile methods work’ question,” http://www.agilemodeling.com/essays/proof.htm.
Anderson, P. (1999). “Complexity theory and organization science,” Organization Science, ISSN 1047-7039, 10(3): 216-232.
Andriani, P. (2003). “Evolutionary dynamics of industrial clusters,” in Middleton-Kelly (ed.), Complex Systems and Evolutionary Perspectives on Organizations: The Application of Complexity Theory to Organizations, ISBN 9780080439570, pp. 127-146.
20 | Alaa & Fitzgerald
Augustine, S. and Woodcock, S. (2003). “Agile project management,” http://www.ccpace.com/Resources/documents/AgileProjectManagement.pdf.
Axelrod, R. and Cohen, M.D. (1999). Harnessing Complexity, ISBN 9780465005505.Baskerville, R. and Pries-Heje, J. (2004). “Short-cycle time systems development,” Information
Systems Journal, ISSN 1350-1917, 14(2): 237-264.Baskerville, R., Cavallari, M., Hjort-Madsen, K., Pries-Heje, J., Sorrentino, M., and Virili, F. (2005).
“Extensible architectures: The strategic value of service-oriented architecture in banking,” Proceedings of ECIS 2005, http://aisel.aisnet.org/ecis2005/61/.
Baskerville, R., Levine, L., Pries-Heje, J., Ramesh, B., and Slaughter, S. (2002). “Balancing quality and agility in internet speed software development,” Proceedings of Twenty-Third International Conference on Information Systems, http://aisel.aisnet.org/icis2002/89/.
Baskerville, R., Travis, J., and Truex, D. (1992). “Systems without method,” in K. Kendall, K. Lyytinen and J. DeGross (eds.), The Impact of Computer Supported Technologies on Information Systems Development, ISBN 9780444896490, pp. 241-260.
Beck, K. (2000). Extreme Programming Explained: Embrace Change, ISBN 9780321278654.Benbya, H. and McKelvey, B. (2006). “Toward a complexity theory of information systems
development,” Information Technology & People, ISSN 0959-3845, 19(1): 12-34.Boehm, B. (2002). “Get ready for agile methods with care,” Computer, ISSN 0018-9162, 35(1):
64-69.Cockburn, A. (2000). “Balancing lightness with sufficiency,” American Programmer, ISSN 1048-
5600, http://alistair.cockburn.us/Balancing+lightness+with+sufficiency.Cohn, M. (2004). User Stories Applied: For Agile Software Development, ISBN 9780321205681.Conboy, K. and Fitzgerald, B. (2004). “Toward a conceptual framework of agile methods:
A study of agility in different disciplines,” Proceedings of the 2004 ACM Workshop on Interdisciplinary Software Engineering Research, ISBN 9781581139884, pp. 37-44.
Dabrowski, M., Acton, T., Drury, M., Conboy, K., and Dabrowska, A. (2011) “Agile software development: A case for adequate decision support tools,” Proceedings of 17th America’s Conference on Information Systems, http://aisel.aisnet.org/amcis2011_submissions/299/.
Dooley, K. (1997). “A complex adaptive systems model of organization change,” Nonlinear Dynamics, Psychology, and Life Science, ISSN 1090-0578, 1(1): 69-97.
Dybå, T. and Dingsøyr, T. (2008) “Empirical studies of agile software development: A systematic review,” Information and Software Technology, ISSN 0950-5849, 50(9-10): 833-859.
Faber, R. (2010). “Architects as service providers,” IEEE Software Magazine, ISSN 0740-7459, 27(2): 33-40.
Fowler, M. (2005). “The new methodology,” http://www.martinfowler.com/articles/newMethodology.html.
Heylighen, F. (2001). “The science of self-organization and adaptivity,” The Encyclopedia of Life Support Systems, http://pespmc1.vub.ac.be/papers/EOLSS-Self-Organiz.pdf.
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 21
Highsmith, J. (2000). “Retiring lifecycle dinosaurs,” Software Testing & Quality Engineering Magazine, http://www.cmcrossroads.com/sites/default/files/magazine/file/2012/Smzr1XDD1813filelistfilename1_0_0.pdf.
Highsmith, J. (2002). Agile Software Development Ecosystems, ISBN 9780201760439.Highsmith, J. and Cockburn, A. (2001). Agile Software Development: The Business of
Innovation, IEEE Software Magazine, ISSN 0740-7459, 34(9): 120-122.Holland, J.H. (1995). Hidden Order, ISBN 9780201442304.Kant, I. (1970). Universal Natural History and Theory of the Heavens, ISBN 9781935238911.Karekar, C., Tarrell, A., and Fruhling, A. (2011). Agile Development at ABC: What Went Wrong?
Proceedings of the Seventeenth Americas Conference on Information Systems, http://aisel.aisnet.org/amcis2011_submissions/283/.
Kauffman, S.A. (1993). The Origins of Order, ISBN 9780195079517.Keller, K. (1996). “Socio-technical systems and self-organization,” ACM SIGOIS Bulletin, ISSN
0894-0819, 17(1): 6-7.Küppers, G. (1999). “Self-organization: The emergence of order from local interactions
to global structures,” SEIN (Simulating Self-organizing Innovation Networks) project, University of Bielefeld, Germany, July 1999.
Krill, P. (2010). “Agile software development is now mainstream,” InfoWorld, http://www.infoworld.com/d/developer-world/agile-software-development-now-mainstream-190.
Lichtenstein, B. and McKelvey, B. (2004). “Complexity science and computational models of emergent order: What’s there? What’s missing?” Paper presented at the Academy of Management Annual Meeting, http://www.billmckelvey.org/documents/working%20papers/2004%20Lichtenstein,%20McKelvey%2804%29-Complexity%20Science%20&%20Computational%20Models%20of%20Emergent%20Order--Jan.pdf.
MacCormack, A. (2001). “Developing products on ‘internet time’: The anatomy of a flexible development process,” Management Science, ISSN 0025-1909, 47(1): 133-150.
Martin, C. and Martin, M. (2006). Agile Principles, Patterns, and Practices in C#, ISBN 9780131857254.
Martin, J. (1991). Rapid Application Development, ISBN 9780023767753.McKelvey, B. (1999). Self-organization, complexity catastrophe, and microstate models at the
edge of chaos,” in J.A.C. Baum and B. McKelvey (eds.), Variations in Organization Science: In Honor of Donald T. Campbell, ISBN 9780761911265, pp. 279-307.
Middleton-Kelly, E. (2003). “Ten principles of complexity and enabling infrastructures,” in Middleton-Kelly (ed.), Complex Systems and Evolutionary Perspectives on Organizations: The Application of Complexity Theory to Organizations, ISBN 9780080439570.
Montuori, A. (2003). “The complexity of improvisation and the improvisation of complexity: Social science, art and creativity,” Human Relations, ISSN 0018-7267, 65(2): 237-255.
Ren, M. and Lyytinen, K. (2008). “Building enterprise architecture agility and sustenance with SOA,” Communications of the Association for Information Systems (CAIS), ISSN 1529-3181, 22(4): 75-86.
22 | Alaa & Fitzgerald
Riehle, D. (2000). “A comparison of the value systems of adaptive software development and extreme programming: How methodologies may learn from each other,” Proceedings of the First International Conference on Extreme Programming and Flexible Processes in Software Engineering, http://www.riehle.org/computer-science/research/2000/xp-2000.pdf.
Schwaber, C. and Fichera, R. (2005). “Corporate IT leads the second wave of agile adoption,” Forrester Research, http://www.forrester.com/.
Schwaber, K. (2002). “The impact of agile processes on requirements engineering,” Proceedings of the International Workshop on Time Constrained Requirements Engineering, http://cf.agilealliance.org/articles/system/article/file/906/file.pdf.
Stacey, R., Griffin, D., and Shaw, P. (2000). Complexity and Management: Fad or Radical Challenge to Systems Thinking? ISBN 9780415247610.
Truex, D., Baskerville, R. and Klein, H. (1999). “Growing systems in emergent organizations,” Communications of the ACM, ISSN 0001-0782, 42(8): 117-123.
VersionOne (2008). “3rd annual survey, 2008: The state of agile development,” http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf.
VersionOne (2011). “6th annual survey, 2011: The state of agile development,” http://www.versionone.com/state-of-agile-survey-results/.
Webb, C. and Lettice, F. (2005). “Facilitating learning and sense-making with complexity science principles in organizations by means of a complexity starter kit,” Proceedings of the Complexity, Science and Society Conference, 11th-14th September, 2005, Centre for Complexity Research, University of Liverpool, UK.
Webb, C., Wohlfart, L., Wunram, M. and Ziv, A. (eds.) (2004). “The secrets of six principles: A guide to robust development of organizations,” ISBN 9789659071012. http://library.uniteddiversity.coop/Systems_and_Networks/Secret_of_Six_Principles.pdf.
Yin, R. (1984). Case Study Research: Design and Methods, ISBN 9781412960991.
Ghada Alaa is currently full-time Software Architecture Specialist at the Egyptian Cabinet’s Information and Decision Support centre. Prior to that she held posts as Assistant Professor at the School of Informatics and Computer Science, the British University in Egypt (2008-2011) and R&D Manager at the Information Technology Institute, the Ministry of Communications & Information Technology, Egypt (2007-2008). She holds a Ph.D. in Web-based Systems Development & Evolution, Brunel University, UK (2006). Her research interests lie in the area of Web development methodologies in particular agile, and software engineering design frameworks, evolution processes and metrics for modern Web applications to include Web 2.0, Service-oriented architecture (SOA) and cloud computing.
E:CO Vol. 15 No. 3 2013 pp. 1-23 | 23
Guy Fitzgerald is Professor of Information Systems in the School of Business and Economics at Loughborough University, UK. He has also worked at Brunel University, Birkbeck College, University of London, Oxford University and Warwick. His research interests are concerned with the effective management and development of information systems and he has published widely in these areas. He has undertaken a number of cases studies in organizations that have used information systems to enable significant organizational transformation. He has also undertaken research in relation to strategy, executive information systems, outsourcing, and flexibility. He is founder and coeditor of the Information Systems Journal (ISJ) from Blackwell/Wiley. He is also author (with David Avison) of a major text from McGraw-Hill entitled Information Systems Development: Methodologies, Techniques and Tools, now in its Fourth Edition. He has been President of UKAIS and Vice-President (Research) of AIS (the Association for Information Systems).