Article Preview
Top1. Introduction
Today there are two decidedly different approaches to Information Systems Development (ISD). The traditional approach is characterized by terms like waterfall, sequential, or even spiral development. These approaches are often called “plan-based” or “plan-driven” in the literature (Boehm & Turner, 2004). They emphasize planning, sequential execution, documentation, specific roles and predictability (Balijepally, Mahapatra, & Nerur, 2006). Philosophically, traditional approaches have sought to impose order and control on the software development effort (Bonner, 2010).
In contrast to the plan-driven approach are agile methodologies. Rather than control and prediction, agile methods seek to react and adapt (Cockburn & Highsmith, 2001). Agile methods have their roots in the 1990s culminating in a manifesto developed in 2001, which stated the essential concepts at the heart of agile methods. The manifesto lists a set of twelve guiding principles developed by the Agile Alliance (Beck et al., 2001). Among the emphases in the twelve principles are that working software code, early and frequent delivery of working software code, daily collaboration between users and developers, trust in front line workers (business and technical), and face-to-face communication is better than written documentation. In addition, progress is measured by working software, consistent pacing rather than periodic heroic efforts, emergent rather than prescriptive design/architecture, and reflective team adjustments. The enduring value and importance of the principles found in the Agile Manifesto is confirmed by a recent study performed by Williams (2012). Balijepally et al. (2006) provide a good summary comparison of agile with traditional waterfall methods. Table 1 illustrates these ideas.
Table 1. Waterfall and agile methodology comparison
Agile methods are a rapidly growing means of developing software. As of 2011, in the U.S. about 40% of companies use agile (Glaiel, Moulton, & Madnick, 2013). In a 2009 Forrester Research report cited by West, Grant, Gerush and D’Silva (2010) found that about 30% of software developers in a sample of over 1,000 are using some form of agile methods.
Since industry and management are interested in using agile approaches, it seems appropriate to identify factors that influence developer preference. Not every developer likes agile. Agile attitude measurement instruments would be valuable as management assesses individual developer preference for agile. To effectively assign developers to appropriate projects and integrate them into agile projects it is important to know if training will be effective and if so what factors increase agile preference. Since there are no definitive empirical research or theory that informs us on the factors that influence preference for agile methods among software developers, we embarked on our study to address this gap.
In this article, we present a qualitative study of factors influencing preference for agile software development methods from a developers’ perspective. We begin with a review of recent research on the adoption and developer preferences for systems development methodologies and identify the need in-depth research on agile methods adoption from a developer perspective. We then present an overview of Grounded Theory research approach used to address the research goal. Next we present a detailed overview of our findings and a conceptual model that describes developer preferences for agile methods. Discussion of the findings with implications for research and practice are then discussed before concluding remarks.