This site is in beta. Tell us what you think.
Chapter 1 | The Development operations Guidebook

Introduction to Development Operations

Development Operations, or DevOps, is a cycle for software creation focused on the continuous improvement and delivery of software.

Traditional views of software development measure projects in terms of months or years, with fixes and updates seen as problems that raise costs, and so should be avoided.

Somewhere, a developer has to respond to a new feature being required, a bug arising, or a security breach being detected by changing the underlying code. With each of these changes, it is important to avoid creating new problems and ensure that every other team of developers working on different updates or fixes for the same software is using the latest code.

Longer development cycles were not an issue when software was distributed via diskettes and other physical media. Even when internet connectivity was expanding, the mindset of updating software involved intentionally downloading an update and manually running the installer. As mobile technology has developed over the last 5-10 years, a new mental model of constantly up-to-date apps emerged. As a result, DevOps' development cycles are sometimes measured in hours or days and can involve several teams working on different updates and fixes for the same software simultaneously.

DevOps aims to solve the management of those moving pieces and automate many of those elements.


All DevOps stakeholders understand one another's basic roles and share a baseline level of Digital Fluency. Due to the way this differs from most organizational structures, it is essential to dynamically align incentives, ensure resources are available, and build strong lines of communication.

DevOps shares some elements of the agile and lean models of business development, which are focused on velocity over perfection.

DevOps aims to:

  • Shorten the software development lifecycle to release a superior product to users faster
  • Respond rapidly to changing user needs and market conditions
  • Balance core stability and security needs with the need for innovation and adaptation
  • Avoid 'perfection paralysis.' In other words, "Don't let the perfect be the enemy of the good"

Before the DevOps approach was widely implemented, both established organizations and startups struggled to update and upgrade software at scale.

DevOps is a reorganized development process that uses several key steps, well-defined responsibilities, and effective communication to ensure continuous improvement. Using these principles grants some autonomy and creativity inside a larger lifecycle focused on alignment and standardization.

The DevOps Cycle

Infographic:
Two overlapping squares that are linked where the 'final' stage connects to the 'first', to emphasize the continuing nature of the "Toolchain" or "DevOps" process.

The text inside the infographic is Test, Release, Deploy, Operate, Monitor, Plan, Code, Build and then the text repeats itself with Test.

DevOps is a continuous cycle, often depicted as an infinity symbol, where the 'final' stage connects to the 'first', to emphasize the continuing nature of the process.

The stages in DevOps are:

  • Plan
  • Code & Assemble
  • Build
  • Test
  • Release
  • Deploy
  • Operate
  • Monitor

There are variations on this approach, sometimes naming 'release' and 'deploy' continuous integration & continuous deployment (CI/CD). At its core, the cycle is intended to manage a series of handoffs between different responsibilities in a more fluid, iterative way.

DevOps and Other Mental Models

Seasons of Innovation

The 'Seasons of Innovation' mindset refers to the overall maturity and confidence level in an offering or a business model.

The DevOps cycle repeats as products move through each 'season of innovation,' but some DevOps stages are emphasized more than others in different seasons.

In the winter, the DevOps cycle's 'Monitor' mode might show a decline in users from a current offering or indicate a level of interest in something not yet offered in a product.

In the spring, the 'Plan' mode kicks in.

In the summer, the 'Code & Assemble,'' 'Build,' 'Release,' and 'Deploy' phases are key.

And in the fall, the 'Operate' and 'Monitor' modes are vital.

Conventional 'Waterfall'-style software development

Traditional software development came from existing institutions, heavily-optimized software companies (like Microsoft in the 1990s), or one-off projects. Applying the same truisms (and linearity) of the industrial age seemed logical to software development in those contexts.

As a result, planning rigidly preceded design, followed by coding, testing, and release. When represented as a timeline of phases where each one flowed into the next, progress looked like a waterfall—hence the name.

But in this model, when a delay or mistake from one phase occurred, all subsequent phases were affected. This cascade of delays and failures meant that software projects took a long time or were never delivered.

Software that 'talks' to other software (APIs and more)

Software that is developed to stand alone and not interact with the internet or any other apps probably doesn't need to change for many years at a time. For example, an app that converts imperial measurements to metric, or a coffee shop's cash register, doesn't connect to anything outside of itself. So no further development is needed as long as everything—the operating system, the hardware, etc.—stays the same.

When software is interoperable with other apps, operating systems, and the internet, there are a lot of variables that the original software developer cannot predict, so updates, fixes, etc., are an expected part of the process.

