This Agile glossary provides brief definitions of the central terms and concepts in Agile development and Agile project management. Click on the links for expanded definitions and related content. Ready to test your Agile knowledge? See our Agile concepts quiz.
October 2002: The Month in Review on SearchWebServices.com
Trick or Treat? This month we offer you both, a...(SearchSOA.com)
The human side of service orientation
ZapThink focuses its research on service orient...(SearchSOA.com)
An acceptance test confirms that a story is complete by matching a user action scenario with a desired outcome. Acceptance testing is also called beta testing, application testing, and end user testing.
The Agile Manifesto, also called the Manifesto for Agile Software Development, is a formal proclamation of four key values and 12 principles to guide an iterative and people-centric approach to software development.
Agile project management:
Agile project management is an iterative approach to planning and guiding project processes. Each iteration is reviewed and critiqued by the project team, which may include representatives of the client business as well as employees. Insights gained from the critique of an iteration are used to determine what the next step should be in the project.
Agile software development:
Agile software development is a methodology for the creative process that anticipates the need for flexibility and applies a level of pragmatism into the delivery of the finished product. Agile software development (ASD) focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they’re ready.
An Agile retrospective is a meeting that’s held at the end of an iteration in Agile software development (ASD). During the retrospective, the team reflects on what happened in the iteration and identifies actions for improvement going forward.
application lifecycle management (ALM):
Application lifecycle management (ALM) is the supervision of a software application from its initial planning through retirement. It also refers to how changes to an application are documented and tracked.
A bioteam is an organizational structure in which peers share power and responsibility and each member of the team is a both a leader and a follower. The structure is modeled after a fluid leadership structure found in nature.
burn down chart:
A burn down chart is a visual representation of the amount of work that still needs to be completed before the end of a project. The chart has a Y axis (work) and an X axis (time). Ideally, the chart illustrates a downward trend as the amount of work still left to do over time "burns down" to zero.
In project management, the bus number is the number of team members whose loss would endanger a project. For example, if there are two people on a team that are essential to a project's success, the project's bus number is two -- if those two team members were hit by a bus, the project would be in trouble.
continuous integration (CI):
Continuous integration (CI) is a software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base. The goal is to provide rapid feedback so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible.
In agile software development, a customer is a person with an understanding of both the business needs and operational constraints for a project. The customer provides guidance during development on what priorities should be emphasized.
DevOps is the blending of tasks performed by a company's application development and systems operations teams.
A domain model describes the application domain responsible for creating a shared language between business and IT.
Extreme Programming (XP):
Extreme Programming (XP) is a pragmatic approach to program development that emphasizes business results first and takes an incremental, get-something-started approach to building the product, using continual testing and revision. Agile is sometimes considered to be a spinoff methodology of XP.
Feature creep (sometimes known as requirements creep or scope creep) is a tendency for product or project requirements to increase during development beyond those originally foreseen, leading to features that weren't originally planned and resulting risk to product quality or schedule. Agile tends to reduce the danger of feature creep.
fist to five (fist of five):
Fist to five, also called fist of five, is a technique used by agile software development teams to poll team members and help achieve consensus. To use the technique, the team facilitator restates an action the group may make and asks the team to show their level of support. Each team member responds by holding up a closed fist or the number of fingers that corresponds to the level of support.
Jenkins is an open-source continuous integration software tool written in the Java programming language for testing and reporting on isolated changes in a larger code base in real time. The software enables developers to find and solve defects in a code base rapidly and to automate testing of their builds.
An iteration is a single development cycle, usually measured as one week or two weeks. An iteration may also be defined as the elapsed time between iteration planning sessions.
Iterative development is a way of breaking down the software development of a large application into smaller chunks. In iterative development, feature code is designed, developed and tested in repeated cycles.
Lean programming is a concept that emphasizes optimizing efficiency and minimizing waste in the development of a computer program. The concept is that efficiencies can be applied and waste managed at all levels: each individual, every department, interdepartmental operations, the organization as a whole, and the relationships of the organization with customers and suppliers.
pigs and chickens:
"Pigs and chickens" is an analogy used in the Scrum software development model to define the type of role an attendee can play at a daily scrum meeting. A pig is directly accountable for completion of the task at hand. A chickens is somewhat involved in the task at hand but is not the person whose "bacon is on the line" if the task doesn't get completed on time.
A planning board is used to track the progress of an agile develoment project. After iteration planning, stories are written on cards and pinned up in priority order on a planning board located in the development area. Development progress is marked on story cards during the week and reviewed daily.
A planning game is a meeting attended by both IT and business teams that is focused on choosing stories for a release or iteration. Story selection is based upon which estimates of which stories will provide the most business value given development estimates.
Planning poker is a team building activity for achieving group consensus. It is used by agile software development teams to estimate how long a certain amount of work will take to complete.
product backlog grooming:
Product backlog grooming, also called product backlog refining, is an Agile software development process in which the development team revisits a product backlog that has been pre-defined by the team's facilitator.
Product owner is a scrum development role for a person who represents the business or user community and is responsible for working with the user group to determine what features will be in the product release.
Project planning is a discipline for stating how to complete a project within a certain timeframe, usually with defined stages, and with designated resources.
A release is a deployable software package that is culmination of several iterations of development. Releases can be made before the end of an iteration.
Release management is a software engineering process intended to oversee the development, testing, deployment and support of software releases. The practice of release management combines the general business emphasis of traditional project management with a detailed technical knowledge of the systems development lifecycle (SDLC) and IT Infrastructure Library (ITIL) practices.
A release plan is an evolving flowchart that describes which features will be delivered in upcoming releases. Each story in a release plan has a rough size estimate associated with it.
Rescoring is an Agile software development process in which the development team revisits a pre-defined list of user stories to review story point scores and adjust them up or down based on what the team has learned in previous development iterations.
Scrum is an agile software development model based on multiple small teams working in an intensive and interdependent manner.
A scrum master is the facilitator for a product development team that uses scrum. The scrum master manages the process for how information is exchanged.
In product development, a scrum sprint is a set period of time during which specific work has to be completed and made ready for review. Each sprint begins with a planning meeting. During the meeting, the product owner (the person requesting the work) and the development team agree upon exactly what work will be accomplished during the sprint.
self-directed work team (SDWT):
A self-directed work team (SDWT) is a group of people, usually employees in a company, who combine different skills and talents to work without the usual managerial supervision toward a common purpose or goal.
A skunkworks (also known as Skunk Works) is a small group of people who work on a project in an unconventional way. The group's purpose is to develop something quickly with minimal management constraints.
A spike is a story that cannot be estimated until a development team runs a time-boxed investigation. The output of a spike story is an estimate for the original story.
A stand-up is a daily progress meeting, traditionally held within a development area. Business customers may attend for the purpose of gathering information. The term “standup” is derived from the way it is run all attendees must remain standing to keep it short and the team engaged.
A story is a particular business need assigned to the software development team. Stories must be broken down into small enough components that they may be delivered in a single development iteration.
A timebox is a defined period of time during which a task must be accomplished. Timeboxes are commonly used in agile software development to manage software development risk. Development teams are repeatedly tasked with producing a releasable improvement to software, timeboxed to a specific number of weeks.
Velocity is the budget of story units available for planning the next iteration of a development project. Velocity is based on measurements taken during previous iteration cycles. Velocity is calculated by adding the original estimates of the stories that were successfully delivered in an iteration.
A WAG (wild-ass guess) is an estimate for how long it will take to complete a project. Because WAGS are simply guesses, they can be very difficult to substantiate.
The whole-team approach, also called the team-based approach, is a style of project management in which everyone on the project team is held equally responsible for the quality and success of the project. The term is often used in agile software development, lean production and creative teams in advertising and other media.
A wiki is a server program that allows users to collaborate in forming the
content of a Web site. With a wiki, any user can edit the site content, including other users’ contributions, using a regular Web browser.
Xenodochial is an adjective describing something – such as a person, place or software application -- that is friendly to strangers. In agile software development, any project manager or architect must be xenodochial to be able to deal fairly and reasonably with many different stakeholders and customers.