About The Agile Dictionary
Welcome to iteration zero of The Agile Dictionary! Our goal with this project is to provide broad, authoritative definitions of common Agile terms. You will note that each definition also includes a section titled “etymology,” where we capture the origins of the term wherever possible.
Visit the definitions by clicking on the letters in the navigation bar, or you can search for a term, above.
i is for...
In Scrum, any obstacle preventing a developer or team from completing work. One of the three focusing questions each member of a Scrum team answers during the daily Stand Up Meeting is: What impediments stand in your way?
Impediments may include such things as:
- A meeting to attend
- A lack of technical expertise.
- A technical issue (eg, a network is down).
Scrum co-founder Ken Schwaber declared removing impediments to be “The ScrumMaster’s top priority” in his 2002 book, Agile Software Development with Scrum.
Also: Big Visible Charts
In Agile Software Development, the preferred way of displaying data visualizations is to post them on the wall in the team’s common workspace (i.e., rather than logging them in a spreadsheet). Examples of information radiators include a burn down chart, a burn up chart, and a task board, although other types of chart are possible. These may also be referred to as Big Visible Charts.
Keeping information visible at all times promotes transparency (one of the three legs of Scrum).
Alistair Cockburn coined the term “information radiator” in 2000, and introduced it in his 2001 book, Agile Software Development.
Also: Sprint, Small Release, Timebox
The uninterrupted period of time during which an Agile development team performs work, most commonly one week to one month in length, at the end of which the team delivers “potentially shippable” product. This deliverable can be a new feature or feature set, or the improvement or expansion of an existing feature that was completed in an earlier iteration. In Agile, iterations typically begin with a planning meeting, and end with a retrospective.
In Scrum, the iteration is referred to as a Sprint. Extreme Programming refers to “small releases,” using this term interchangeably with the term iteration. Dynamic Systems Development Method (DSDM) refers to the iteration as a timebox.Etymology
According to Merriam-Webster Online, an iteration is “a procedure in which repetition of a sequence of operations yields results successively closer to a desired result.” In Agile, the definition of an iteration is broader, as the iteration may deliver either improvement upon existing functionality, or an increment or increments of new functionality.
Also: Incremental Delivery, Evolutionary Development, Timeboxing
A project life-cycle strategy used to reduce risk of project failure by dividing projects into smaller, more manageable pieces of “potentially shippable” product delivered over the course of a series of brief iterations, or sprints. Iterative development processes afford teams the ability to “inspect and adapt” their processes between iterations, leading to continuous improvement. The concept of iterative development stands in contrast to the traditional, waterfall method of “big design up front” followed by development and testing in strict sequence.
The concept of iterative development is central to all Agile fameworks, and is treated as essentially synonymous with Agile development. Extreme Programming recommends that teams make frequent, small releases, working in iterations of one to four weeks, with one week being the preferred interval. Scrum also recommends regular cycles, called sprints, of one to four weeks.
The concept of iterative software development was first described by Tom Gilb in his 1988 book, Principles of Software Engineering Management, where he referred to it as Evolutionary Development. It has gone on to permeate all Agile frameworks.