Image:
A screen shot of a collection of apps on the Zapier platform.

This is part of what necessitated the shift to the DevOps suite of mindsets, toolsets, and practices. With the constant cycle of updates and multiple teams creating different fixes simultaneously, it became essential that everyone working on a piece of software is working on the most up-to-date version.

Part of DevOps is having software for software.

This is the difference between waterfall and agile approaches to software development.

Agile Software Development

Image with pop-up text:
A diverse group of people are gathered i a room discussing a topic.
Pop-up text: Instead of saying "Do X, not Y," the Agile principles state, "Y is valuable, so don't ignore it, but X is more important, and here's why."

Instead of saying "Do X, not Y," the Agile principles state, "Y is valuable, so don't ignore it, but X is more important, and here's why."

In the late 90s, software developers struggled with competing goals in their projects, such as a desire to ship working software quickly vs. creating a perfect product.

The agile software movement was born from those dilemmas, and in 2001 the Manifesto for Agile Software Development was published.

In their manifesto, they wrote priorities for their values:

"Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan."

It is an excellent example of how concise a set of principles can be while giving enough guidance to be useful and still leaving plenty of room for interpretation and innovation.

By codifying this level of flexibility while still setting out fundamentals, a highly distributed Agile community could collaborate on development methodologies and create a distinct culture of innovation that is still going strong decades later.


Agile development principles

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
  • Business people and developers must work together daily throughout the project.
  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress.
  • Agile processes promote sustainable development.
  • The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity—the art of maximizing the amount of work not done—is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Open-source and inner-source

Open-source models provided many challenges and lessons to the software development world. Open-source software is developed by many different parties for various reasons and often serves as a 'common core' function for other software (such as PHP, which powers many website servers, and Python, a programming language used by data scientists).

Open-source developers have to collaborate around common values and a shared purpose because they don't have authority over each other. Similarly, varying departments inside large organizations need to work with each other despite competing objectives and a lack of clarity over who has 'authority.'

The desire to bring open-source development principles into organizations and apply open-source software principles to the development of proprietary code is sometimes referred to as 'innersourcing,'.

Within a digital factory, there are several methodologies related to DevOps. It's helpful to know how they connect and why each is valuable.

Design Thinking

Explore the problem

Define what is by listening to people, and then imagine new possibilities.

Lean [Startup]

Build the right thing

Test ideas as quickly and inexpensively as possible to learn what the right thing is.

Lean is the framework for testing beliefs and learning the way to the proper outcomes.

Agile

Build the thing right

Agile is how to adapt the software to changing conditions.

DevOps

Build the thing at scale

DevOps is how to reliably, securely, and quickly deliver software.

DevOps requires Digital Fluency and broad participation

Image with pop-up text: 
Two people are working together with a computer in front of them. 
Pop-up text: 
Digital Fluency refers to the thinking, data, skills, tools, and business models that make up a broader understanding of digital transformation, rather than focusing on the technology element.

Digital Fluency refers to the thinking, data, skills, tools, and business models that make up a broader understanding of digital transformation, rather than focusing on the technology element.

In other words, everyone involved—across a large number of different teams and departments—needs a base-level understanding of the development lifecycle and digital business ecosystem. All of the people who are accountable for successful digital initiatives need to participate at some level in DevOps, even if just providing input at the beginning of the process.

This means that software developers, IT operators, and security teams all need to also understand the business models and needs that are associated with a particular initiative, as well as the user's wants and expectations.

Measures of DevOps success

Velocity is a crucial measure of a company's DevOps success. In this context, velocity refers to how quickly software can respond to the developing needs of users, changing security environments, or business updates. Velocity also reflects a team's ability to communicate and the efficiency of the systems already in place.

Another measure of the overall success of a digital factory (and DevOps, specifically) is how much it costs per given deployment or product to make and release updates and otherwise maintain it. In traditional software development, everything is seen as one project, and it's easy for there to be significant cost overruns, which can lead to resistance to adding new features or otherwise developing the software.

DevOps promises to lower the per-change cost of software development for businesses in the long term. However, in the short term, it may be just as expensive as other approaches to software development or even more expensive during the setup period due to the large number of people involved and systems being integrated. This is why digital champions need to set clear directionality for the company through a digital narrative and other elements of strategy—it provides 'air cover' for technologists who are making a case for investing in foundational technologies and teams.

DevOps Metrics

