On Understanding Preference for Agile Methods among Software Developers

On Understanding Preference for Agile Methods among Software Developers

David Bishop (Dakota State University, Madison, SD, USA), Amit V. Deokar (The Roberts J. Manning School of Business, University of Massachusetts Lowell, Lowell, MA, USA) and Surendra Sarnikar (California State University East Bay, CA, USA)
Copyright: © 2016 |Pages: 25
DOI: 10.4018/IRMJ.2016070102
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Agile methods are gaining widespread use in industry. Although management is keen on adopting agile, not all developers exhibit preference for agile methods. The literature is sparse in regard to why developers may show preference for agile. Understanding the factors informing the preference for agile can lead to more effective formation of teams, better training approaches, and optimizing software development efforts by focusing on key desirable components of agile. This study, using a grounded theory methodology, finds a variety of categories of factors that influence software developer preference for agile methods including self-efficacy, affective response, interpersonal response, external contingencies, and personality contingencies. Each of these categories contains multiple dimensions. Preference rationalization for agile methods is the core category that emerges from the data. It informs that while the very essence of agile methods overwhelmingly and positively resonates with software developers, the preference is contingent on external and personality factors as well.
Article Preview

1. 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.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 30: 4 Issues (2017)
Volume 29: 4 Issues (2016)
Volume 28: 4 Issues (2015)
Volume 27: 4 Issues (2014)
Volume 26: 4 Issues (2013)
Volume 25: 4 Issues (2012)
Volume 24: 4 Issues (2011)
Volume 23: 4 Issues (2010)
Volume 22: 4 Issues (2009)
Volume 21: 4 Issues (2008)
Volume 20: 4 Issues (2007)
Volume 19: 4 Issues (2006)
Volume 18: 4 Issues (2005)
Volume 17: 4 Issues (2004)
Volume 16: 4 Issues (2003)
Volume 15: 4 Issues (2002)
Volume 14: 4 Issues (2001)
Volume 13: 4 Issues (2000)
Volume 12: 4 Issues (1999)
Volume 11: 4 Issues (1998)
Volume 10: 4 Issues (1997)
Volume 9: 4 Issues (1996)
Volume 8: 4 Issues (1995)
Volume 7: 4 Issues (1994)
Volume 6: 4 Issues (1993)
Volume 5: 4 Issues (1992)
Volume 4: 4 Issues (1991)
Volume 3: 4 Issues (1990)
Volume 2: 4 Issues (1989)
Volume 1: 1 Issue (1988)
View Complete Journal Contents Listing