Solution Delivery Knowledge Center

Agile Glossary & Terminology

Just like other segments of the language, agile terminology is subject to change and evolution. It is good to keep in mind that different frameworks, systems may define the same concepts differently. It can happen the other way round, too, they may use the same expression for different concepts. Agile professionals should always make sure they use the same agile terminology as their colleagues. Since there is no unified agile terminology, the definitions in the glossary provided below are arbitrary.

Acceptance Criteria

The acceptance criteria is a set of verifiable conditions a solution must meet. Acceptance criteria are often part of user stories, using the given/when/then format.

Acceptance Test-Driven Development (ATDD)

In ATDD the acceptance tests are written collaboratively before implementation. Acceptance tests should represent different perspectives of a requirement. The delivered solution must meet the acceptance criteria which is verified by acceptance testing. Just like in Test Driven Development (TDD), test cases are implemented before the development work is done.

Agile

Agile is a software development/project management approach focusing on enhancing business agility. Consequently, it addresses all aspects of solution delivery, from programming practices to organizational values. Agile is an umbrella term for denoting all principles, techniques, processes, concepts, frameworks of this domain. The Agile Manifesto describes the foundational values and principles of agile.

Agile Coach

The agile coach is a skilled professional who can train, teach, mentor people and the organization on their agile journey. An agile coach has sound knowledge of agile frameworks, techniques, practices and has suitable communication skills to explain agile principles and facilitate agile transition.

Agile Leader, Agile Sponsor

The agile leader is an influential person at an organization who can ensure that agile initiatives gain momentum, the agile journey is not blocked.

Agile Transformation

The agile transformation is the process when an organization is realigning its operation, processes, values by adopting agile principles and practices in order to achieve business agility.

Agile Release Train (ART)

An agile release train is a set of agile teams in SAFe working on the same large program.

Antipattern

An antipattern is a solution considered to result in poor results. Antipatterns often emerge when agile and traditional processes are mingled inconsiderately.

Avatar

An avatar is an image or symbol representing a team member. It is practical when consistently used across different systems and a physical board. The avatar helps in the quick identification of the owner of an issue.

Build Automation

Build automation, resulting in an automated build, is an essential component of continuous integration. It refers to the step when a new build (an instance of a solution) is generated from the freshly updated codebase.

Backlog

A backlog is a list of not yet implemented requirements or tasks. The most common examples are the product backlog containing the requirements of a product, and the sprint backlog which is an executable plan of an iteration in Scrum.

Backlog refinement

Backlog refinement is a process to ensure that those backlog items which are the best candidates for a foreseeable planning event are in good shape, ready for implementation. Refinement is a team effort, often in form of a meeting, but individual research and solution design are also imortant techniques. From a business analysis point of view, refinement is an important part of requirement elicitation. The product owner and some or all team members participate in the process.

Burndown / Burnup Chart

These type of charts show the delivered items over time. The measurement of delivery can vary such as backlog items (stories, tasks), effort estimation in points/days/hours, value estimation in points or monetary units, etc. The burndown chart is typically used for monitoring sprint progress, showing the remaining effort on elapsed sprint days. Ideally, it reaches 0 by the end of the sprint, thus it ‘burns down’. The burnup is typically used for monitoring project progress, showing the delivered value over time. When it reaches the goal (e.g. the Minimum Viable Product) it ‘burns up’.

Business Agility

Business Agility refers to the ability of an organization to respond to change, such as exploiting opportunities and responding to threats. The solution delivery process can support this with short delivery cycles and with processes able to accommodate change.

Cadence

Cadence is a term in iteration-based development to denote the length of an iteration. Agile iterations are typically follow one another without gaps, having the same length.

Capacity

Capacity is the maximum amount of effort a team can make in an iteration. It is the sum of available workdays of all team members. When calculated in hours, days are usually converted to hours using the average daily productive hours only.

Ceremony

Ceremonies are events of a given agile framework or methodology. The term has been dropped from The Scrum Guide due to unwanted connotations and used less and less frequently.

Collective Ownership

Agile software development relies on cross-functional teams and their collaborating team members. As a consequence, collective ownership means no team member has exclusive rights over any part of the codebase. Thus, if a new solution affects an existing piece of code, there is no need to assign a task to the original author. Collective ownership increases team flexibility and individual learning.

Cone of Uncertainty

The Cone of Uncertainty is a term originating from chemical engineering and was applied to software development by Barry Boehm. It describes the decreasing level of uncertainty between the beginning and the end of a project. Not surprisingly we know very little about the potential timeline- and effort needs of a project at inception phase but we know (almost) everything at the end of the project. The decrease of the uncertainty is not necessarily linear, therefore it makes sense to revise our estimates regularly and only consider them substantiated when the high-level requirements are known and a potential solution is outlined.

Continuous Integration

