ScholarGate
Asistent

Agile Software Development

Agile software development is a family of iterative, incremental methods that prioritize working software, customer collaboration, and rapid response to change over comprehensive up-front planning and documentation.

Găsește o temă cu PaperMindÎn curândFind papers & topics
Tools & resources
Descarcă prezentarea
Learn & explore
VideoÎn curând

Definition

Agile software development is an approach in which requirements and solutions evolve through short, time-boxed iterations of cross-functional teams that deliver working increments and continuously incorporate stakeholder feedback.

Scope

This topic covers the values and principles of the Agile Manifesto; concrete frameworks such as Scrum, Extreme Programming (XP), and Kanban; practices including short iterations, continuous feedback, test-driven development, pair programming, refactoring, and frequent releases; and the roles, ceremonies, and artifacts that structure agile teams.

Core questions

  • What values and principles distinguish agile methods from plan-driven development?
  • How do frameworks such as Scrum and XP structure iterations, roles, and feedback?
  • Which engineering practices make frequent, reliable delivery possible?
  • When and how well do agile methods scale to large or distributed organizations?

Key theories

Agile Manifesto values
Four value statements prioritize individuals and interactions, working software, customer collaboration, and responding to change, with twelve supporting principles emphasizing early and continuous delivery and welcoming changing requirements.
Scrum framework
Scrum organizes work into fixed-length sprints with defined roles (product owner, scrum master, developers), artifacts (product and sprint backlogs, increment), and events (sprint planning, daily scrum, review, retrospective) to deliver value incrementally.
Extreme Programming practices
XP couples short iterations with disciplined engineering practices such as test-driven development, pair programming, continuous integration, collective ownership, and refactoring to keep the cost of change low.

Clinical relevance

Agile methods are now the dominant approach in commercial software, improving responsiveness to changing markets and enabling frequent value delivery; their effectiveness depends on engineering discipline, team empowerment, and a culture of feedback rather than ceremony alone.

Evidence & guidelines

The Scrum Guide provides a widely adopted definition of the Scrum framework, and the Agile Manifesto remains the foundational statement of agile values; scaling frameworks such as SAFe and LeSS extend agile practices to large organizations.

History

Lightweight methods such as Scrum and XP emerged in the 1990s as reactions to heavyweight, documentation-driven processes. In 2001 seventeen practitioners published the Agile Manifesto, unifying these methods under shared values; agile subsequently became mainstream and spawned scaling frameworks in the 2010s.

Debates

Scaling agile to large organizations
Whether agile principles retain their benefits when scaled through frameworks like SAFe is contested; critics argue heavyweight scaling reintroduces bureaucracy, while proponents see structured coordination as necessary for large enterprises.

Key figures

  • Kent Beck
  • Ken Schwaber
  • Jeff Sutherland
  • Martin Fowler
  • Alistair Cockburn

Related topics

Seminal works

  • beck2001
  • beck2004
  • schwaber2020

Frequently asked questions

Is agile the opposite of disciplined engineering?
No. Effective agile depends heavily on engineering discipline such as automated testing, continuous integration, and refactoring; the agile emphasis is on adapting to change quickly, not on abandoning rigor.
What is the difference between Scrum and agile?
Agile is the broad set of values and principles; Scrum is one specific framework that implements them with particular roles, events, and artifacts. XP and Kanban are other agile frameworks with different emphases.

Methods for this concept

Related concepts