What is agile?

I decided to write about Agile development and Agile practices days ago. But I coudn't have time to write. At last I've decided to write all as a series of short blog-posts.

In this post, I'll try to explain "what is agile?".


Agile term used to mean for thinking and reacting very quickly. In software industry, it has more meaning. Agile refers to a group of software development practices which let the software project adopt to change quickly. But Agile is not a method by itself. It's an umbrealla term for some iterative and incremental methodologies such as Scrum, XP (Extreme Programming), Crystal Clear, and DSDM.

In 2001, 17 agile evangelists met to discuss the need for lighter alternatives to the traditional methodologies and declared Agile manifesto. This manifesto defined four values and twelve principles for agile software development. The values are:
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
and 12 principles:
  1. Customer satisfaction through early and continuous delivery of valuable software
  2. Welcome changing requirements, even late.
  3. Deliver working software frequently (iterations)
  4. Daily communication between business people and development team
  5. Projects around motivated individuals
  6. Face-to-face conversation to convey information within development team.
  7. The primary measure of progress is working software
  8. Sustainable development pace
  9. Technical excellence and good design
  10. Simplicity
  11. Self-organizing teams
  12. Reflection on how to become more effective at regular intervals
These priorities and principles are still the basis of agile. But I think Agile is more than these things. I mean Agile methods. I'll write about all step by step. :)

0 comment(s):