Continuous integration aims to keep development efforts consistent. In continuous integration, the code of newly developed solutions is added to a single repository, from which an automated build is created, and automated testing is executed. This ensures that integration issues are discovered and fixed early.

Daily meeting, Daily Scrum

Often referred to as stand-up, the daily meeting serves the purpose of synchronizing team members. The daily meeting is expected to be a short (usually stand-up) meeting to overview the progress made since the last meeting, the obstacles discovered, and tasks planned for the day. Problem resolution and other topics are excluded and should be discussed elsewhere. The daily meeting is not a status report to a manager, when it is performed with such a goal, cannot fulfil its original purpose. Daily Scrum is a similar event of Scrum.

more…

Definition of Done

Definition of Done defines the conditions of claiming a solution to be “done”. Teams should use a consistent definition of done. The definition typically includes coding, testing and documentation, tailored to the needs of a team in a given environment. The definition can change over time as a team improves its performance. A proper definition of done increases transparency and helps to maintain business agility in the long run. The Definition of done is a mandatory technique in Scrum.

more…

Definition of Ready

Definition of ready is a set of conditions a product backlog item must meet before it can go to a planning session. A “ready” item has all mandatory attributes required for implementation. Teams use a definition of ready which fits their practices and environment. A typical definition of ready can contain process-related criteria such as stakeholder approval and effort estimation.

DevOps

DevOps is a unified approach to address development and maintenance holistically. For this reason, it handles all phases of the Software Development Life Cycle. It attempts to automate as many processes as possible and harmonize as many activities as possible for a defect-free solution.

Epic

An epic is either a large user story or a collection of user stories.

Effort estimation

Effort estimation is an important part of product backlog management and iteration planning. It gives an idea about either the necessary amount of time or relative difficulty of a task, story, backlog item. Effort estimation helps the product owner in prioritizing the backlog and the team in deciding which items fit an iteration.

Facilitation

Facilitation is the activity of moderating, conducting, organizing an event.

Fail-fast

Fail-fast is the concept of starting the implementation process to see the viability of the product or solution. In certain situations upfront analysis and planning costs more than proving the impracticability of a concept through working solution.

Impediment

Anything that impedes efficient solution delivery, either in a generic way or as a specific event. For instance, following bad practices is a generic problem, the lack of clarity of a product backlog item is a specific problem.

Incremental development

Incremental development breaks a large project into small pieces and delivers multiple production-grade increments over time.

INVEST

INVEST is an acronym created by Bill Wake to recall the characteristics of a good user story:

  • Independent, thus can be implemented on its own and outcome will be fully functional,
  • Negotiable, thus leaves room for implementation ideas, finding the best solution for the user,
  • Valuable, thus should give reasonable value to the user,
  • Estimable, thus we can guess the difficulty and of the implementation,
  • Small, bearing little risk and fitting into a single a Sprint,
  • Testable, thus, it will be possible to determine whether the implementation is fit for purpose.

Iteration

An iteration is a timebox for delivering the enhanced version of a solution, usually in form of an increment.

Iterative development

Iterative development aims to implement only well-understood functionalities . Implementing a complex solution inherently involves learning and the revision of previously delivered components.

Kanban

Kanban is originally a pull-type production management system. Its concept has been adopted in software development. The main idea is that a task can only move to a new stage when new capacity becomes available for that stage (most commonly by finishing another task). Kanban heavily relies on the Kanban Board for visualizing the status of the items.

Kanban Board

The Kanban Board is an efficient tool for visually organizing a set of activities and monitoring their progress. Originally an integral part of the Kanban software development framework, however, became a popular tool even independently from Kanban. A notable example is the Scrum board which is able to represent the product backlog, the sprint backlog and the entire product development process from inception till delivery.

Lead Time or Time to Market

These terms refer to the time elapsed between a customer order/product idea and the delivery of the corresponding solution. Agile attempts to minimize the time to market relying on the concepts of minimum viable product and continuous delivery.

Lean

Lean is a management concept with the main focus on eliminating waste by avoiding anything that does not produce value for the customer. Similarly, Lean Software development adopts this concept.

LeSS (large-scale Scrum)

LeSS is one of the best-known frameworks for scaling agile teams. That is to say, harmonizing the work of multiple teams working at the same organization or on the same product.

Minimum Marketable Feature

The minimum marketable feature is a relatively small feature with a significant business value. Its main advantage is the short delivery time.

Minimum Viable Product (MVP)

MVP is a solution which contains only those components which are essential for solving a business problem. The advantage of the MVP is that an organization can start realizing benefits of development early by delivering the minimum viable product and enriching it through continuous delivery.

Mock solution

When a solution relies on a not yet available dependency, a mock plays the role of the missing component. The mock helps in passing testing criteria.

Nexus

Nexus is a framework for scaling agile. In other words, for harmonizing the work of multiple Scrum teams.

Niko-Niko Calendar

