Glossary of terms
The top phrases and concepts in progressive software development, what they mean, and how to utilize them.
Agile software development
Agile software development is a set of practices around adaptive planning, evolutionary development, early deployment, and continuous improvement. The goal is a rapid but flexible response to change.
agile software development definitionAIOPS
AIOPS (Artificial Intelligence for IT Operations) is the use of artificial intelligence, machine learning and natural language processing techniques to automate the management and operation of IT systems.
aiops definitionAPI tests
API (application programming interfaces) tests are a type of software testing that typically involves sending requests to the API and verifying the returned response to check if they work as intended.
api testing definitionAzure DevOps
Azure DevOps is a set of software development tools, services, and features provided by Microsoft that enable teams to plan, develop, deploy, and maintain projects more efficiently.
azure devops definition
Blue-green deployment
Blue-green deployment is a technique for releasing new software updates with minimal downtime and risk. It involves running two identical production environments, called "blue" and "green", in parallel.
blue green deployment definition
Canary deployment
Canary deployment involves releasing a new version of your software to the "canary" (test) group, while the old version is still in use by the remaining users. This allows the a canary version to be tested in a live production environment before being deployed to all users.
canary deployment definitionContinuous delivery
Continuous delivery (CD) is a software development practice in which code updates are automatically tested and uploaded to the repository.
continous delivery definitionContinuous deployment
Continuous deployment (CD) is a software development approach that goes beyond continuous delivery and continuous integration. In continuous deployment, code updates are automatically tested and deployed to production without manual intervention.
continuous deployment definitionContinuous improvement
Continuous improvement (CI) is a process of making incremental improvements to the code in order to improve its quality and performance.
continuous improvement definitionContinuous integration
Continuous integration (CI) is a software development practice in which developers regularly integrate code updates into a central repository, where the introduced changes are automatically tested and deployed.
continuous integration definition
DevOps
DevOps is a software development practice around bringing together people, processes, and tools from Development and Operations to improve the software delivery process.
devops definitionDevSecOps
DevSecOps (Development Security Operations) is a variant of DevOps that emphasizes the integration of sufficient security practices into the software development and deployment processes.
devsecops definitionDORA metrics
DORA (DevOps Research and Assessment) identified metrics that are commonly used to measure the performance of organizations in terms of their ability to deliver software updates and new features quickly and reliably.
dora metrics definition
Event-driven architecture
Event-driven architecture is a software design pattern in which the flow of an application logic is determined by events or triggers. This allows a program to respond to external stimuli in a flexible and dynamic event processing process.
event driven architecture definition
Hybrid cloud
Hybrid cloud architecture combines a public cloud (owned and operated by third-party) with a private cloud (owned and operated by an organization), allowing organizations to leverage the best features of both worlds.
hybrid cloud definition
Infrastructure as a Service
Infrastructure as a Service (IaaS) is a cloud computing model in which a third-party provider delivers infrastructure resources over the Internet. These resources can include physical or virtual servers, storage, networks, and other basic computing infrastructure components.
infrastructure as a service definitionInfrastructure as Code
Infrastructure as Code (IaC) is an approach that uses the code for infrastructure management instead of managing it manually.
infrastructure as code definition
Microservice architecture
Microservices architecture is an organizational software design approach in which large applications are built as a group of modular components, or microservices, that can be developed, tested, and deployed independently.
microservice architecture definitionMultivariate testing
Multivariate testing, also known as split testing or A/B testing, is a method of experimentation in which multiple variables are changed and tested simultaneously to understand their combined impact on a given outcome.
multivariate testing definition
Open source
Open source software license allows you to freely view, use, test, modify, and share the software source code. This enables the community-driven development, where programmers voluntarily create new features, test, and improve the source code.
open source definition
Pair programming
Pair programming is a software development technique in which two developers work together, where one person writes code and the other reviews each written line. The person writing the code is the "driver," while the person reviewing the "navigator."
pair programming definitionPerformance testing
Software performance testing is a process of evaluating a software or system performance in terms of its speed, scalability, and stability carried out under a variety of conditions simulated in a testing environment.
performance testing definitionPrivate cloud
Private cloud refers to a type of cloud computing infrastructure that is dedicated to a single organization. A private cloud is typically set up and managed by the organization itself or by a third-party provider on its behalf.
private cloud definition
Regression testing
Regression testing is a software testing approach that ensures a software application or system functions as expected after any code modification, update, or improvement.
regression testing definitionRelease management
Release management is the process of software releases planning, scheduling, testing, and then deploying updates or new versions of software into production environments.
release management definitionRollback
A rollback, in software development, is the process of reverting a system or application to a previous version or state. This is usually done in response to a problem or bug in the current version.
rollback definition
Shift left testing
Shift left testing is a practice that involves moving software testing activities earlier in the development process, such as during the design and planning phases. The goal is to identify and fix issues as early as possible.
shift left testing definition
Trunk-based development
Trunk-based development is a software development practice that uses a single, centralized code repository, called a "trunk," to store and manage all code changes.
trunk based development definition
User Acceptance Testing
User Acceptance Testing (UAT) is the process of evaluating a software application or system by its actual users to determine whether it meets their requirements and is ready for use. UAT tests are usually the final phase of the testing process.
user acceptance testing definition