Agile is a set of values and principles that encourage adaptive, iterative and more responsive software development. It is not a set of rules. More than a methodology, agile is a mindset. It prescribes and encourages some practices aimed at improving software quality and thereby ensuring customer satisfaction. Self-organizing cross-functional teams deliver better results quickly. Dividing the work into bite sizes offers many advantages. Frequent collaboration among the developers and stakeholders increases the confidence and comfort level of all. High quality working software and just enough documentation should be the goal and not the reverse. Customer needs, market conditions and technology change. So, organizations should be better equipped to embrace changes. Bringing about changes to an existing product should not be a tedious process. But a part of the normal workflow. Although not free from criticisms, the vast majority in the software development industry agree that agile is the way forward.