WHAT IS AGILE

WHAT IS AGILE

In software development , agile practices (sometimes written "Agile")[1] include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s) /end user(s) ,[2] [3] Popularized in the 2001 Manifesto for Agile Software Development,[4] these values and principles were derived from and underpin a broad range of software development frameworks , including Scrum and Kanban .[5] [6]

While there is much anecdotal evidence that adopting agile practices and values improves the effectiveness of software professionals, teams and organizations, the empirical evidence is mixed and hard to find.[7] [8] [9]

During the 1990s, a number of lightweight software development methods evolved in reaction to the prevailing heavyweight methods (often referred to collectively as waterfall ) that critics described as overly regulated, planned, and micromanaged .[15] These lightweight methods included: rapid application development (RAD), from 1991;[16] [17] the unified process (UP) and dynamic systems development method (DSDM), both from 1994; Scrum , from 1995; Crystal Clear and extreme programming (XP), both from 1996; and feature-driven development (FDD), from 1997. Although these all originated before the publication of the Agile Manifesto, they are now collectively referred to as agile software development methods.[6]

In 2001, seventeen software developers met at a resort in Snowbird , Utah to discuss lightweight development methods. They were: Kent Beck (Extreme Programming), Ward Cunningham (Extreme Programming), Dave Thomas (PragProg , Ruby), Jeff Sutherland (Scrum), Ken Schwaber (Scrum), Jim Highsmith (Adaptive Software Development), Alistair Cockburn (Crystal), Robert C. Martin (SOLID ), Mike Beedle (Scrum), Arie van Bennekum , Martin Fowler (OOAD and UML ), James Grenning, Andrew Hunt (PragProg, Ruby), Ron Jeffries (Extreme Programming), Jon Kern , Brian Marick (Ruby, TDD ), and Steve Mellor (OOA ). Together they published the Manifesto for Agile Software Development.[4]

In 2005, a group headed by Cockburn and Highsmith wrote an addendum of project management principles, the PM Declaration of Interdependence,[21] to guide software project management according to agile software development methods.

In 2009, a group working with Martin wrote an extension of software development principles, the Software Craftsmanship Manifesto , to guide agile software development according to professional conduct and mastery.

In 2011, the Agile Alliance created the Guide to Agile Practices (renamed the Agile Glossary in 2016),[22] an evolving open-source compendium of the working definitions of agile practices, terms, and elements, along with interpretations and experience guidelines from the worldwide community of agile practitioners.

Based on their combined experience of developing software and helping others do that, the authors of the manifesto declared that they valued:[4]

The Agile movement is not anti-methodology, in fact many of us want to restore credibility to the word methodology. We want to restore a balance. We embrace modeling, but not in order to file some diagram in a dusty corporate repository. We embrace documentation, but not hundreds of pages of never-maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment. Those who would brand proponents of XP or SCRUM or any of the other Agile Methodologies as "hackers" are ignorant of both the methodologies and the original definition of the term hacker.


要查看或添加评论,请登录

社区洞察

其他会员也浏览了