Glossary
The language of software development, clearly explained. Search for a term or browse the alphabet at your own pace.
The alphabetical index
107 terms
A
7 terms- A/B testnoun
- An A/B test is an experiment in which two groups each see a different variant. Comparing their behaviour shows which variant performs better against a predefined goal.
- acceptance criterianoun, plural
- Acceptance criteria are agreed, testable conditions that a product, feature or change must meet to be accepted.
- agile & scrumadjective and noun
- Agile is an approach to developing software in small steps and adapting based on feedback. Scrum gives it structure through short sprints and regular team discussions.
- APIabbreviation (noun)
- An API is a defined way for software to exchange data or call functions in other software without needing to know how that software works internally.
- audit trail/ˈɔː.dɪt treɪl/noun
- An audit trail is a chronological record of actions and changes in a system. It shows who or what performed an action, when it happened and what changed.
- authenticationnoun
- Authentication is the process by which a system verifies the claimed identity of a user, device or application.
- authorizationnoun
- Authorization is the process of determining and enforcing which data and functions a user, device or application may access.
B
3 terms- backend/ˈbækˌend/noun
- The backend is the part of an application that processes data, applies business rules and communicates with other systems on the server. Users usually access it through a frontend or API.
- backlog/ˈbæk.lɒɡ/noun
- A backlog is an ordered, evolving list of work for a product or project. Its order helps a team decide what to investigate or implement first.
- branch/brɑːntʃ/noun
- A branch is a separate line of development in version control. Developers can make and test changes on it without immediately changing the main version of the code.
C
14 terms- caching/ˈkæʃɪŋ/noun
- Caching temporarily stores previously retrieved or calculated data so later requests can be handled faster and the original source is accessed less often.
- changelog/ˈtʃeɪndʒˌlɒɡ/noun
- A changelog is a record of relevant software changes, usually organized by version or release. It includes new features, bug fixes and changes that affect users.
- CI/CD/ˌsiːˈaɪ ˌsiːˈdiː/abbreviation
- CI/CD is a way of working in which teams frequently merge software changes, check them automatically and use a defined sequence of steps to prepare or deploy them to production.
- cloud/klaʊd/noun
- The cloud is a collective term for computing power, storage, databases and software available over a network, usually from an external provider's data centres.
- CMSabbreviation (noun)
- A CMS is software that lets users create, organize, edit and publish digital content, usually through an administration interface.
- code review/ˈkəʊd rɪˌvjuː/noun
- A code review is an assessment of a code change by another developer. They check its behaviour, readability, and maintainability, among other things, before the change is merged.
- codebase/ˈkəʊdˌbeɪs/noun
- A codebase is the collection of source code used to build and maintain a software product or component.
- commit/kəˈmɪt/noun
- A commit is a recorded version of files in a version control system. Each commit marks a point in a project's development history.
- componentnoun
- A component is a distinct part of software with its own task and a clear way of interacting with other parts.
- containernoun
- A container is an isolated application process with the files and settings it needs. Containers on the same machine usually share the operating system kernel.
- continuous delivery/kənˈtɪn.ju.əs dɪˈlɪv.ər.i/noun
- Continuous delivery is a practice in which each successful software change is automatically built, tested and prepared so the team can deploy it to production at any time.
- continuous deployment/kənˌtɪn.ju.əs dɪˈplɔɪ.mənt/noun
- Continuous deployment is a practice in which every software change that passes all automated checks goes to production without a manual approval step.
- continuous developmentnoun
- Continuous development means improving software continuously in small steps. Automated testing and integration help teams deliver changes regularly and in a controlled way.
- continuous integration/kənˈtɪn.ju.əs ˌɪn.tɪˈɡreɪ.ʃən/noun
- Continuous integration is a practice in which developers regularly merge small code changes and check them automatically, making integration problems visible early.
D
8 terms- data integritynoun
- Data integrity means that data remains correct, complete and internally consistent, and changes only in permitted ways.
- data modelnoun
- A data model describes which data a system records, how that data is related and which rules it must satisfy.
- databasenoun
- A database is a structured collection of data that software can store, retrieve and modify. A database management system controls access to that data.
- dependency/dɪˈpen.dən.si/noun
- A dependency is a software component or system that other software needs in order to build or run, such as a library, framework or external service.
- deployment/dɪˈplɔɪmənt/noun
- A deployment is the process of installing and starting a chosen software version in a target environment so it can be tested or used there.
- design system/dɪˈzaɪn ˌsɪstəm/noun
- A design system is a collection of reusable interface components, design rules and documentation that teams use to design and build consistent digital products.
- digital accessibilitynoun
- Digital accessibility means people with different disabilities can perceive, understand and operate websites, apps and digital documents.
- downtime/ˈdaʊn.taɪm/noun
- Downtime is the period when software, a system or an online service is unavailable or its essential functions cannot be used.
E
4 terms- encryptionnoun
- Encryption converts readable data into encrypted data using an algorithm and a cryptographic key. Only the correct key can make the data readable again.
- end-to-end testnoun
- An end-to-end test checks whether a complete user journey through an application works, including the components and systems that must work together.
- endpoint/ˈɛndˌpɔɪnt/noun
- An endpoint is an address at which an API makes a particular resource or action available.
- exception tracking/ɪkˈsep.ʃən ˌtræk.ɪŋ/noun
- Exception tracking automatically records and groups errors that occur while software is running. It gives developers information to investigate an error's cause and impact.
F
5 terms- failover/ˈfeɪlˌoʊvər/noun
- Failover is the switch from a primary system to a backup system when the primary system fails or stops working correctly.
- feature flag/ˈfiː.tʃə flæɡ/noun
- A feature flag is a setting that enables or disables software functionality without another code deployment. It can apply to all users or a particular group.
- frameworknoun
- A framework is a coherent foundation for software development, providing reusable code, a defined structure and conventions for building an application.
- frontend/ˌfrʌnt ˈend/noun
- The frontend is the part of a website or application that users see and operate, such as pages, buttons, forms and interactive screens.
- full-stack/ˈfʊl stæk/adjective
- Full-stack describes software development that covers both the frontend and backend of an application. It can refer to a developer, team or technical tool.
H
1 term- headless CMSnoun
- A headless CMS is a content management system that makes content available through an API without determining how it is presented to visitors.
I
2 terms- infrastructure as code/ˈɪn.frəˌstrʌk.tʃər əz ˈkəʊd/noun
- Infrastructure as code (IaC) is a practice in which infrastructure is described in configuration files and created and managed using software.
- integration testnoun
- An integration test checks whether several parts of a software system work together correctly, focusing on their communication and the data they exchange.
L
5 terms- legacy softwarenoun
- Legacy software still serves an important purpose but is difficult to maintain, change or replace because of technical limitations, missing knowledge or strong dependencies.
- library/ˈlaɪ.brər.i/noun
- A library is a collection of reusable software code for a defined task. An application can call that code to use existing functionality.
- linting/ˈlɪntɪŋ/noun
- Linting automatically checks source code for potential errors and violations of agreed coding rules, without running the application. The tool that performs these checks is called a linter.
- load balancing/ˈləʊd ˌbæl.ən.sɪŋ/noun
- Load balancing distributes network traffic or other tasks across multiple servers so one server does not have to handle all the work.
- logging/ˈlɒɡ.ɪŋ/noun
- Logging records events while software is running. These records help developers follow a system's behaviour and investigate problems.
M
8 terms- memory leak/ˈmem.ər.i liːk/noun
- A memory leak is a software bug in which a program retains memory it no longer uses. Memory usage can keep growing while the program runs.
- message queue/ˈmes.ɪdʒ kjuː/noun
- A message queue temporarily stores messages until another software component processes them. The sender does not have to wait for the recipient to finish.
- microservicesnoun, plural
- Microservices are small, independently deployable software services that each perform a defined function and together form an application.
- monitoringnoun
- Monitoring systematically tracks software, infrastructure or processes through measurements and checks. Deviations can trigger alerts so an administrator can investigate.
- monolithnoun
- A monolith is an application whose components form a single unit and are usually built and deployed together.
- MoSCoW prioritizationnoun
- MoSCoW prioritization classifies requirements as Must have, Should have, Could have or Won't have this time, making clear what is essential and what can wait.
- multitenant/ˌmʌltiˈtɛnənt/adjective
- Multitenant describes software in which several customers share one application, each with a separate environment for data, users and settings.
- MVPabbreviation (noun)
- MVP stands for Minimum Viable Product: the smallest usable version of a product that lets you test key assumptions with real users.
O
4 terms- observability/əbˌzɜːrvəˈbɪlɪti/noun
- Observability is the extent to which available signals help you understand what is happening inside a software system.
- open source/ˌəʊ.pənˈsɔːs/noun and adjective
- Open source is software whose source code is available under a licence that allows others to use, study, modify and redistribute it.
- ORMabbreviation
- An ORM is software that maps objects in program code to tables and relationships in a relational database. ORM stands for Object-Relational Mapping.
- OTAPabbreviation
- OTAP is the Dutch abbreviation for Development, Test, Acceptance, and Production. These are separate environments for building, testing, reviewing, and using software.
P
8 terms- pair programming/ˈpeə ˌprəʊ.ɡræm.ɪŋ/noun
- Pair programming is a practice in which two developers work on the same programming task together. One writes code while the other considers the approach and reviews the work as it happens.
- peak loadnoun
- Peak load is the temporarily high demand on a system when many users, requests or tasks need capacity at the same time.
- product owner/ˈprɒd.ʌkt ˈəʊ.nə(r)/noun
- In Scrum, the product owner is accountable for maximizing product value and managing the product backlog. They order the work and communicate the product goal.
- progressive web appnoun
- A progressive web app (PWA) uses modern web technologies to offer an app-like experience. Users can install it from a compatible browser and use additional features supported by their device.
- proof of concept/ˌpruːf əv ˈkɒnsept/noun
- A proof of concept is a small-scale experiment that investigates whether an idea is technically or practically feasible before it is fully developed.
- prototypenoun
- A prototype is an early, simplified version of a product. It makes an idea visible or testable so you can learn before developing the complete product.
- pull request/ˈpʊl rɪˌkwest/noun
- A pull request proposes that changes from one branch be reviewed and merged into another. Team members can discuss and check the code before it is incorporated.
- push notificationnoun
- A push notification is a short message an app or website sends to a user's device, even when that app or website is not open.
Q
2 terms- quality assurance/ˌkwɒləti əˈʃʊərəns/noun
- Quality assurance (QA) is the set of planned, systematic measures a team uses to help software meet agreed quality requirements.
- query/ˈkwɪə.ri/noun
- A query is a targeted instruction to a system to retrieve, filter, combine or modify data.
R
11 terms- race condition/ˈreɪs kənˌdɪʃ.ən/noun
- A race condition is a software bug in which the outcome depends on the order or timing of actions that can happen concurrently. The same input can produce different results.
- refactoringnoun
- Refactoring changes the internal structure of existing code without changing observable software behaviour. The aim is to make code easier to understand and modify.
- refinement/rɪˈfaɪnmənt/noun
- Refinement is the ongoing clarification, breakdown and estimation of backlog work so the team understands what each item involves.
- regression testnoun
- A regression test checks that previously working parts of software still behave as expected after a change, revealing unintended effects.
- release/rɪˈliːs/noun
- A release is an identifiable software version prepared to be made available to users. It brings together one or more checked changes.
- responsive design/rɪˈspɒnsɪv dɪˈzaɪn/noun
- Responsive design is an approach in which a website or web application adapts its layout and controls to the available screen space and device.
- retainer/rɪˈteɪ.nər/noun
- A retainer is an ongoing agreement in which a client regularly reserves a service provider's capacity for recurring work, such as software maintenance, support or development.
- retrospective/ˌret.rəˈspek.tɪv/noun
- A retrospective is a meeting where a team reflects on the past working period and agrees how to improve its collaboration and practices.
- review app/rɪˈvjuː æp/noun
- A review app is a temporary, working version of an application where one branch or merge request can be examined and tested separately.
- rollback/ˈrəʊl.bæk/noun
- A rollback reverses a change so software, configuration or data returns to an earlier state. Teams use it when a change causes errors or other unwanted effects.
- row-level security/ˌrəʊ ˌlev.əl sɪˈkjʊə.rə.ti/noun
- Row-level security (RLS) is database access control in which rules for each row determine which records a user may view, insert, update or delete.
S
12 terms- SaaSabbreviation (noun)
- SaaS stands for Software as a Service: software a provider manages centrally and makes available to users over the internet.
- scalabilitynoun
- Scalability is the extent to which software, infrastructure or a process can handle more or less work without major rebuilding or unacceptable performance loss.
- scopenoun
- Scope defines the boundaries of a project or assignment: which goals, activities and results are included and which are excluded.
- security audit/sɪˈkjʊə.rə.ti ˈɔː.dɪt/noun
- A security audit is a structured examination of a digital system's security. The auditor assesses technical measures and processes against agreed requirements and records findings.
- security by design/sɪˈkjʊə.rə.ti baɪ dɪˈzaɪn/noun
- Security by design includes security in software requirements, architecture and development from the first design. The team continues assessing and reducing risks throughout the lifecycle.
- single-page applicationnoun
- A single-page application (SPA) loads one web document and then updates the required content without fetching a complete new page for every view.
- singletenant/ˌsɪŋɡəlˈtɛnənt/adjective
- In singletenant software, each customer uses a separate application environment that is not shared with other customers.
- SLAnoun
- SLA stands for service level agreement: an agreement between a customer and provider about the service, its agreed level and how that level is measured.
- software architecturenoun
- Software architecture is the main structure of a software system: its components, their relationships and the principles guiding technical choices and changes.
- sprintnoun
- A sprint is a short, fixed period in which a team develops an agreed part of the software. Afterwards, you review the result and decide on the next priorities.
- SQLabbreviation
- SQL is a language for querying and managing data in a relational database and defining that database's structure.
- static analysisnoun
- Static analysis examines source code or compiled code without running the program. It checks for potential errors, vulnerabilities, and violations of agreed coding rules.
T
5 terms- technical debtnoun
- Technical debt is the extra work required because earlier software decisions make later changes harder, slower or riskier.
- test coveragenoun
- Test coverage measures which parts of the code execute during automated tests. It can count lines, functions and branches, among other things.
- time and materialsnoun phrase
- Time and materials billing calculates the price after work has been carried out, based on the actual hours worked and costs incurred at agreed rates.
- two-factor authenticationnoun
- Two-factor authentication uses two independent forms of evidence from different categories to grant access to an account or system.
- type safety/taɪp ˈseɪf.ti/noun
- Type safety is the extent to which a programming language prevents values from being used in ways incompatible with their types. Checks can identify such errors during coding, compilation or execution.
U
4 terms- unit test/ˈjuː.nɪt test/noun
- A unit test is an automated test of a small, defined software component, usually isolated from external systems.
- uptime/ˈʌptaɪm/noun
- Uptime is the time during which software, a server or another service is available and usable, usually expressed as a percentage of an agreed measurement period.
- user experience/ˈjuː.zər ɪkˌspɪə.ri.əns/noun
- User experience, often abbreviated to UX, is the overall experience someone has when using a product, system or service.
- user interface/ˌjuː.zər ˈɪn.tə.feɪs/noun
- A user interface (UI) is the part of a digital system through which a user receives information and operates it. Examples include screens, buttons, forms and voice controls.
V
2 terms- vendor lock-in/ˈven.dər ˈlɒk.ɪn/noun
- Vendor lock-in is dependence on one supplier that makes switching to an alternative difficult, expensive or disruptive.
- version controlnoun
- Version control records changes to code, including who changed what and when. It lets developers collaborate, compare changes and return to an earlier version.