What is Agile ? 

Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto introduced the term in 2001. – WikiPedia

Principles behind the Agile Manifesto: There are 12 principles being followed in agile.

“This is not a technical approach – it is business driven” – John McLean: IBM VP of WebSphere Connectivity Development and Director of the IBM Hursley Laboratory

“Use of continuous stakeholder feedback to deliver high quality and consumable code through user stories and a series of stable, short, time boxed iterations” – IBM SWG: Carl Kessler: Vice President of Worldwide Software Development for IBM’s Enterprise Content Management

Agile Characteristics :

  • Just enough planning
  • Time-boxed iterations
  • Velocity
  • Alternate Routes
  • Handling Surprises
  • Motivating the Team
  • Differing Stakeholder Goals
  • Workspace Considerations
  • Repeatable, Sustainable Iterations

“Agile” describes a series of related methodologies. Most famous & adapted ‘Agile’ Methodologies are:

  • Scrum by Ken Schwaber and Jeff Sutherland
  • eXtreme Programming(XP) by Kent Beck,Ward Cunningham,Ron Jeffries
  • CrystalMethods by Alistair Cockburn
  • Feature Driven Development by Jeff DeLuca
  • Dynamic Systems Development Method by DSDM Consortium
  • Kanban Lean Systems and Software by Lean Systems & Software Consortium


(Source : VersionOne – State of Agile Development Survey Results )