You are on page 1of 3

1/17/14

Agile software development - Wikipedia, the free encyclopedia

Agile software development is a group ofsoftware development methods based oniterative 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 tight interactions throughout the development cycle. The Agile Manifesto[1] introduced the term in 2001. Since then, the Agile Movement, with all its values, principles, methods, practices, tools, champions and practitioners, philosophies and cultures, has significantly changed the landscape of the modern software engineeringand commercial software development in the Internet times.
Contents [hide] 1 History 1.1 Predecessors 1.2 The Agile Manifesto 1.2.1 Agile values 1.2.2 Agile principles 1.3 Evolutions 2 Overview 3 Philosophy 3.1 Adaptive vs. Predictive 3.2 Iterative vs. Waterfall 3.3 Code vs. Documentation 4 Agile methods 4.1 Agile practices 4.2 Method tailoring 4.3 Comparison with other methods 5 Measuring agility 6 Experience and adoption 6.1 Surveys 6.2 Large-scale and distributed Agile 6.3 Agile offshore 7 Criticism 8 Applications Outside of Software Development 9 References 10 Further reading 11 External links

History

[edit] [edit]

Predecessors

Incremental software development methods have been traced back to 1957.[2] In 1974, a paper by E. A. Edmonds introduced an adaptive software development process.[3] Concurrently and independently the same methods were developed and deployed by the New York Telephone Company's Systems Development Center under the direction of Dan Gielan. In the early 1970s,Tom Gilb started publishing the concepts of Evolutionary Project Management (EVO), which has evolved into Competitive Engineering.[4]During the mid to late 1970s Gielan lectured extensively throughout the U.S. on this methodology, its practices, and its benefits. So-called lightweight agile software development methods evolved in the
en.wikipedia.org/wiki/Agile_software_development 1/3

1/17/14

Agile software development - Wikipedia, the free encyclopedia

mid-1990s as a reaction against the heavyweight waterfall-oriented methods, which were characterized by their critics as being heavily regulated, regimented, micromanaged and overly incremental approaches to development. Proponents of lightweight agile methods contend that they are a return to development practices that were present early in the history of software development.[2] Early implementations of agile methods include Rational Unified Process (1994), Scrum(1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development,Feature Driven Development (1997), and Dynamic Systems Development Method (DSDM) (1995). These are now collectively referred to as agile methodologies, after the Agile Manifesto was published in 2001.[5]

Martin Fow ler, w idely recognized as one of the key founders of the agile methods.

The Agile Manifesto

[edit]

In February 2001, 17 software developers (see below) met at the Snowbird, Utah resort, to discuss lightweight development methods. They published the Manifesto for Agile Software Development[1] to define the approach now known as agile software development. Some of the manifesto's authors formed the Agile Alliance, a non-profit organization that promotes software development according to the manifesto's values and principles. The well-known background picture of the Agile Manifesto website was taken by Ward Cunningham, who wanted to capture the moment during the weekend meeting at Snowbird.[6]

Agile values [edit]


The Agile Manifesto reads, in its entirety, as follows: 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.[1] Kent Beck Mike Beedle James Grenning Robert C. Martin Jim Highsmith Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas

Arie van Bennekom Andrew Hunt Alistair Cockburn Ward Cunningham Martin Fowler Ron Jeffries Jon Kern Brian Marick

2001, the above authors. This declaration may be freely copied in any form, but only in its entirety through this notice. The meanings of the manifesto items on the left within the agile software development context are:
en.wikipedia.org/wiki/Agile_software_development 2/3

1/17/14

Agile software development - Wikipedia, the free encyclopedia

Individuals and interactions in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming. Working software working software will be more useful and welcome than just presenting documents to clients in meetings. Customer collaboration requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important. Responding to change agile development is focused on quick responses to change and continuous development.[7]

en.wikipedia.org/wiki/Agile_software_development

3/3

You might also like