Agile Methodology
Often misunderstood and maligned, "Agile Methodologies" is a term covering a group of methodologies which hold a number of key values in common. Agile does not discard the software development practices developed over the past 40 years, but provides a new framework in which to operate - one which better reflects the characteristics and needs of modern business.
Agile is the term applied to a number of software methodologies which apply effectiveness principles to the world of software development. Specifically, and according to the Agile Manifesto, the values embraced by the founders of the Agile Alliance are as follows:
Manifesto for Agile Software Development
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.
|
Kent Beck |
James Grenning |
Robert C. Martin |
© 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.
The New Methodology is an article by Martin Fowler providing a survey of the background and current landscape in Agile methodologies. He provides some background regarding the pressing need for a change in approach from the traditional 'waterfall' approaches, from both the developer and customer perspective. An overview of some of the main Agile methods is provided, including Xtreme Programming (XP), Crystal, Open Source, Adaptive Software Development (ASD), SCRUM, Feature Driven Development (FDD), Dynamic System Development Method (DSDM).
Some brief comment is also made on RUP (Rational Unified Process), and also on the impact of Agile on Testing.