Following are some guidelines about Agile philosophy that I wrote for my team back in September 2012.

I also wrote a popular StackExchange answer about Agile project planning which you might fine useful if you’re thinking about implementing Agile.


Agile software development is a philosophy for managing software projects and teams. It has similarities to lean manufacturing principles for “eliminating waste”.

The philosophy centers around the agile manifesto:

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

  • Individuals and interactions over Processes and tools
  • Working software over Comprehensive documentation
  • Customer collaboration over Contract negotiation
  • Responding to change over Following a plan

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

Of the various software development methodologies out there, Scrum and Extreme programming particularly try to follow agile software development principles.

Lean software development is also rapidly gaining support within the agile community.

Agile practices and principles

Without choosing to follow any one defined methodology for project management, here are some common practices that could be adopted by an agile team: