Examining perceptions of agility in software development practice

  • Authors:
  • Sergio de Cesare;Mark Lycett;Robert D. Macredie;Chaitali Patel;Ray Paul

  • Affiliations:
  • Brunel University, London, U.K.;Brunel University, London, U.K.;Brunel University, London, U.K.;Agilisys Ltd., London, U.K.;Brunel University and London School of Economics and Political Science, London, U.K.

  • Venue:
  • Communications of the ACM
  • Year:
  • 2010

Quantified Score

Hi-index 48.22

Visualization

Abstract

Introduction 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. 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. 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, and suggest that plan-based and agile practice are not mutually exclusive. 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.