Team Practices Group/Glossary

NOTE: Definitions are a work-in-progress. Terms will be added or removed as needed.

Agile
"Agile" is a mindset, not a specific process. As such, it does not call for the use of any specifc practices or ceremonies. People often confuse the concept of agile development with specific agile methodologies such as Scrum or Extreme Programming, or with specific agile practices such as Incremental Development or Daily Standup meetings.

Agile was developed in the 1990's as a response to the dominant software development paradigms of the time. which were "No process" and "Heavy process". The heavy processes of the time, which were typically some form of Waterfall, often required massive requirements documents and massive design documents to be created and approved, before single line of code would get written. It was frustrating for both developers and customers, and the failure rate of software projects (whether they used heavy processes or no processes) was insanely high. At first, this new alternative approach was known as "lightweight" development, but that had negative connotations, so they renamed it to agile.

Agile changed the focus from the process and tools to the people doing the work. It de-emphasized documentation in favor of working code. And it embraced responding to change over following a plan. The highest priority of agile is to satisfy the customer, and another priority is "technical excellence and good design".

Agile Manifesto
A public declaration that launched the Agile movement

Backlog
A list of tasks (features, defect fixes, etc) that need to be done. Backlogs are a key artifact of the Scrum process. For details, see Product Backlog and Sprint Backlog.

Product backlog
In Scrum, the list of tasks that need to be completed in order to deliver a viable product, ordered by priority. This list can contain features, defect fixes, and non-functional requirements, and is managed by the Product Owner. Wikipedia article:

Scrum (a methodology) *
Wikipedia article:

Sprint backlog
In Scrum, the list of tasks (features, defects fixes, etc.) which the team has committed to complete during the current sprint. This backlog is managed by the team, and once a sprint has started, only the team can add items to the sprint backlog. Wikipedia article:

Waterfall
==== Online Agile glossaries: http://www.solutionsiq.com/agile-glossary/ http://agiledictionary.com http://www.telerik.com/teampulse/agile-vocabulary http://www.innolution.com/resources/glossary http://www.scrumstudy.com/search.asp ====