Google

Agile Software Development

Background
In spring 2000, conference of gurus organised by Kent Beck agreed the need of Light methodologies. First meeting of Lightweight Method leaders were held in September, 2000. Later, in Feb 2001, second meeting was held at which they agreed the need for an alternative to document driven heavyweight process.

Agile processes when compared to their counterparts are often called lightweight, light, lean, internet speed while rigorous processes are called heavyweight, disciplined, bureaucratic, industrial strengths, plan-driven, document-driven.

Manifesto Statement
We are uncovering better ways of developing software and helping others to do so.
We value:

  • people and interactions over processes and tools
  • working software over comprehensive documentation
  • customer collaboration over contract negotiations
  • responding to change over following a plan
Misconceptions Addressed by Agile Manifesto
  • process is skill
  • documentation is understanding
  • formality is disciplined
  • in small teams, individuals are interchangeable
Principles of Manifesto
  • satisfy customer with frequent delivery (upto 6 weeks) of quality tested software ==> Measure of Progress
  • build projects around motivated individuals. Give them environment and support they need and trust them to do job
  • quality work is from self organising teams who communicate face-to-face regularly and monitor and adjust behaviour
  • welcome changing requirements, even in late development stages
Summary
  • short increments
  • experienced developer
  • onsite user experts
  • 2-8 people in a room
  • fully automated regression testing tools
  • agile methods are adaptive rather than predictive, people oriented rather than process oriented
A development method is agile when it is incremental, cooperative, adaptive, straight forward

Examples
XP, Scrum, DSDM