The top phrases and concepts in progressive software development, what they mean, and how to utilize them.
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.
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.
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.
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.
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.
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.
Continuous delivery (CD) is a software development practice in which code updates are automatically tested and uploaded to the repository.
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 improvement (CI) is a process of making incremental improvements to the code in order to improve its quality and performance.
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.
DevOps is a software development practice around bringing together people, processes, and tools from Development and Operations to improve the software delivery process.
DevSecOps (Development Security Operations) is a variant of DevOps that emphasizes the integration of sufficient security practices into the software development and deployment processes.
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.
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.
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.
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 Code (IaC) is an approach that uses the code for infrastructure management instead of managing it manually.
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.
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.
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.
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."
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.
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.
Regression testing is a software testing approach that ensures a software application or system functions as expected after any code modification, update, or improvement.
Release management is the process of software releases planning, scheduling, testing, and then deploying updates or new versions of software into production environments.
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.
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.
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.
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.