12 December 2011

AGILE SOFTWARE DEVELOPMENT - Ms. Saranya V, Assistant Professor, IT Dept

AGILE SOFTWARE DEVELOPMENT

Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto introduced the term in 2001.

Incremental software development methods have been traced back to 1957. In 1974, a paper by E. A. Edmonds introduced an adaptive software development process. So-called lightweight software development methods evolved in the mid-1990s as a reaction against heavyweight methods, which were characterized by their critics as a heavily regulated, regimented, micromanaged, waterfall model of development. Proponents of lightweight methods (and now agile methods) contend that they are a return to development practices from early in the history of software development.

Early implementations of lightweight methods include Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM) (1995). These are now typically referred to as agile methodologies, after the Agile Manifesto published in 2001.

Twelve principles underlie the Agile Manifesto, including:

·        Customer satisfaction by rapid delivery of useful software

·        Welcome changing requirements, even late in development

·        Working software is delivered frequently (weeks rather than months)

·        Working software is the principal measure of progress

·        Sustainable development, able to maintain a constant pace

·        Close, daily co-operation between business people and developers

·        Face-to-face conversation is the best form of communication (co-location)

·        Projects are built around motivated individuals, who should be trusted

·        Continuous attention to technical excellence and good design

·        Simplicity

·        Self-organizing teams

·        Regular adaptation to changing circumstances