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