DevOps success is measured in many ways, depending on the type of DevOps team and their objectives. However, all effective teams pay attention to a couple of key metrics:

  • Deployment frequency: How often software is successfully released to 'production'
  • Lead time for changes: The amount of time it takes a commit to get into production
  • Change failure rate: The percentage of deployments that cause a failure in production
  • Time to restore service: How long it takes an organization to recover from failures in production

These are sometimes referred to as DORA metrics, after Google's DevOps Research & Assessment team, who first popularized them. At each DevOps stage, these and additional metrics will be used by teams to measure their efficacy.

Tools Notice: 
Specific tools may show the company's tagline for their offering or our paraphrased version for clarity. Specific tools listed may link to their own website, which is outside our control. Causeit, Inc., the creator of this Digital Fluency Guide, does not receive any sponsorship money or affiliate revenue from any listed company. However, members of the Causeit team may own stock in publicly-traded companies shown here, either directly or via ETFs/mutual funds/other assets. Causeit also does not represent any of these companies or make statements on their behalf. The referenced companies/tools are shown primarily as examples of commonly discussed solutions in the marketplace and development communities and are not rigorously ranked or scientifically selected.

The DevOps Cycle

Plan

The Plan stage of the DevOps cycle begins when a team has declared its intention to release software and ends when the focus shifts to coding and assembly.

At this point, the focus is on mapping customer or user needs and solving them with software, centering user needs in the decision-making process.

This stage can include a variety of thinking approaches and styles, and it is helpful to set explicit expectations about which forms of thinking are needed. For example, 'divergent thinking' about new possibilities might be very helpful in the early stages of a product, but 'convergent thinking' may be more relevant to updating plans for an existing product or service.

Design Thinking is a critical element, allowing the team to gather as much information as possible from the right places and then ask, "Are we thinking about this in the right way?" before committing time and energy to coding.

To borrow an aphorism, this is the ax-sharpening phase of cutting down a tree.

Key activities in this stage begin with identifying needs for the application or initiative from various groups, including end-users (in the form of persona models), business stakeholders, and technology stakeholders. These needs are then mapped to objectives and key results in various forms, including:

  • User stories, sometimes organized into collections or 'epics'
  • Initial data models, including processing, inputs and outputs, integrations, and other requirements
  • Business models, value propositions, etc.

Various team members must be identified in key roles, with specific and well-defined responsibilities. Due to the organizational siloing of departments and resources, many businesses find this a challenging task. Good communication and principles of networked leadership are important throughout DevOps, but especially in this stage.

Creating and adjusting budgets for time, money, and other resources are necessary in the plan stage. Participants also need to consider data ethics, cybersecurity, and legal & compliance strategies.

After this, a backlog—a list of development needs—is created, broken down into smaller batches, and sequenced according to priority. These are then grouped with other discussions, tests, etc., into sets of work, known as 'sprints.'

At this point, it is also helpful to identify existing technology resources (applications, code libraries, APIs/SDKs, prior custom code, open-source resources, and off-the-shelf software) that can meet the plan's requirements and be integrated without having to create them from scratch. This leaves the writing of custom code only for any remaining unmet needs.

An enterprise cloud platform for software development, hosting, and data analysis.

Achieve your goals with the freedom and flexibility to build, manage, and deploy your applications anywhere. Use your preferred languages, frameworks, and infrastructure—even your own datacenter and other clouds—to solve challenges large and small.

This is some text inside of a div block.
This is some text inside of a div block.
Services and features within Microsoft's Azure cloud platform focused on software development.

Overcome challenges at every stage of remote engineering and learn how Microsoft engineering teams have enabled remote development.

This is some text inside of a div block.
This is some text inside of a div block.
Sketch-style wireframing for user interfaces.
This is some text inside of a div block.
This is some text inside of a div block.
A knowledge-management and wiki system favored by software developers and technical writers.

Spend less time hunting things down and more time getting things done. Organize your work, create documents, and discuss everything in one place.

This is some text inside of a div block.
This is some text inside of a div block.
The first major cloud document and collaboration platform. Google Docs is also the common name for the larger Google Workplace suite of cloud collaboration and file storage tools.

Use Google Docs to create, and collaborate on online documents. Edit together with secure sharing in real-time and from any device.

This is some text inside of a div block.
This is some text inside of a div block.
Google's productivity and collaboration suite, including Gmail, Drive, Docs, and Meet.
This is some text inside of a div block.
This is some text inside of a div block.
"Plan, track, and release world-class software with the #1 software development tool used by agile teams."

