Agile software development

Agileagile developmentAgile ManifestoAgile methodsAgile project managementAgile managementagile methodologyagile methodologiesAgile AllianceAgile method
Agile software development comprises various approaches to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).wikipedia
436 Related Articles

Software development

developmentdevelopedapplication development
Agile software development comprises various approaches to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). 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.
The waterfall model is a traditional version, contrasted with the more recent innovation of agile software development.

Extreme programming

XPcollective code ownershipcourage in programming
These included: rapid application development (RAD), from 1991; 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, from 1997.
As a type of agile software development, it advocates frequent "releases" in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.

Feature-driven development

Feature Driven Developmentbest practicesFeature-driven software projects
These included: rapid application development (RAD), from 1991; 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, from 1997.
It is a lightweight or Agile method for developing software.

Alistair Cockburn

Cockburn, Alistair
In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Alistair Cockburn (born November 19, 1953) is an American computer scientist, known as one of the initiators of the agile movement in software development.

Kent Beck

In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Beck was one of the 17 original signatories of the Agile Manifesto, the founding document for agile software development.

Rapid application development

RADrapid developmentrapid prototyping
These included: rapid application development (RAD), from 1991; 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, from 1997.
Other approaches to rapid development include the adaptive, agile, spiral, and unified models.

Jeff Sutherland

In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Sutherland helped to write the Agile Manifesto in 2001.

Martin Fowler (software engineer)

Martin FowlerFowler, Martin
In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Martin Fowler (born 1963) is a British software developer, author and international public speaker on software development, specialising in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

Requirements analysis

requirementsanalysisrequirement analysis
Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, unit testing, and acceptance testing.
As an alternative to requirement lists, Agile Software Development uses User stories to suggest requirements in everyday language.

Mike Beedle

In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Mike (Miguel) Beedle was an American theoretical physicist turned software engineer who was a co-author of the Agile Manifesto.

Stephen J. Mellor

Stephen MellorSteve MellorMellor
In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Stephen J. Mellor (born 1952) is a British computer scientist, developer of the Shlaer–Mellor method and Executable UML, and signatory to the Agile Manifesto.

Build light indicator

A build light indicator may also be used to inform a team about the current status of their product development.
A build light indicator is a simple visual indicator used in Agile software development to inform a team of software developers about the current status of their project.

Scott Ambler

Scott W. Ambler
Scott Ambler states that documentation should be "just barely good enough" (JBGE), that too much or comprehensive documentation would usually cause waste, and developers rarely trust detailed documentation because it's usually out of sync with code, while too little documentation may also cause problems for maintenance, communication, learning and knowledge sharing.
He is an author of a number of books focused on the Disciplined Agile Delivery toolkit, the Unified process, Agile software development, the Unified Modeling Language, and Capability Maturity Model (CMM) development.

Pair programming

in pairsRemote pair programming
Specific tools and techniques, such as continuous integration, automated unit testing, pair programming, test-driven development, design patterns, behavior-driven development, domain-driven design, code refactoring and other techniques are often used to improve quality and enhance product development agility.
Pair programming is an agile software development technique in which two programmers work together at one workstation.

Behavior-driven development

Behavior driven developmentBDDbehavior-driven
Specific tools and techniques, such as continuous integration, automated unit testing, pair programming, test-driven development, design patterns, behavior-driven development, domain-driven design, code refactoring and other techniques are often used to improve quality and enhance product development agility.
In software engineering, behavior-driven development (BDD) is an Agile software development process that encourages collaboration among developers, QA and non-technical or business participants in a software project.

Project management

projectproject developmentproject manager
In 2005, a group headed by Cockburn and Highsmith wrote an addendum of project management principles, the PM Declaration of Interdependence, to guide software project management according to agile software development methods.
Several models of iterative and incremental project management have evolved, including agile project management, dynamic systems development method, extreme project management, and Innovation Engineering®.

Andy Hunt (author)

Andrew HuntAndy Hunt
In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Hunt co-authored The Pragmatic Programmer, ten other books and many articles, and was one of the 17 original authors of the Agile Manifesto and founders of the Agile Alliance.

Dave Thomas (programmer)

Dave ThomasDavid Thomas
In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Thomas coined the phrases 'Code Kata' and 'DRY' (Don't Repeat Yourself), and was an original signatory and author of The Manifesto for Agile Software Development.

Software craftsmanship

Software Craftsmanship Manifesto
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.
The Agile Manifesto, with its emphasis on "individuals and interactions over processes and tools" questioned some of these assumptions.

Adaptive software development

adaptive
Iterative and incremental development methods can be traced back as early as 1957, with evolutionary project management and adaptive software development emerging in the early 1970s.
As with RAD, ASD is also an antecedent to agile software development.

Acceptance testing

acceptance testUser acceptance testingacceptance tests
Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, unit testing, and acceptance testing.
Acceptance testing is a term used in agile software development methodologies, particularly extreme programming, referring to the functional testing of a user story by the software development team during the implementation phase.

Software development process

software development methodologydevelopment cyclesoftware development life cycle
The values and principles espoused in this manifesto were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.
Most modern development processes can be vaguely described as agile.

Disciplined agile delivery

Disciplined Agile Delivery(DAD)
DAD builds on the many practices espoused by advocates of agile software development, including scrum, agile modeling, lean software development, and others.

Jim Highsmith

In 2001, these seventeen software developers met at a resort in Snowbird, Utah to discuss these lightweight development methods: Kent Beck, Ward Cunningham, Dave Thomas, Jeff Sutherland, Ken Schwaber, Jim Highsmith, Alistair Cockburn, Robert C. Martin, Mike Beedle, Arie van Bennekum, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, and Steve Mellor.
Highsmith was one of the 17 original signatories of the Agile Manifesto, the founding document for agile software development.

Software bug

bugsbugsoftware bugs
An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration.
Agile software development involves frequent software releases with relatively small changes.