Understand terms before you add them to your terminology arsenal! I believe we should all abide by this golden rule. Not knowing about a technology, science, trend or concept, is better than having a wrong understanding of it.
Working in a discipline like IT, I hear a lot of jargons, terms and idioms and having good relations and interactions within the IT medium; I am consistently noticing terms misuse. Hence I decided to start a new series in my blog: Misconception.
It is very common these days the use of “Agile” to describe any iterative software development process or methodology, which is a flagrant assault and bold underestimation of Agile.
Agile, is way beyond that. In addition to being incremental and iterative, Agile encourages frequent inspection and adaptation. It is a project management and leadership philosophy that encourages teamwork, self-organization and accountability. A Set of engineering best practices for rapid delivery of high-quality software and a business approach that aligns development of customer needs.
Agile, is concerned with building high-quality software in small iterations. The progress of the project is measured in terms of features and working software. Customer involvement is vital for any project success.
Agile is not a single methodology or process. In fact it is a family of development processes including, but not limited to: Feature Driven Development (FDD), SCRUM, Lean Development and Extreme Programming (XP). However, the main principles behind them remain the same:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
It is worth mentioning that Agile is behind a lot of success stories in software development history. I have personally achieved some of them, though they might not be mentioned in history :). However, wise project managers know that there is no silver bullet. As project managers our judgment on choosing the most appropriate methodology plays a big role in projects success.