Plan, track, and release world-class software with the #1 software development tool used by agile teams.

This is some text inside of a div block.
This is some text inside of a div block.
Chat and team communication tools for teams using the Microsoft Office 365 ecosystem. Rapidly expanding due to Office's sizeable existing user base.

Make amazing things happen together at home, work, and school.

This is some text inside of a div block.
This is some text inside of a div block.
The world's most popular digital whiteboarding and visual collaboration software, providing an infinite canvas for teams to create visuals, embed content, and organize ideas.

The online collaborative whiteboard platform to bring teams together, anytime, anywhere.

This is some text inside of a div block.
This is some text inside of a div block.
Visual collaboration and whiteboarding software with repositionable content elements and features for facilitation.

MURAL connects teams with a digital whiteboard and collaboration features designed to inspire innovation.

This is some text inside of a div block.
This is some text inside of a div block.
One of the first 'ChatOps' tools. Gained significant traction in startups and development teams, has a rich API and integrations now backed by Salesforce.

Slack is your digital HQ Transform the way you work with one place for everyone and everything you need to get stuff done.

This is some text inside of a div block.
This is some text inside of a div block.

Experiments Designed

Number of experiments (technical, market, etc.) designed 'on paper'

Hypotheses

Assumptions and possibilities documented; testing these leads to higher likelihood of offerings that are genuinely useful and feasible

User Stories

Fully-written user stories (demonstrates listening to users which will lead to increased quality)

CODE & ASSEMBLE

The Code & Assemble stage of the DevOps cycle is where hands land on keyboards. Developers use existing frameworks best suited for the project, select prewritten functions from code libraries, and write custom code when necessary to bridge any gaps between the building blocks they've assembled to produce the results they need.

This process is not unlike how a tailor will use existing design patterns (akin to programming frameworks) to fashion a suit. Even after selecting and cutting the pieces of fabric (code libraries) to hang on the pattern, the tailor will still need to make minor alterations to customize the fit (custom code) for each individual's needs. And just like with clothing, sometimes the needs can change between the time of the initial planning and the final product. Threads can break under pressure during assembly, or large dinners happen and the measurements change.

Tools and services of various scales which help developers and lay users to connect APIs to each other.
This is some text inside of a div block.
This is some text inside of a div block.
"A secure, highly scalable, managed source control service that hosts private Git repositories. CodeCommit eliminates the need for you to manage your own source control system or worry about scaling its infrastructure."

"AWS CodeCommit is a secure, highly scalable, managed source control service that hosts private Git repositories. CodeCommit eliminates the need for you to manage your own source control system or worry about scaling its infrastructure."

This is some text inside of a div block.
This is some text inside of a div block.
A widely-used open source software version control system.

"Enterprise-class centralized version control for the masses"

This is some text inside of a div block.
This is some text inside of a div block.
"Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team."

Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team.

This is some text inside of a div block.
This is some text inside of a div block.
"Search, monitor, and track across SVN, Git, and Perforce repositories."

Search, monitor, and track across SVN, Git, and Perforce repositories.

This is some text inside of a div block.
This is some text inside of a div block.
Tools for every stage of software development, used by 83 million developers across four million organizations.

Millions of developers and companies build, ship, and maintain their software on GitHub—the largest and most advanced development platform in the world.

This is some text inside of a div block.
This is some text inside of a div block.
"From planning to production, bring teams together in one application. Ship secure code faster, deploy to any cloud, and drive business results."

From planning to production, bring teams together in one application. Ship secure code faster, deploy to any cloud, and drive business results.

This is some text inside of a div block.
This is some text inside of a div block.
"Plan, track, and release world-class software with the #1 software development tool used by agile teams."

Plan, track, and release world-class software with the #1 software development tool used by agile teams.

This is some text inside of a div block.
This is some text inside of a div block.
One of the most popular API-integration tools, requiring little to no code for users and businesses to link and automate apps and datasets quickly.
This is some text inside of a div block.
This is some text inside of a div block.
One of the most popular source code management tools for software developers, especially those practicing DevOps and CI/CD.
This is some text inside of a div block.
This is some text inside of a div block.

Active Code Time

Amount of time spent actively creating code in an editor or integrated development environment (IDE)—measures 'flow state' for developers

Code Commits

Number of submissions of code to a repository (may use specific 'successful' or 'functional' if needed)

Commit Frequency

Number of code commits integrated into the trunk branch per developer per day

Iteration Length

Duration of a given iteration (eg, a sprint, a 'small size t-shirt' etc)

