doi: 10.1145/ 1743546.1743580
by sergio de cesare, mark Lycett, robert d. macredie, chaitaLi PateL, and ray PauL
examining Perceptions of agility in software development Practice OrganizatiOns undertaking sOftware develOpment
are often reminded that successful practice depends on a number of non-technical issues that are managerial, cultural and organizational in nature.4,8 These issues cover aspects from appropriate corporate structure, through software process development and standardization to effective collaborative practice. Since the articulation of the ‘software crisis’ in the late-1960s, significant effort has been put into addressing problems related to the cost, time and quality of software development via the application of systematic processes and management practices for software engineering. Early efforts resulted in prescriptive structured methods, which have evolved and expanded over time to embrace consortia/ company-led initiatives such as the Unified Modeling
Language and the Unified Process alongside formal process improvement frameworks such as the International Standards Organization’s 9000 series, the Capability Maturity Model and SPICE. More recently, the philosophy behind traditional plan-based initiatives has been questioned by the agile movement, which seeks to emphasize the human and craft aspects of software development over and above the engineering aspects.1,2 Agile practice is strongly collaborative in its outlook, favoring individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan (see Sidebar 1). Early experience reports on the use of agile practice suggest some success in dealing with the problems of the software crisis,12 and suggest that plan-based and agile practice are not mutually exclusive.10 Indeed, flexibility may arise from this unlikely marriage in an aim to strike a balance between the rigor of traditional plan-based approaches and the need for adaptation of those to suit particular development situations. With this in mind, this article surveys the current practice in software engineering alongside perceptions of senior development managers in relation to agile practice in order to understand the principles of agility that may be practiced implicitly and their effects on plan-based approach. details of the survey To elicit an understanding of current practice and perceptions related to agility, an online questionnaire was designed11 with the following objectives in mind: ˲ To review current software development practice. ˲ To assess perceptions related to agile principles and values. ˲ To examine the implicit/explicit integration of agile principles with mainstream development/organizational practice. 126
Ju n e 2 0 1 0 | vo l. 53 | n o. 6 | c om m u n ic at ion s of t h e acm
E-mail was used to contact senior development managers at 970 organizations in the United Kingdom, requesting that they participate in the research. The selection of participants was based on the contact list available and research noting that senior management influence productivity.3 The survey itself comprised of 32 questions that were organized into three sections addressing background/demographics, current software development practice, and perceptions related to agility. Online presentation of the questionnaire ensured that the section on current practice had to be completed before the section on perceptions of agility could be viewed and completed in order to reduce bias. Table 1 summarizes the demographics of the 62 organizations that responded to the online survey (equating to a response rate of 6%). Overall, the respondents had on average more than 10 years development experience, had variation in their development experience (having worked in more than 4 software development roles), and...