You searched for:
The Cookie Jar

An Agile Jargon Buster

It should be noted that there are no strict definitions for each of the terms in this glossary. By definition, the process and the terms used are “agile”. That said, the definitions below should be a useful starting point for lawyers trying to contract around agile software development procedures. They have been adapted from the content of the following websites:

IT Knowledge Exchange

Telerik - Agile terms glossary

What is Agile glossary  



Agile Software Development Agile software development (ASD) 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 focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they’re ready.
Agile A conceptual framework for undertaking software projects. Agile methods are a family of development processes, not a single approach to software development.
Agile Manifesto The Agile Manifesto, also called the Manifesto for Agile Software Development, is a formal proclamation of four key values and twelve principles to guide an iterative and people-centric approach to software development. 
  The four key values are expressed as follows:
Through [our] work we have come to value:
Individuals and Interactions over Process 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

​© 2001 the authors of the Agile Manifesto
Agile Retrospective An agile retrospective is a meeting that’s held at the end of an iteration in agile software development. During the retrospective, the team reflects on what happened in the iteration and identifies actions for improvement going forward.
Acceptance Test 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.
Behaviour Driven Development Behavior driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project. BDD focuses on obtaining a clear understanding of desired software behavior through discussion with stakeholders. It extends test driven development (TDD) by writing test cases in a natural language that non-programmers can read.
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.
Customer 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. 
Daily Standup A Daily Standup is a whole team meeting that happens at the same time every day that usually lasts 15 minutes or less. The meeting is designed to allow the entire team to synchronize with each other and to understand the flow and challenges of the development process. Each team member should provide the following information: what did I do yesterday, what am I planning to do today, and what impediments do I currently have?
Domain Model 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.
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.
Iteration 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 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 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 chicken 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.
Planning Board A planning board is used to track the progress of an agile development 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.
Planning Game 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 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.
Potentially Shippable Product Increment A working piece of software that can be deployed within the customer’s business. 
Product Backlog Acts as a repository for requirements targeted for release at some point. These are typically high level requirements with high level estimates provided by the product stakeholders. The requirements are listed on the backlog in priority order and maintained by the product owner.
Product Owner The product owner represents the voice of the customer and is accountable for ensuring that the Team delivers value to the business. The product owner writes customer-centric items (typically user stories), prioritizes them, and adds them to the product backlog. Scrum teams should have one product owner.
Release  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 Plan  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 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 Scrum is an agile software development model based on multiple small teams working in an intensive and interdependent manner.
Scrum Master 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.
Scrum Sprint 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.
Sprint A fixed duration period of time where user stories are chosen to work on. The term Sprint comes from the Scrum methodology and is analogous to the term Iteration. A sprint is defined as a 2-4 week increment of software development activities that delivers working software and the end of the increment. External influences are not allowed to change the requirements of the stories being worked on.
Sprint Backlog At the beginning of each sprint, the team has sprint planning with an end result being a backlog of work that the team anticipates completing at the end of the sprint. These are the items that the team will deliver against throughout the duration of the sprint.
Sprint Planning  Is a pre-sprint planning meeting attended by the core agile team. During the meeting the Product Owner describes the highest priority features to the team as described on the product backlog. The team then agrees on the number of features they can accomplish in the sprint and plans out the tasks required to achieve delivery of those features. The planning group works the features into User Stories and assigns Acceptance criteria to each story.
Sprint Review Each Sprint is followed by a Sprint review. During this review the software developed in the previous Sprint is reviewed and if necessary new backlog items are added.
Story Points Unit of estimation measuring complexity and size.
Team The Team is responsible for delivering the product. A Team is typically made up of 5–9 people with cross-functional skills who do the actual work (analyze, design, develop, test, technical communication, document, etc.). It is recommended that the Team be self-organizing and self-led, but often work with some form of project or team management.
Timebox 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.
User Stories A user story is a very high-level definition of a requirement, containing just enough information so that the developers can produce a reasonable estimate of the effort to implement it. A user story is one or more sentences in the everyday or business language of the end user that captures what the user wants to achieve. A user story is also a placeholder for conversation between the users and the team. The user stories should be written by or for the customers for a software project and are their main instrument to influence the development of the software. User stories could also be written by developers to express non-functional requirements (security, performance, quality, etc.)
Velocity 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.
Wiki 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 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.