Lines of Code

Sum of additions and deletions of code integrated into a code trunk or main branch (should couple with quality measures)

Build

The Build stage of the DevOps cycle is where all previous coding and assembly work comes together. The various threads of work building each aspect of the software are compiled and tested as a unit in a controlled environment.

A project will cycle between its code & assemble, build and test stages until it reliably produces error-free, accurate results.

IT operations automation tools.

Red Hat® Ansible® Automation Platform on Microsoft Azure offers all the benefits of Ansible automation, with the convenience and support of a managed application. This offering is fully supported by Red Hat and deployed in your Azure cloud.

This is some text inside of a div block.
This is some text inside of a div block.
A library and tool used to build applications in Java and other languages.

Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, assemble, test and run Java applications. Ant can also be used effectively to build non Java applications, for instance C or C++ applications. More generally, Ant can be used to pilot any type of process which can be described in terms of targets and tasks.

This is some text inside of a div block.
This is some text inside of a div block.
Software project management tool for Java-based projects.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

This is some text inside of a div block.
This is some text inside of a div block.
"Continuous integration, deployment, and release management."

Continuous integration, deployment, and release management.

This is some text inside of a div block.
This is some text inside of a div block.
"Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team."

Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team.

This is some text inside of a div block.
This is some text inside of a div block.
Automation for software builds and IT operations.

Automation Software for Continuous Delivery of Secure Applications and Infrastructure

This is some text inside of a div block.
This is some text inside of a div block.
A knowledge-management and wiki system favored by software developers and technical writers.

Spend less time hunting things down and more time getting things done. Organize your work, create documents, and discuss everything in one place.

This is some text inside of a div block.
This is some text inside of a div block.
A commercial tool for 'containerizing' applications and code, which popularized containers in modern development.

Accelerate how you build, share, and run modern applications.

This is some text inside of a div block.
This is some text inside of a div block.
Tools for every stage of software development, used by 83 million developers across four million organizations.

Millions of developers and companies build, ship, and maintain their software on GitHub—the largest and most advanced development platform in the world.

This is some text inside of a div block.
This is some text inside of a div block.
"From planning to production, bring teams together in one application. Ship secure code faster, deploy to any cloud, and drive business results."

From planning to production, bring teams together in one application. Ship secure code faster, deploy to any cloud, and drive business results.

This is some text inside of a div block.
This is some text inside of a div block.
An open-source tool for 'containerizing' applications and code.

Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.

This is some text inside of a div block.
This is some text inside of a div block.
"Automate infrastructure on any cloud : Provision, change, and version resources on any environment. Deliver infrastructure as code."

Automate infrastructure on any cloud : Provision, change, and version resources on any environment. Deliver infrastructure as code.

This is some text inside of a div block.
This is some text inside of a div block.
Software build automation tool based in the Python programming language.

- Buildout, an automation tool written in and extended with PythonBuildout, an automation tool written in and extended with PythonBuildout is a tool for automating software assembly.- Run build tools to build software.- Apply software and templates to generate configuration files and scripts.- Applicable to all software phases, from development to production deployment.- Based on core principles: - Repeatability - Componentization - Automation

This is some text inside of a div block.
This is some text inside of a div block.
"The CLI tool gluing Git, Docker, Helm & Kubernetes with any CI system to implement CI/CD and Giterminism. "… !!!

The CLI tool gluing Git, Docker, Helm & Kubernetes with any CI system to implement CI/CD and Giterminism.

This is some text inside of a div block.
This is some text inside of a div block.

Iteration Length

Duration of a given iteration (eg, a sprint, a 'small size t-shirt' etc)

Test

The Test stage verifies that the software functions properly and as expected by users. Testing can be manual or automated.

Test-Driven Development can ensure errors don't make their way into production code. These tests can even be designed before the program is built. Unit tests address individual sections of code and can be run during or before the build stage is complete.

In contrast, functional testing takes place after the software has been compiled. This tests the program, as opposed to its component parts, ensuring the system is performing as expected.

"Fast, easy and reliable testing for anything that runs in a browser. Install Cypress in seconds and take the pain out of front-end testing."

Fast, easy and reliable testing for anything that runs in a browser. Install Cypress in seconds and take the pain out of front-end testing.

This is some text inside of a div block.
This is some text inside of a div block.
"Intelligent test automation for agile teams: easily create reliable end-to-end tests that improve application quality without slowing you down."

