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 definition

    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 definition
  • API 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 definition
  • Azure 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 definition
  • Continuous delivery

    Continuous delivery (CD) is a software development practice in which code updates are automatically tested and uploaded to the repository.

    continous delivery definition
  • Continuous 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 definition
  • Continuous improvement

    Continuous improvement (CI) is a process of making incremental improvements to the code in order to improve its quality and performance.

    continuous improvement definition
  • Continuous 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 definition
  • DevSecOps

    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 definition
  • DORA 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 definition
  • Infrastructure 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 definition
  • Multivariate 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 definition
  • Performance 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 definition
  • Private 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 definition
  • Release 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 definition
  • Rollback

    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