What is Agile Development

History

Agile Development is a rather recent name to a set of development approaches that arose in the mid-1990s as a reaction against “heavyweight” methods – indeed, they were originally called “lightweight”.

Agile development methodologies arose largely because of the misapplication of highly structured “waterfall” development approaches in a heavily regulated, regimented and micro-managed attempt to commoditise the process of software creation.  This was seen to be a major contributing factor in the failure of software projects and the significant reduction in productivity. 

A case can be made that agile and iterative development methods mark a return to development practice from early in the history of software development.

In 2001, 17 prominent figures in the field of agile development came together at the Snowbird ski resort in Utah to discuss ways of creating software in a lighter, faster, more people-centric way.  They coined the terms “Agile Software Development” and “agile methods”, and they created the Agile Manifesto, widely regarded as the canonical definition of agile development and accompanying agile principles.  Later, some of these people formed The Agile Alliance, a non-profit organisation that promotes agile development.

Principles

The functioning principles of Agile can be found in lean manufacturing and Six Sigma.  These concepts include error proofing, eliminating waste, creating flow, adding customer value, and empowering workers.

The concepts were first formally espoused in the 14 principles of the Toyota Way, the two pillars of the Toyota Production System (Just-in-time and smart automation), the 5S methodology, and Deming’s 14 points. These have been summarised in the seven points of lean software development.

Agile methods are a family of development processes, not a single approach to software development. 

The Agile Manifesto states:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

The Agile Manifesto Principles

That is, while there is value in the items on the right, agile methodologies value the items on the left more.

Some of the principles behind the Agile Manifesto are:

  • Customer satisfaction by rapid, continuous delivery of useful software
  • Working software is delivered frequently
  • Working software is the principal measure of progress
  • Even late changes in requirements are welcomed
  • Close, daily cooperation between business people and developers
  • Face-to-face conversation is the best form of communication (co-location)
  • Projects are built around motivated individuals, who should be trusted
  • Continuous attention to technical excellence and good design
  • Simplicity
  • Self-organising teams
  • Regular adaptation to changing circumstances

NEXT: Agile Practices