DevOps Glossary of Terms
- Date: 08 August, 2018
Regardless of your role in an organization, this glossary of DevOps terms was compiled for everyone from the DevOps Engineer to the general end-user. Here, you’ll find definitions of terms commonly used in a DevOps environment. Uncover knowledge areas where you excel and where you want to expand.
Agile Organization — A flexible company capable of rapid response and adaptability to both expected and unexpected opportunities and threats.
Agile Manifesto — The formal proclamation of values and principles to guide an iterative and people-centric approach to software development.
Agile Project Management — An iterative and incremental method of software design and development in which developers work closely with users using just enough information to start planning and execution.
Antifragile — A term coined by professor Nassim Nicholas Taleb about a property that allows systems to increase in capability or performance as a result of stress, mistakes, faults or failures.
Anti-pattern — describes a commonly occurring solution to a problem that generates decidedly negative consequences. A typical anti-pattern is selling DevOps as a technology silver bullet whilst ignoring cultural alignment and process flow.
Automation — The technology by which a process or procedure is performed without manual intervention. In DevOps, automation allows for the creation of real-time reports, integrating various tools used by different stakeholders, and workflows—integrating technology to bring tools together from different domains and break down the silos.
Bottleneck (Lean) — A step in a process that limits the total capacity of the process or system.
CALMS Model — The essence of DevOps: Culture, Automation, Lean, Measurement, Sharing. It’s a framework that can be used to assess an organization’s readiness to adopt a DevOps process.
ChatOps — The use of chat clients, chatbots and real-time communication tools to facilitate how software development and operation tasks are communicated and executed.
Constraint — A limitation or restriction on a system.
Constraints (Theory of) — A methodology for identifying the most important limiting factor that stands in the way of achieving a goal and then systematically improving that constraint until it is no longer the limiting factor.
Containers — A software development container groups applications and their dependencies together, making it possible to build applications where test and live environments can be faithfully replicated.
Continuous Delivery — A methodology that focuses on ensuring software is always in a release-ready state throughout its lifecycle. The deployment process becomes iterative, providing more frequent releases to your end-user.
Continuous Integration — A software development practice that requires developers to merge their code into a shared version control system. The goal is to locate and address software bugs in a timelier manner, and reduce the time it takes to release software updates.
Culture — The whole of the ideas, values, beliefs, practices and behaviors that are shared by the employees in an organization. It is an attitude of shared responsibility in a DevOps environment.
Definition of Done — In software development, a shared understanding of what it means for work to be complete.
Deployment — The release of software updates to users. In DevOps environments, deployment is fully automated so users get updates as soon as they are written and tested.
Dev (from DevOps) — Individuals involved in software development activities.
DevOps — The cultural movement that stresses communication, collaboration and integration between software developers and IT operations.
DevSecOps — Automation of core security tasks by embedding security controls and processes into the DevOps workflow. The goal is to bring security into the process as early as possible in order to minimize vulnerabilities and risks.
Flow — How people or products move through a process. The DevOps "First Way" is concerned with optimizing flow through systems.
Gemba — Japanese word for "the real place." In business it often equates to where value is created.
Iterations — A single development cycle, typically measured as one week or two weeks.
Kaizen — A Japanese business philosophy of continuous improvement of working practices, personal efficiency, etc. The goal is to find ways to improve across a full value stream that leads to better customer outcomes.
Kanban — A visual method of controlling activity that pulls the flow of work through a process at a manageable pace.
Kanban Board — A Kanban tool that helps teams organize, visualize and manage work.
Kata — In Japanese, it’s cultural conditioning or the idea of doing things the "correct" way. It’s a systematic way of achieving goals and facing challenges that can be used throughout an organization.
Lean — A production philosophy that focuses on reducing waste and improving the flow of processes to improve customer value.
Lean IT — Applying the key ideas behind lean to the development and operation of IT products and services.
Microservices — A software development technique aligned to service-oriented architecture (SOA) that structures an application as a collection of loosely coupled services. In a microservices architecture, services are even more fine-grained.
Muda — A Japanese word meaning "futility; uselessness; wastefulness." Muda is one of the three types of waste in lean process thinking.
Mura — A Japanese word meaning "unevenness; irregularity; lack of uniformity." It is one of the three types of waste in lean process thinking.
Muri — A Japanese word meaning "unreasonableness; impossible; beyond one's power or too difficult." It is one of the three types of waste in lean process thinking.
Ops (from DevOps) — Individuals involved in the daily operational activities needed to deploy and manage systems and services.
Release — One or more system changes that are built, tested and deployed together.
Scrum — An Iterative, time-bound, and incremental Agile Framework for completing complex projects.
Serverless — A cloud-computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application. This is often referred to as "Function as a Service."
Test Driven Development — A software development process that relies on the repetition of a short development cycle where requirements in the form of test cases are used to improve software.
The Three Ways — A set of principles developed by Gene Kim, award winning CTO, author, and researcher, to define what DevOps is really all about.
- First way: Speeding up the workflow, from business, through development, to operations, and the customer.
- Second way: Increase both the number of feedback loops in your flow and how fast you are getting the feedback.
- Third way: Develop and foster a culture where constant experimentation and learning is encouraged.
Time to Value — Measure of the time it takes for the business to realize value from a feature.
Toolchain — Use of an integrated set of task-specific tools to automate an end-to-end process. For example, automated code testing, release and deployment.
Value Stream Mapping — Lean tool that visualizes the flow of data, materials and work through a process with an emphasis on identifying and quantifying waste.
Velocity (Agile) — Measure of the quantity of work done in a pre-defined interval.
Waste (Lean) — Anything that does not add value to a product. (See Muda, Muri, Mura.)
Waterfall (Software Development) — Linear and sequential approach to software design and development where progress is seen as flowing steadily downwards.
Work in Progress (WIP) — Any work that has been started but has yet to be completed.
Whether you are embarking on a DevOps journey to improve collaboration and end-user value, or to expand to product-specific automation tools training, we have the training to help you excel.