Intelligent Test Automation for Agile TeamsEasily create reliable end-to-end tests that improve application quality without slowing you down.

This is some text inside of a div block.
This is some text inside of a div block.
Automated testing for all operating systems, APIs, and browsers.
This is some text inside of a div block.
This is some text inside of a div block.
Automates browsers for use in web testing and robotic process automation.

Selenium automates browsers. That's it!What you do with that power is entirely up to you.Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that.Boring web-based administration tasks can (and should) also be automated as well.

This is some text inside of a div block.
This is some text inside of a div block.
"Automated UI testing that covers you from device cloud to packaged apps."

Automated UI testing that covers you from device cloud to packaged appsEnsure the quality of your application without sacrificing speed or agility with an easy-to-use, GUI test automation tool.

This is some text inside of a div block.
This is some text inside of a div block.
Planning and organization of software tests.
This is some text inside of a div block.
This is some text inside of a div block.
Manages software quality across the entire development lifecycle.
This is some text inside of a div block.
This is some text inside of a div block.

Passed Unit Tests

Number of tests passed at a unit level

Release

TheThe Release stage is the fulcrum where a product goes from creation to delivery. At this point, developers have created, tested, fixed, and retested a product to satisfaction, certifying that it is ready to be deployed.

If the product were a book, this is the point where, after a series of drafting and proofreading, everything can 'go to print.'

"Continuous integration, deployment, and release management."

Continuous integration, deployment, and release management.

This is some text inside of a div block.
This is some text inside of a div block.
"Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team."

Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team.

This is some text inside of a div block.
This is some text inside of a div block.
"The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project."

The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

This is some text inside of a div block.
This is some text inside of a div block.
"Plan, track, and release world-class software with the #1 software development tool used by agile teams."

Plan, track, and release world-class software with the #1 software development tool used by agile teams.

This is some text inside of a div block.
This is some text inside of a div block.

Alpha Releases

Number of initial, partially-functional digital releases.

Beta Releases

Number of functional early software releases

Delivery Velocity Score

Average of an organizations' percentile rank across Delivery Frequency and Delivery Lead Time

GA Releases

Number of General Availability (GA) releases (public releases which are not alpha or beta stage)

Time From Bug Report to Bug Fix

Measures responsiveness of a software team to users, supports a high-quality experience and builds trust

Deploy

In the Deploy stage, the Operations team takes the helm as the newly-minted release is shipped to customers!

Many factors determine how a release is deployed, including:

  • Will the new software reside on the same physical systems as the old?
  • Will that cause downtime while the switch is being made, or will integration be seamless?
  • If many users will be receiving the update simultaneously, are more servers needed to accommodate the increased traffic?
  • Is there an opportunity for additional testing by deploying the new release to some, but not all, users to see how it performs in the real world?

Historically, deployment was a manual act; however,  in a continuous improvement and integration model, the most up-to-date version is automatically in use as soon as it is ready.

"AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications. You can use AWS CodeDeploy to automate software deployments, eliminating the need for error-prone manual operations."

AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications. You can use AWS CodeDeploy to automate software deployments, eliminating the need for error-prone manual operations.

This is some text inside of a div block.
This is some text inside of a div block.
"Automate continuous delivery pipelines for fast and reliable updates"

Automate continuous delivery pipelines for fast and reliable updates

This is some text inside of a div block.
This is some text inside of a div block.
Amazon Web Services is the leading cloud platform for websites, apps, data processing, and various other uses. It began life as an 'operating system for the web.'

The leading cloud platform.

This is some text inside of a div block.
This is some text inside of a div block.
IT operations automation tools.

Red Hat® Ansible® Automation Platform on Microsoft Azure offers all the benefits of Ansible automation, with the convenience and support of a managed application. This offering is fully supported by Red Hat and deployed in your Azure cloud.

This is some text inside of a div block.
This is some text inside of a div block.
"Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team."

Collaborate on code with inline comments and pull requests. Manage and share your Git repositories to build and ship software, as a team.

This is some text inside of a div block.
This is some text inside of a div block.
"Build powerful, automated workflows: automate your code from test to production with Bitbucket Pipelines, [Atlassian's] CI/CD tool that's integrated into Bitbucket Cloud. "

Build powerful, automated workflows: automate your code from test to production with Bitbucket Pipelines, our CI/CD tool that's integrated into Bitbucket Cloud.

This is some text inside of a div block.
This is some text inside of a div block.
Automates builds (CI/CD) across multiple environments in the cloud or on private infrastructure for speed and reliability.
This is some text inside of a div block.
This is some text inside of a div block.
A commercial tool for 'containerizing' applications and code, which popularized containers in modern development.