The niko-niko calendar registers the mood of every team member, every day. Over time the team can identify negative patterns and address the root-causes.

Pair Programming

Pair programming is a technique when two programmers are solving the same problem. It is ideal for knowledge transfer and for solving highly complex problems. It improves the common understanding of programming concepts and business problems.

Persona

A persona is an fictitious user representing a group of real users. The use of personas helps to understand customer behavior, user roles in a system and the communication about user experience.

Planning event

The planning event, iteration planning or Scrum Sprint planning is a meeting with a goal to select a number of product backlog items and create a plan to deliver them during the iteration cycle.

more…

Planning Poker

The Planning Poker is a team technique for estimating tasks and stories. Its name refers to the card game because participants record their independent estimations and keep it confidently (like the cards in poker) and reveal their estimations afterwards at the same time. It eliminates the anchor-effect and the influence of more senior team members.

Product Roadmap

The product roadmap is a document which forecasts the delivery of major features, milestones.

Product Owner

The product owner is the person responsible for defining the product and managing the product backlog. Product Owner is a defined role in Scrum.

more…

Refactoring

Refactoring is a technique for replacing or restructuring the codebase of an existing solution. Ideally, refactoring results in a cleaner solution either by uplifting legacy code or by accommodating new requirements into an existing but redesigned codebase.

Release

A release is a snapshot of the system, made available for end-users.

Release Plan

A plan of consecutive releases, detailing release date and the features included. The release plan reflects the delivery goals and capabilities of the organization.

Retrospective

The retrospective is an event which closes an agile iteration, with the goal of discovering impediments and ways of improvement. Sprint Retrospective is a mandatory event in Scrum.

more…

SAFe (Scaled Agile Framework enterprise)

SAFe is a proprietary agile framework which integrates all business and technical functions into a single delivery system. It has multiple tiers corresponding to different organizational sizes.

Scope Creep

A scope creep or feature creep denotes the phenomenon when the original scope of an activity changes without explicit admittance of the change.

Scrum

Scrum is a framework for delivering complex products.

more…

Scrumban

Scrumban is a framework which combines the advantages of Scrum and Kanban.

Scrum Master

A role in scrum, the person who is responsible for implementing and improving the framework.

more…

Scrum of Scrums

The scrum of scrums is a framework for organizing the work of multiple Scrum teams. In other words, it is a technique for scaling agile which is necessary because large development projects are delivered by multiple agile teams. It is an important concept in Nexus and SAFe.

Scrum Team

The Scrum Team consists of a Scrum Master, a Product Owner and a Development Team.

more…

Spike

Spike or architectural spike is the concept of creating the architectural foundation of a solution by delivering a piece of working functionality. It is also a concept of emerging architecture.

Sprint

A Sprint is a timeboxed iteration in Scrum.

more…

Stakeholder

A stakeholder is a person who is not working in the agile team but participates, defines or impacted by the delivery process.

Swarming

Swarming is a team activity for problem-solving. Agile teams mostly use swarming in Kanban, when a task has been in a stage for too long and causing a bottleneck.

Task Board

A task board is the visual representation of a collection of tasks and their stages. Typical examples are the Kanban board and the Scrum board.

Technical Debt

A solution which is poor from long term sustainability point of view, bears technical debt. In other words, technical debt slows down the delivery of new functionality.

Test Driven Development

Test driven development is a technique when unit tests are implemented prior to implementing backlog items. The new solution must pass its unit tests.

Three Amigos

The three amigos refer to specification (what we need), implementation (how can we implement it) and testing (how can we verify this). The three amigos represent three different viewpoints of the same problem and contribute to apriori learning about a business problem.

The Three C’s

The three C’s refer to Card, Conversation and Confirmation, the 3 major element of managing user stories.

Timebox

A timebox is an interval with a maximum length. That is to say, if an activity is timeboxed to 1 day, it cannot be longer but can be shorter than 1 day.

Unit Testing

Unit testing is a techniques for testing the smallest testable units of a solution. When unit testing is automated it is usually a function call, when it is performed manually it refers to a system component, a feature of a UI function.

User Story

A user story or simply a story is the smallest independently implementable requirement having a business value.

Velocity

Velocity is a measurement of delivered value per iteration. The unit of velocity depends on the unit of estimation. Thus if backlog items are estimated in story points, the unit of velocity is story point per iteration. Team velocity is not a good measurement to compare the performance of teams.

Waterfall

The waterfall delivery approach sections a project into homogeneous phases of specification, development and testing. This way the waterfall approach delivers the solution at the very end of the project, without planned iterations and increments. In consequence, waterfall and agile are antagonistic concepts for developing software.

Work in Progress (WIP) limit

WIP is a concept of Kanban software development. A delivery team should focus on a limited number of items and complete them without starting new working on new items.

XP or eXtreme Programming

XP is a feedback-based, iterative, incremental agile software development approach focusing on the work of the development team.