Agile

Agile is a set of four values based on 12 principles intended to create better software products through people-centric project management.

The Agile Manifesto

Manifesto for Agile Software Development

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.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

© 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.

Agile principles

Principles behind the Agile Manifesto

We follow these principles:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

© 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.

Agile Resources

Deeper Knowledge on Agile Software Development

User Stories

User Stories

The philosophy behind gathering, writing, and using user stories

Scrum

Scrum

A lightweight framework for product and project management

Broader Topics Related to Agile Software Development

Project Management

Project Management

Resources for Project Management

Software Development Lifecycle (SDLC)

Software Development Lifecycle (SDLC)

The lifecycle of software applications, from concept to revenue

Product Management

Product Management

Resources for Product Management

Agile Software Development Knowledge Graph