Banks are software companies. Athletic apparel companies are software companies. Industrial manufacturing companies are software companies. No matter the product or service you offer, to win you need to be a software company. You may not sell something called “software,” but successfully making, marketing, and delivering any product today relies on software and technology, and a “software-focused” mind-set. Software allows you to create more value for your customers faster, and it lets you beat the competition. It allows you to make your corporate processes more efficient, opens new channels to reach your market, and improves the flow of innovation within your organization.
But to benefit from being a software company, you need to be fast, reliable, and secure. Your first challenge is to get features “out there” quickly and at high levels of quality. Then you must rapidly collect feedback from your users to guide your next set of ideas. In larger organizations, this needs to scale for thousands of employees and applications. This cycle of delivering value through software and iterating rapidly to reflect feedback powers the most successful organizations.
DevOps: A Business-driven Approach
DevOps is a set of cultural philosophies, processes, practices, and tools that radically removes waste from your software production process. It aims to create a culture where development, operations, and all other stakeholders work together, rather than being in isolated silos. It enables faster delivery of high-quality functionality and sets up a rapid and effective feedback loop between your business and your users. It’s also not new. DevOps involves concepts that have been in place in high-performing organizations for years. It’s not just about source code and servers, either. DevOps is about meeting the needs of your business. In a competitive economic environment, every organization should look to DevOps to better deliver value to customers and outpace the competition.
DevOps or Continuous Delivery?
Many business leaders have heard the terms DevOps and Continuous Delivery used in seemingly similar contexts. Both involve rapid, regular delivery of software. Both involve teams working together in a way that differs from organizations using traditional software development processes. But they’re not the same thing.
DevOps is a philosophy and a business-driven approach to delivering software solutions. It’s a portmanteau of “development” and “operations,” and it seeks to break down the barriers that traditionally existed between those parts of the development process. The main objective of DevOps is a culture and environment where teams work collaboratively to deliver software frequently and reliably. Culture and organizational dynamics are at the center of a DevOps transformation.
Continuous Delivery (commonly called CD) is an essential part of putting DevOps into practice. CD provides a way for changes to software to be released as they’re made, in a fast, reliable manner, with little risk and little need for human intervention. It uses Agile Software Development methods and emphasizes the importance of automation wherever possible. While most conversations about DevOps begin with a discussion of people, CD most often centers around tools. CD leverages tools for Continuous Integration (CI), Application Release Orchestration (ARO), test automation, and more.
So, it’s not a question of “DevOps” or “Continuous Delivery.” Both are agile, both require healthy collaboration between all contributors to the development process, both are focused on bringing value to customers. They fit together perfectly as part of the goal of improving the process of delivering value to customers. Statements like “a key part of our DevOps transformation was setting up a CD pipeline…” show how these two parts combine.