Identifying Common Characteristics in Fundamental,
Integrated, and Agile Software Development Methodologies
Sebastian Dyck
Accenture
sebastian.dyck@accenture.com
Tim A. Majchrzak
Department of Information Systems
University of M¨ unster
tima@ercis.de
Abstract
Many software development projects fail to reach their
goals or are aborted. This results in economic problems, lost
welfare, and may even endanger humans. In many cases, an
improper choice of the software development methodology
(SDM)—or not following an ideology towards development
at all—can be identified as the root problem. Choosing an
adequate methodology is no trivial attempt, though. Conflict-
ing aims of classical methodologies and agile approaches
add further complexity. We identify common characteristics
that can be found in each SDM and present a structured
approach for classification. We also present a mapping to
existing methodologies to underline the applicability of our
approach. This helps to compare fundamental, integrated,
and agile SDMs. Furthermore, we discuss our findings
and highlight their implications for choosing an SDM. We
thereby contribute to the theoretical body of knowledge and
provide advice for businesses at the same time.
1. Introduction
Failing software development projects are a common
observation. Even though only some failures are noticed by
the general public—such as the modernization of US taxing
authorities with a delay of eight years and a loss of (at
least) 1.6 billion USD [1]—studies of software development
failure fill up books [2], [3], [4]. Failure can be observed
independently of project kind and size, and industrial sector
[5]. This not only is an economical problem for affected
companies and a loss in welfare but in some cases hu-
mans are harmed directly. A well studied example is the
introduction of a new system for ambulance dispatching in
London. Delayed dispatching due to system problems has
been attributed for up to 30 fatalities [6], [7]. The observed
problems were systematic rather than coincidental [8].
There are two ways to address such problems. Firstly,
Software Engineering (SE) applies principles of the engi-
neering discipline to software development [9]. This specif-
ically concerns the architectural and technical background
of development. Examples for SE practices are the use
of design patterns [10] and the introduction of software
testing techniques [11]. Secondly, software development
methodologies (SDM) provide frameworks for managing de-
velopment projects. They do not primarily address technical
details of how software is developed but determine the orga-
nizational embedding of development and give guidelines for
organizing activities. Thereby, they can be used to decrease
the risk of project failure [12].
Since Benington proposed the Phase Model in 1956 [13],
a great number of development methodologies have been
made up [14], [15]. It is indisputable that no silver bullet
[16] has been found so far—development methodologies
should be chosen (and customized) in accordance with
projects’ characteristics [17], [18]. Applicability to problem
domains is often associated with agile development [19].
Discussions—particularly whether to develop agile, or not—
tend to be dogmatic [20], though, and no structured approach
for choosing development methodologies exists [21]. The
latter has been identified as a research objective [22].
Our work contributes to this research in several ways.
Firstly, we present the theoretical underpinning of software
development methodologies. We explicate the characteristics
that can be used to describe methodologies and provide
a framework for categorization. Secondly, we provide an
exemplary mapping to existing methodologies. This also
highlights differences and similarities between fundamental,
integrated, and agile approaches. Thirdly, we discuss our
findings to highlight implications and directions for future
research. And fourthly, we contextualize the topic by embed-
ding it into a survey of existing (yet limited) approaches.
The paper is structured as follows. Section 2 summarizes
existing work. Our research method is sketched in Section 3.
In Section 4 we develop common characteristics for software
development methodologies and map them to actual SDMs.
Section 5 presents a discussion of our findings and highlights
future work. In Section 6 we draw a conclusion.
2. Background and Existing Work
For illustration purposes, we relate our argumentation to
several widely used software development methodologies.
2012 45th Hawaii International Conference on System Sciences
978-0-7695-4525-7/12 $26.00 © 2012 IEEE
DOI 10.1109/HICSS.2012.310
5299
2012 45th Hawaii International Conference on System Sciences
978-0-7695-4525-7/12 $26.00 © 2012 IEEE
DOI 10.1109/HICSS.2012.310
5299