Article Preview
TopIntroduction
The failure of plan-driven waterfall-based methods in software projects experiencing significant uncertainty and frequent changes in requirements prompted the adoption of the Agile Manifesto (Highsmith & Cockburn, 2001) and the proposal of several agile methods such as Scrum (Schwaber, 2004) and XP (Beck, 2000). Agility is an organization’s ability to sense and respond swiftly to technical changes and new business opportunities (Lyytinen & Rose, 2005). Agile software development attempts to strip away as much of the heaviness, commonly associated with traditional software-development methodologies, as possible to promote quick response to changing environments, changes in user requirements, and accelerated project deadlines (Erickson, Lyytinen, & Siau, 2005).
Based on an extensive survey, Dyba & Dingsoyr (2008) concluded that most projects using agile methods are small and use XP, although recent research suggests that Scrum has become more popular (Hossain, Babar, & Paik, 2009; VersionOne, 2015; Vlietland & van Vliet, 2015). The question of how to select agile methods for projects that are not small and that encounter significant changes is still unanswered (Batra, Xia, VanderMeer, & Dutta, 2010). Recent research has focused on specific factors that affect agility such as communication (Hummel, Rosenkranz, & Holten, 2015; Korkala & Maurer, 2014), customer involvement (Hoda, Noble, & Marshall, 2011; Matook & Maruping, 2014), and self-organization (Hoda, Noble, & Marshall, 2013). However, there is a lack of systematic and comprehensive interpretation of agility facilitators that can be applied across projects of varied sizes. Furthermore, because of the lack of detailed interpretation of agility facilitators, it is difficult to assess organizational readiness and changes needed to successfully adopt agile practices.
The concern for size scalability is just one of the factors that affects agility in contemporary software development. The issue of agility permeates beyond the confines of one team working on a single project. Contemporary software development entails considerable innovation, discovery, change sensing, and change responding (Conboy, 2009; Vidgen & Wang, 2009) while addressing various people, project, process, and institutional factors such as project scope and size, stakeholder participation, resources, technology, and outsourcing (McLeod & MacDonell, 2011). The agility question often needs to be dealt with not only at the project level, but also at the organizational level. For example, the agile principle of employing only motivated individuals may be feasible for a specific project but it cannot be extended to organization-wide projects because we need to assume that participating individuals, for the most part, have average (but not necessarily low) motivation, which may be adequate for most projects (Batra, VanderMeer, & Dutta, 2011). Similarly, face-to-face communication may be feasible in a small, co-located project, but we should consider diverse communication modes for a larger project that may have an outsourced development element (Korkala & Maurer, 2014; Moore & Barnett, 2004).