Historical Roots of Agile Methods: Where Did "Agile Thinking" Come From?

The appearance of Agile methods has been the most noticeable change to software process thinking in the last fifteen years [16], but in fact many of the “Agile ideas” have been around since 70’s or even before. Many studies and reviews have been conducted about Agile methods which ascribe their emergence as a reaction against traditional methods. In this paper, we argue that although Agile methods are new as a whole, they have strong roots in the history of software engineering. In addition to the iterative and incremental approaches that have been in use since 1957 [21], people who criticised the traditional methods suggested alternative approaches which were actually Agile ideas such as the response to change, customer involvement, and working software over documentation. The authors of this paper believe that education about the history of Agile thinking will help to develop better understanding as well as promoting the use of Agile methods. We therefore present and discuss the reasons behind the development and introduction of Agile methods, as a reaction to traditional methods, as a result of people's experience, and in particular focusing on reusing ideas from history

[1]  BernsteinLarry Characterizing people as non-linear, first-order components in software development, is written by Alistair A.R. Cockburn and published in Humans and Technology, HaT Technical Report 1999.03, Oct 21, 1999. , 2010 .

[2]  Martin Fowler,et al.  The new methodology , 2001, Wuhan University Journal of Natural Sciences.

[3]  Scott Ambler,et al.  Quality in an Agile World , 2005 .

[4]  A Survey of Agile Development Methodologies , 2004 .

[5]  Tom Gilb Evolutionary Delivery versus the "waterfall model" , 1985, SOEN.

[6]  Linda Levine Reflections on Software Agility and Agile Methods: Challenges, Dilemmas, and the Way Ahead , 2005, Business Agility and Information Technology Diffusion.

[7]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[8]  Jennifer Stapleton,et al.  Dsdm: The Method in Practice , 1997 .

[9]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[10]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[11]  G. R. Gladden Stop the life-cycle, I want to get off , 1982, ACM SIGSOFT Softw. Eng. Notes.

[12]  Craig Larman,et al.  Agile and Iterative Development: A Manager's Guide , 2003 .

[13]  Edsger W. Dijkstra,et al.  The humble programmer , 1972, CACM.

[14]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[15]  Apurva Jain,et al.  Agile Meets CMMI: Culture Clash or Common Cause? , 2002, XP/Agile Universe.

[16]  Grady Booch,et al.  Object Solutions: Managing the Object-Oriented Project , 1995 .

[17]  James A. Highsmith,et al.  Adaptive Software Development: A Collaborative Approach to Managing Complex Systems , 1999 .

[18]  Antoine de Saint-Exupéry Wind, Sand and Stars , 1939 .

[19]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[20]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[21]  Mark C. Paulk,et al.  Agile Methodologies and Process Discipline , 2002 .

[22]  Daniel D. McCracken,et al.  Life cycle concept considered harmful , 1982, ACM SIGSOFT Softw. Eng. Notes.

[23]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[24]  Laurie Williams,et al.  Extreme Programming and Agile Methods — XP/Agile Universe 2002 , 2002, Lecture Notes in Computer Science.

[25]  Eric Lefebvre,et al.  Java Modeling Color with Uml: Enterprise Components and Process with Cdrom , 1999 .

[26]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[27]  Mikael Lindvall,et al.  An introduction to agile methods , 2004, Adv. Comput..

[28]  Edward Edward Yourdon,et al.  Death March: The Complete Software Developer's Guide to Surviving Mission Impossible Projects , 1999 .

[29]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[30]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[31]  A. Cockburn,et al.  Agile Software Development: The People Factor , 2001, Computer.

[32]  James Martin,et al.  Rapid Application Development , 1991 .

[33]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[34]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

[35]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .