Glossary
Software teams love their special terms. Mob Programming. Story Splitting. Sprint Planning. If you don’t work with these words every day, it’s like learning a whole new language.
That’s why we built this glossary—to help you understand what we’re talking about. Look up any term, get a clear definition, and see how it fits into building software that matters more.
Found something confusing? Can’t find what you need? Just ask us. We’re happy to explain anything in person.
A
A/B Test
A/B testing is a method used to compare two versions of a product, campaign, or concept to see which performs better. In a typical A/B test, users are split into two groups, each receiving a different version. The results of an A/B test help teams understand which option performs better (e.g. drives more conversions or user engagement).
Acceptance Testing
An acceptance test is a formal description of the behavior of a software product, generally expressed as an example or a usage scenario. Acceptance testing is often automated so that the execution of such tests can be run by a software tool, either ad-hoc by the team or continuously.
Accessibility
Accessibility refers to how user experiences, whether analog or digital, are designed so that all people—regardless of ability—can interact with the information or services provided.
Affinity Diagramming
Affinity diagramming is a collaborative synthesis technique used to organize a large set of ideas, observations, or data points into meaningful groups based on natural relationships. This technique reveals themes, patterns, and insights that may not be obvious when focusing on individual data points.
AI Agent
An AI agent is a software system designed to autonomously perceive its environment, process information, and act to achieve predefined goals, often using large language models (LLMs). Often used when doing research, coding tasks, or complex workflows.
Automated Build
In the context of software development, a build refers to the process that converts files and other assets under the developers’ responsibility into a software product in its final or consumable form. An automated build is when the build steps are repeatable, require no direct human intervention, and can be performed at any time with no information other than what is stored in the source code control repository.
B
Backlog / Product Backlog
A backlog is a list of the new product features, changes to existing product features, bug fixes, infrastructure changes, or other activities that a team may deliver in order to achieve a specific outcome. A product backlog organizes and prioritizes these items for the team.
Backlog Grooming / Backlog Refinement
Backlog grooming is when the team refines the backlog on a regular basis to ensure the backlog contains the appropriate items, that backlog items are prioritized, and that the items at the top are ready for delivery.
Burndown Chart
A burndown chart (and its counterpart, the burnup chart) tracks the amount of output (in terms of hours, story points, or backlog items) a team has completed across an iteration or a project.
C
Card Sorting
Card sorting is a method in user experience design that gives insight into how people think, group, and label ideas. Card sorting assists in finding patterns in how users think about content in order to make well-informed information architecture decisions. Card sorting has various methods, such as open card sorting, closed card sorting, and online vs. offline card sorting.
Clickable Prototype
A clickable prototype gives a visual representation of the user interface, flow, and experience of a software application. Unlike static mockups, clickable prototypes respond to user interaction.
Co-Designing
Co-designing is a design technique that involves collaborating with users and stakeholders (internal or external) to envision solutions to problems or opportunities in a product. Co-designing brings unique perspectives to solving the problem and ensures the solution meets stakeholder needs and goals. (Also called Participatory Design, Collaborative Design)
Collective Ownership
Collective ownership is the explicit convention that every team member can make changes to any code file as necessary: either to complete a development task, to repair a defect, or to improve the code’s overall structure. Collective ownership ensures shared responsibility for the codebase.
Conceptual Model
A conceptual model is the simple mental picture people have of how a product works. When design aligns with that picture, the product feels clear and intuitive instead of confusing.
Contextual Inquiry
Contextual inquiry is a research method where we observe and talk with people in the real environment where they use a product or process. It helps uncover unspoken habits, workarounds, and needs that don’t show up in surveys or interviews.
Continuous Deployment
Continuous deployment (CD) aims to reduce the time elapsed between writing a line of code and making that code available to users in production. Continuous deployment relies on infrastructure that automates and instruments the various steps leading up to deployment, so that after each integration meets release criteria, the production application can be updated with the new product version.
Continuous Integration
Continuous integration (CI) is the practice of merging code changes into a shared repository continuously as changes are made in order to accelerate learning and feedback loops. Continuous integration requires strong project automation and pairs well with Continuous Deployment.
D
Daily Stand-up
The daily stand-up is one of the most commonly practiced Agile techniques and presents an opportunity for a team to get together on a regular basis to coordinate their activities. Daily stand-ups are usually short, time-boxed meetings.
Definition of Done
The definition of done is an agreed-upon list of the activities deemed necessary, usually represented by a user story, to a done state by the end of a sprint. The definition of done creates a shared understanding of completion.
Definition of Ready
The definition of ready, by analogy with the “Definition of Done,” is the explicit and visible criteria, generally based on the INVEST principle, that a user story must meet before being accepted into an upcoming iteration.
Design Studio
A design studio is a divergent and convergent thinking workshop that combines brainstorming, ideation, critique, and prioritization to maximize ideas and gain clarity and focus on a product direction. A design studio usually includes problem statements, sketching, presenting/critiquing, converging, and prioritizing.
Design Thinking
Design thinking is an ideology that asserts that a hands-on, user-centric approach to problem-solving can lead to innovation, and innovation can lead to differentiation and a competitive advantage. Design thinking is defined by a six-phase process (empathize, define, ideate, prototype, test, and implement).
Discovery
Discovery is an early-phase process that involves learning, researching, and understanding the problem space, framing the problem, and implementing different learning techniques to widen the pool of understanding. Discovery activities help mitigate risk, facilitate shared understanding, and create a shared product vision.
Double Diamond
The Double Diamond is a design framework that shows how teams move through two phases of exploring and narrowing. First, you discover and define the problem, then you develop and deliver solutions. Teams start broad to explore possibilities, narrow to make decisions, and revisit earlier phases as they learn.
Dual-Track Agile
Dual-track agile is an approach in which teams work concurrently on discovery (figuring out what to build) and delivery (building and releasing). Dual-track agile ensures a continuous balance between learning and execution.
E
Empathy Mapping
Empathy mapping is a workshop tool used to help give context to what a persona is doing, seeing, hearing, thinking, and feeling (including pains and gains). An empathy map is often used to align team understanding of user and stakeholder needs.
Epic
An epic is a large story that cannot be delivered as defined within a single iteration or is large enough that it can be split into smaller stories. Epics help organize and manage complex functionality.
Exploratory Testing
Exploratory testing is a style or approach to testing software that emphasizes discovery, learning, and adaptability, often contrasted with scripted testing. Exploratory testing is considered both a practice and a mindset.
Evaluative Research
Evaluative research is a method used for assessing a specific problem to ensure usability and the wants, needs, and desires of targeted personas. Evaluative research validates whether designs meet intended goals.
Experience Mapping
Experience mapping is an end-to-end representation of a generic persona’s experience through a product, often depicting how someone will accomplish a goal. Experience mapping helps teams identify pain points and opportunities.
G
Generative AI (GenAI)
Generative AI is a type of artificial intelligence that creates new, original content, such as text, images, audio, video, and code, by learning patterns from existing data. Recently popularized by apps and services from OpenAI or Anthropic, such as ChatGPT or Claude.
Generative Research
Generative research (also called exploratory research) helps clarify the problem to be solved by deeply understanding users and the context in which they work or live. Common methods include stakeholder interviews, contextual inquiry, ethnographic research, and co-creation sessions.
Given-When-Then
The Given-When-Then formula is a template intended to guide the writing of acceptance tests for a user story: (Given) some context, (When) some action is carried out, (Then) a particular set of observable consequences should occur.
H
Heuristic Analysis
Heuristic analysis is a usability review where an expert evaluates software against established usability principles. Issues are documented and rated by severity, from minor to critical, to highlight where the experience can be improved.
Human-In-The-Loop (HITL)
Human-in-the-loop (HITL) is a system in which humans actively participate in an automated system, particularly in AI workflows, to ensure accuracy, safety, and ethical decision-making, and to provide feedback.
Human Centered Design (HCD)
Human centered design (HCD) is a creative approach to problem solving that uses deep empathy to design for the humans being served and aligns solutions to custom fit their needs.
I
Incremental Development
Incremental development in Agile is delivering slices of the product in small pieces that add value over time, rather than building all the parts of the system and then integrating them later.
Information Architecture (IA)
Information architecture (IA) focuses on organizing, structuring, and labeling content in an effective and sustainable way. Information architecture ensures users can find information and complete tasks.
Information Radiators
An information radiator is a highly visible visual display placed in a team’s workspace so that all members can see the latest project information at a glance.
Integration
Integration refers to the efforts required after individual programmers, or sub-groups of programmers working on separate components, to combine work into a product suitable for release as a functional whole.
Interaction Design (IxD)
Interaction design focuses on how people interact with a product or system to accomplish their goals. It defines the flows, behaviors, and feedback that make technology usable and effective.
INVEST
INVEST is an acronym used to remember a set of widely accepted criteria to assess the quality of a user story: Independent, Negotiable, Valuable, Estimable, Small, and Testable. The INVEST model helps teams write better user stories.
Iteration
An iteration is a timebox during which development takes place. Iterations are usually fixed in duration and allow teams to plan and deliver in cycles.
Iterative Development
Where incremental means adding something new that wasn’t there before, iterative means taking something you already built and making it better through repeated passes.
J
Journey Mapping
Journey mapping is the process of visualizing the steps a person goes through in order to accomplish a goal. A journey map compiles user actions into a timeline, then adds user thoughts and emotions to create a narrative.
K
Kanban
Kanban is a method for designing, managing, and improving flow systems for knowledge work. The Kanban method emphasizes visualizing work, limiting work in progress (WIP), and improving delivery flow.
Kanban Board
A Kanban board is a visual workflow tool consisting of multiple columns. A Kanban board uses each column to represent a different stage in the workflow process.
L
Large Language Model (LLM)
An LLM, or Large Language Model, is an advanced artificial intelligence (AI) system trained on massive amounts of text data to understand, generate, and process human language. Oftentimes, an LLM is the underpinning of a Generative AI or Agent system.
Lead Time
Lead time is the time between a customer order and delivery. In software development, lead time can also mean the time between a requirement being made and its fulfillment.
M
Milestone Retrospective
A milestone retrospective is a team’s detailed analysis of a project’s significant events after a set period of time or at the project’s end.
Minimum Marketable Feature (MMF)
A minimum marketable feature (MMF) is a small, self-contained feature that can be developed quickly and delivers significant value to the user.
Minimum Viable Product (MVP)
A minimum viable product (MVP) is the version of a new product that allows a team to collect the maximum amount of validated learning about customers with the least effort.
Mob Programming
Mob programming is a software development approach where the whole team works on the same thing, at the same time, in the same space, and often at the same computer.
Mock Objects
A minimum marketable feature Mock objects, commonly used in automated unit tests, consist of instantiating a test-specific version of a software component. Mock objects simulate dependencies for testing purposes.
Mood Board
A mood board is a collage, either physical or digital, intended to communicate the visual style a direction is heading (or should be heading). A mood board may include colors, images, and typography.
P
Pair Programming
Pair programming is when two programmers share a single workstation (one screen, keyboard, and mouse) while collaborating on code.
Paper Prototype
A paper prototype is a rough, often hand-sketched drawing of a user interface used in usability tests to gather feedback. Paper prototyping allows participants to interact by pointing to locations as if they were clickable.
Personas
Personas are fictional, yet evidence-based profiles that represent key types of users for a product or service. They help teams stay aligned on user goals, behaviors, and needs when making design decisions.
Primary Research
Primary research is conducted by going directly to users/customers to learn from them in real time, gathering data on behaviors and supporting systems. Primary research often starts broad (generative/exploratory) and narrows into specific problems.
Story Points
Story points are an estimation unit often used by Agile teams to size user stories or tasks. Story points represent relative effort instead of time.
Product Owner
The product owner is a role created by the Scrum Framework, responsible for making sure the team delivers the desired outcome. The product owner manages the product backlog and stakeholder priorities.
Prototype
A prototype is the initial example of a product or program, which acts as a basis for following designs. Prototypes are often low-fidelity and evolve over time.
R
RAG (Retrieval-Augmented Generation)
RAG, or Retrieval-Augmented Generation, refers to an AI framework that improves large language models by combining external data retrieval with text generation to produce more accurate, current, and well-supported responses.
Refactoring
Refactoring consists of improving the internal structure of an existing program’s source code while preserving its external behavior. Refactoring keeps code maintainable.
Relative Estimation
Relative estimation consists of estimating tasks or user stories by comparing them to others of equivalent difficulty. Relative estimation helps teams normalize effort expectations.
Retrospective
A retrospective is a regular team meeting where members reflect on significant events since the previous retrospective and identify opportunities for improvement.
S
Scenario
A scenario is a short story that shows how a persona would interact with a product in a specific situation. It highlights the user’s context, goals, and steps, helping teams see how the product fits into real life.
Scrum
Scrum is a framework used to manage product development and other knowledge work. Scrum is empirical, hypothesis-driven, and adaptable.
Scrum Master
The Scrum Master is a servant-leader role responsible for ensuring the team lives agile values and principles and follows agreed practices.
Scrum of Scrums
A Scrum of Scrums is a technique to scale Scrum up to large groups (over a dozen people), by dividing into Agile teams of 5–10 and coordinating across them.
Secondary Research
Secondary research uses existing data like analytics, metrics, articles, books, or other resources to support insights. Secondary research complements primary research.
Service Blueprint
A service blueprint is a diagram that maps how a service works behind the scenes. It shows the connections between people, tools, and processes that support each step of the customer journey.
Service Design
Service design is the practice of planning and organizing all the people, processes, tools, and touchpoints that shape how a service is delivered. It ensures the experience works smoothly for customers on the front end and for employees and systems on the back end.
Sprint Backlog
A sprint backlog is the subset of the product backlog that a team commits to deliver during a sprint to accomplish the sprint goal.
Sprint Planning
Sprint planning is an event at the beginning of a sprint where the team determines which backlog items they will work on during the sprint.
Stakeholder Interviews
Stakeholder interviews are conversations with key contacts in the client organization who are funding, selling, or driving the product.
Storyboard
A storyboard is a visual representation of how a user will interact with an application or interface. Storyboards demonstrate process and user requirements.
Story Mapping
Story mapping is the practice of ordering user stories along two independent dimensions. Story mapping creates a structured view of scope and priorities.
Story Splitting
Story splitting consists of breaking up one user story into smaller ones while preserving measurable business value in each.
T
Test Driven Development (TDD)
Test-driven development (TDD) is a style of programming in which coding, testing (through unit tests), and design (through refactoring) are tightly interwoven.
Three Cs
The “Three Cs” — Card, Conversation, Confirmation — is a process of creating a user story.
Timebox
A timebox is a fixed period during which a person or a team works steadily toward completion of a goal.
U
Ubiquitous Language
Ubiquitous language is the shared vocabulary of a given business domain, used consistently in requirements, design, and source code.
Unit Testing
A unit test is a small, isolated piece of code that verifies the correct functionality of a specific, individual component (a “unit”) of software, like a function or method. Developers write these tests to ensure that each unit behaves as expected, according to their design and logic. This helps in early bug detection and overall code quality improvement.
Usability Testing
Usability testing, or user testing, is a study conducted to find out how usable an application or product is for potential end users. Usability testing can be carried out on a prototype or finished product.
Use Cases
A use case is a list of steps that define the interactions between a user and a system. Use cases are often constructed in UML with defined actors and roles.
User-Centered Design
User-centered design is an approach that keeps the end user’s needs, goals, and context at the heart of the design process. It ensures products and services are clear, usable, and aligned with what people are trying to accomplish.
User Flow
A user flow is a visual representation of the paths or avenues a user can take through a system. User flows help teams evaluate and optimize the user experience.
User Interface (UI) Design
User interface design defines the look and feel of a product’s screens and controls. It focuses on layout, visual elements, color, and typography to create an interface that is clear, consistent, and visually engaging.
User Interviews
User interviews are one-on-one conversations with potential or current users to learn about their goals, tasks, and motivations. They provide direct insights that help shape design decisions.
User Research
User research studies people’s behaviors, needs, and challenges to uncover insights that guide design. It ensures teams focus on solving the right problems in ways that matter to users.
User Stories
User stories are functional increments of work divided up in consultation with the customer or product owner. A user story captures a slice of value from the user’s perspective.
V
Velocity
Velocity is the total of the effort estimates associated with user stories completed during an iteration. Velocity helps teams forecast future capacity.
Version Control / Source Control
Version control is the practice of tracking and managing changes to source code. Version control is widely adopted across the software industry. Git and GitHub are our most commonly used tools for Version Control.
W
Wireframes
A wireframe is a simple, low-detail outline showing the basic layout of a website or app. Wireframes differ from prototypes (which include interactivity) and mockups (which are high-fidelity but not functional).