Desktop version

Home arrow Computer Science arrow Ecosystems and Technology: Idea Generation and Content Model Processing

AGILE SOFTWARE DEVELOPMENT

We provide a short description of the Agile Scrum methodology which is the most frequently used method in the organizations studied. We also review the current literature on the effect of about Agile methods on team innovation.

AGILE SOFTWARE METHODOLOGIES AND SCRUM

Agile software development methods such as XP (eXtreme Programming), Scrum, DSDM (Dynamic Systems Development Method), and FDD (Feature-Driven Development) are different sets of practices created with the intent to improve a software team’s abilities to embrace and respond to changing requirements (Beck and Andres, 2005; Coad et al., 1999; Schwa- ber and Beedle, 2002; Stapleton, 1997). They were developed as a reaction to plan-driven, structured approaches since the agile practices focus more on lean processes and dynamic adaptation than on detailed front-end plans and heavy documentation (Nerur and Balijepally, 2007).

Software development agility is the ability of the team to respond efficiently and effectively to changes in user requirements. It is crucial to Agile development methods, which embed the ability to respond rapidly, and flexibly to changes in the business and technical domains (Hender- son-Sellers and Serour, 2005; Highsmith and Cockburn, 2001). It also includes such aspects as lightness or leanness (i.e., minimal formal processes) (Cockburn, 2007) and related notions such as nimbleness, quickness, dexterity, suppleness, and or alertness (Erickson et al., 2005). In essence, Agile software methodologies propose a ‘light’ approach that promotes maneuverability as well as speed of response (Cockburn, 2007). Hence, the business value is created by delivering working software to customers at regular, short intervals (Dingsoyr et al., 2012). At the core of Agile practices, is the idea of self-organizing teams implementing Agile practices, designed to allow changes in requirements at any stage in the development process and to involve customers (or their representatives) in the whole development process. Teams are the basic units responsible for implementation of Agile practices in order to realize effective outcomes and eliminate waste and inefficiencies (Conboy, 2009) while sustaining organizational learning (Lyytinen and Rose, 2006).

A number of studies and practitioners in the information systems community, report the increasing popularity of Agile development methods and the implications of their diffusion (e.g., Conboy, 2009; Sarker et al., 2009). According to Forrester Research (West et al., 2010), Agile development methods have achieved wide adoption. A Forrester/Dr. Dobbs Global Developer Technographics® survey administered in Q3 2009 to IT professionals shows that 35% responding to describe their development process as Agile, with Scrum the most frequent Agile methodology.

The Scrum development process was introduced by Schwaber (1995) and is derived from the new product development methodology described in Takeuchi and Nonaka (1986) which was presented as a new approach to increase speed and flexibility. Scrum methods foresee delegation of decision making authority to the operational layer in the organization, and reliance on self-managing teams and a focus on reciprocal trust and respect, and the ability to self-organize to respond to problems (Cockburn and Highsmith, 2001). Feedback loops are key to this process, and Scrum results in a context where it is difficult to plan ahead (Dyba and Dings0r, 2008). In Scrum the software is implemented incrementally (in sprints) starting with a planning session and ending with a review. The items to be developed are prepared by the product owner and listed in the product backlog. Daily stand up meetings are held to coordinate the team’s work. One team member, acting as Scrum master, is responsible for solving the problems preventing the team from working effectively.

 
Source
< Prev   CONTENTS   Source   Next >

Related topics