An introduction to Agile Software Development Methodologies
Compiled by Sunil Agrawala,PMP (References www.agilemanifesto.org )
Agile methods such as Scrum, Crystal, Lean and Kanban, Pairwise Programming, Extreme Programming (XP), Feature-Driven Development (FDD) etc. are the latest buzzwords in software development field. Let us try to understand the “Agile” methods in comparison to “Waterfall” model. We at Nirmalya Labs have a matured adoption of Agile Scrum Methodology for our software and product development.
Companies are investing billions of dollars today in developing new software applications and products for their businesses. It is important to develop these software applications in a timely and cost effective manner with the right features which finally work for the business.
Software development may sound very easy and simple and no rocket science to the technical communities, but the hard fact is immense amount of money is wasted in developing software products which do not remain relevant by the time they are ready for use. The market conditions would have changed, the user preferences would have changed and the final product in many cases become redundant.
There are some classical challenges in software development namely:
This is where a group of experienced software developers came up with a new philosophy and development methodology which can address the above challenges effectively. The objective was to provide Agility and Flexibility in the software development methods which ultimately will result in development of a well-designed, working and useful software.
The Agile Manifesto as published by these group of software developers can be read at www.agilemanifesto.org
Let us try to understand the basic philosophy behind the manifesto which was published by them which looks as below:
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
That is, while there is value in the items on
the right, we value the items on the left more.
They proposed to define a new development methodology which essentially will follow the above manifesto. They further defined 12 principles to be followed which will lead to the manifestation of the Agile Philosophy.
Principles behind the Agile Manifesto (Source www.agilemanifesto.org )
Agile Methods have become widely adopted and practiced. Keeping the above Agile Manifesto and Principles in mind, different instances of Agile Development Methods have evolved.
Some of the most popular Agile methods include
We will try to understand the basics of each of the above Agile Methods in the next article.