Accelerate how you build, share, and run modern applications.

This is some text inside of a div block.
This is some text inside of a div block.
"The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project."

The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

This is some text inside of a div block.
This is some text inside of a div block.
Automate continuous operations (for development and IT in general).

Innovate with infrastructure automationPuppet is redefining what’s possible for continuous operations. Easily automate your environmentto deliver at cloud speed and cloud-scale with products that are responsive and predictive by design.

This is some text inside of a div block.
This is some text inside of a div block.
"Developer security for teams of all sizes: find and automatically fix vulnerabilities in your code, open source dependencies, containers, and infrastructure as code — all powered by Snyk’s industry-leading security intelligence."

Find and automatically fix vulnerabilities in your code, open source dependencies, containers, and infrastructure as code — all powered by Snyk’s industry-leading security intelligence.DEVELOPER SECURITY FOR TEAMS OF ALL SIZES

This is some text inside of a div block.
This is some text inside of a div block.
"Source code is your software asset. Code is at the core of your software and dictates its behavior and performance. Clean code ensures that your software continues to be an asset—not a liability—and is the key driver for today's business success."

Source code is your software asset. Code is at the core of your software and dictates its behavior and performance. Clean code ensures that your software continues to be an asset—not a liability—and is the key driver for today's business success.

This is some text inside of a div block.
This is some text inside of a div block.

Beta Integrations

Number of integrations of apps and services that reached a beta state

Deployment Time

Amount of time needed per deployment of code

Deployment Frequency

How often a DevOps team successfully releases software to production

Mean Time to Change (MTTC)

Time from project beginning until successful 'live' deployment

Operate

The Operate stage is the domain of the traditional IT department, focusing on servers and systems which host applications. The tools and processes for ongoing IT operations are as numerous and varied as the developer's coding languages. They involve stacks (or collections) of tools that run servers, read and analyze databases, and generate user-facing apps. These tools also can be used to monitor website traffic, identify software requests, and track performance.

"Empower Dev, IT Ops, and business teams to collaborate at high velocity. Respond to changes and deliver great customer and employee service experiences fast."
This is some text inside of a div block.
This is some text inside of a div block.
"Notify the right people at the right time with powerful incident alerting and on-call schedules"

Notify the right people at the right time with powerful incident alerting and on-call schedules

This is some text inside of a div block.
This is some text inside of a div block.
"Incidents happen. Keep your users informed and ditch the flood of support emails during downtime."

Incidents happen. Keep your users informed and ditch the flood of support emails during downtime.

This is some text inside of a div block.
This is some text inside of a div block.
A service and sales communication system centered on a ticketing and helpdesk model.

Zendesk makes customer service better. We build software to meet customer needs, set your team up for success, and keep your business in sync.

This is some text inside of a div block.
This is some text inside of a div block.

API Calls

Times a given API has been accessed (may be divided by the number of unique users making the calls)

Apdex

Application performance index expressed as a weighted average of users satisifed, tolerating a service, or frustrated.

Average Response Time

How long an application takes to perform a triggered transaction

Cohort Improvement

Percentage of a cohort's new users who are (satisfied, properly onboard, converted, etc) in a set period of time vs. percentage of prior cohorts of new users

Customer Tickets

Number of customer tickets opened in a given time period (expresses either dissatisfaction or occasionally positive engagement)

Error Rates

Number of mistakes made by a system, which may or may not be due to a defect in programming

Mean Time to Detection (MTTD)

Time needed to detect a failure, error or defect

Service-Level Objectives (SLOs)

Category of metrics tracking specific performance relative to promised or targeted service levels

Uptime

Amount of time a service remains operational (usually expressed as a percentage over a given time period)

Monitor

This stage is also sometimes termed 'continuous feedback.' Operations and customer support teams track website or server availability, software errors, and, most importantly, customer input. This input is harvested by tracking the frequency and severity of bug tickets, direct user feedback, and passive monitoring like site analytics, tracking a user's activity and conversion rates.

The data from this stage feeds back to the planning and coding stages continually, informing future design planning and upcoming version releases.

Monitors cloud app performance.

Transform your applications and business with AppDynamics real-time performance monitoring.

This is some text inside of a div block.
This is some text inside of a div block.
"Modern monitoring & security: see inside any stack, any app, at any scale, anywhere."

Modern monitoring & security: see inside any stack, any app, at any scale, anywhere.

This is some text inside of a div block.
This is some text inside of a div block.
"Simplify cloud complexity with Software Intelligence — observability, automation, AI, and cloud-native application security in one platform."
This is some text inside of a div block.
This is some text inside of a div block.
Customer experience feedback with on-site, in-app, SMS, and social listening features.

Excel at customer experience in a world of changeㅤQuickly pivot based on your customers' feedback and drive more value for them—and your business.

This is some text inside of a div block.
This is some text inside of a div block.
"Your monitoring data displayed on beautiful graphs and dashboards - with alerting."

Your monitoring data displayed on beautiful graphs and dashboards - with alerting.

This is some text inside of a div block.
This is some text inside of a div block.
Records how users behave on your site to help understand them bettergr

Understand how users behave on your site, what they need, and how they feel, fast.

This is some text inside of a div block.
This is some text inside of a div block.
"Collaborate at high-velocity, respond to business changes and deliver great customer and employee service experiences fast."

Collaborate at high-velocity, respond to business changes and deliver great customer and employee service experiences fast.

This is some text inside of a div block.
This is some text inside of a div block.
"Plan, track, and release world-class software with the #1 software development tool used by agile teams."

Plan, track, and release world-class software with the #1 software development tool used by agile teams.

This is some text inside of a div block.
This is some text inside of a div block.
Monitors software and infrastructure.
This is some text inside of a div block.
This is some text inside of a div block.
"New Relic is where dev, ops, security and business teams solve software–performance problems with data."
This is some text inside of a div block.
This is some text inside of a div block.
"Notify the right people at the right time with powerful incident alerting and on-call schedules"

Notify the right people at the right time with powerful incident alerting and on-call schedules

This is some text inside of a div block.
This is some text inside of a div block.
"Software that makes your software better: helping you deliver better product experiences for happier and more productive users."

Software that makes your software better: helping you deliver better product experiences for happier and more productive users.

This is some text inside of a div block.
This is some text inside of a div block.
One of the first 'ChatOps' tools. Gained significant traction in startups and development teams, has a rich API and integrations now backed by Salesforce.

Slack is your digital HQ Transform the way you work with one place for everyone and everything you need to get stuff done.

This is some text inside of a div block.
This is some text inside of a div block.
Monitors user experience with data from both real users and synthesis (hypothetical users).
This is some text inside of a div block.
This is some text inside of a div block.
A data processing and analytics platform popular with enterprises and developers for its flexibility.

The Data Platform for the Hybrid WorldGo from visibility to action, fast and at scale — for security, observability and beyond.

This is some text inside of a div block.
This is some text inside of a div block.
"Incidents happen. Keep your users informed and ditch the flood of support emails during downtime."

Incidents happen. Keep your users informed and ditch the flood of support emails during downtime.

This is some text inside of a div block.
This is some text inside of a div block.
"Reduce downtime with real-time alerting, dashboards, and machine-learning-powered analytics for all three types of telemetry—logs, metrics, and traces."
This is some text inside of a div block.
This is some text inside of a div block.

API Calls

Times a given API has been accessed (may be divided by the number of unique users making the calls)

Apdex

Application performance index expressed as a weighted average of users satisifed, tolerating a service, or frustrated.

Average Response Time

How long an application takes to perform a triggered transaction

Cohort Improvement

Percentage of a cohort's new users who are (satisfied, properly onboard, converted, etc) in a set period of time vs. percentage of prior cohorts of new users

Customer Tickets

Number of customer tickets opened in a given time period (expresses either dissatisfaction or occasionally positive engagement)

Error Rates

Number of mistakes made by a system, which may or may not be due to a defect in programming

Mean Time to Detection (MTTD)

Time needed to detect a failure, error or defect

Service-Level Objectives (SLOs)

Category of metrics tracking specific performance relative to promised or targeted service levels

Uptime

Amount of time a service remains operational (usually expressed as a percentage over a given time period)

DevOps is not a simple or universal methodology. It is a set of mental models, decision principles, and tools that round out (or sometimes replace) highly-controlled certifications, carefully unified technology stacks, and other approaches to development and IT.

Next steps:

  • If you aren't a technologist, create thought partnerships with digital makers, such as software developers and user experience designers.
  • Identify digital champions and, if they are not already aware of DevOps and its implications, work with them to understand the model and ensure there are sufficient resources to support investment in this capability.
  • Read some of the sightings throughout this article to understand how DevOps works in more detail.

No items found.