DevOps has matured over the past ten years, yet the core principle of people, process, and tools is still the same. Unfortunately, over the lifetime of DevOps, the focus has been mainly on tools, with little to no attempt to modify and/or optimize people and processes. Now, the industry is proving that DevOps must be provided to the organization as a service that incorporates all three aspects. Organizations need to focus their transformations on the entire delivery pipeline, and ensure that everyone involved has what they need to deliver high-quality software to customers.

What does this DevOps service, aka, “DevOps-as-a-Service,” look like?

  • The organization has a small team of experts to set up and run the service, and modify and extend it based on the evolving, overarching needs of the business.
  • Development teams leverage a standardized set of tools and templates provided by the organization. This allows development teams to focus on their application technology.
  • All non-developer staff (aka, “Everyone Else”) involved in the software delivery pipeline receives what they need from the service. This ensures consistent information for all teams, regardless of technology, delivery patterns, or other related factors.

Considering DevOps-as-a-Service for your organization? Here are a few things to keep in mind.

People and Process Come First

The DevOps-as-a-Service approach provides an important implementation pattern that helps companies address the people and process aspects of DevOps. With tooling provided as a managed service, developers can easily leverage the predefined delivery of their solutions without having to build it. The real gold is that the service also ensures that the right processes are being followed and the right people are involved at the right times. Development teams can move faster and with more consistency since best practices and steps are already built into the defined templates.

In fact, all of the teams involved in the application delivery pipeline will benefit, as the DevOps service enforces both better information and collaboration (people), and defined delivery models for the teams to follow (process).

Think Big Picture

A common mistake organizations make when implementing DevOps-as-a-Service is addressing only a subset of their application portfolio. DevOps-as-a-Service must apply to all DevOps applications. Otherwise, teams like QA and Operations will struggle to complete delivery and maintenance in a disjointed system, where some projects and releases are standardized and automated and many others require manual work.

Change is Good

Most organizations still have concepts like “change windows,” where the Production system is unavailable while individual sets of changes are delivered serially. This one-at-a-time approach results in other teams who want to send changes to the same Production environment waiting in the queue. The DevOps-as-a-Service model needs to enable the delivery of multiple sets of changes to Production simultaneously, regardless of whether the sets of changes are dependent on each other or not. For example, a set of releases might happen on a Wednesday night that include three unrelated changes: a bill service update, database maintenance, and a new web application.

The DevOps service also provides the relevant levels of granularity and information for the different teams managing application delivery. Operations, for instance, tends to focus on the change calendar, as well as which changes are coming and by whom. Meanwhile, Security and Audit tend to want a high-level view of all changes, so they can understand the risk of each change, and confirm that corporate policy has been met and all controls are in place. And Release and Project Managers want to know where their changes are, as well as the dependencies of those changes, and timeline and risk metrics for delivery.

Ultimately, your DevOps transformation is in actuality a service being provided to everyone involved with developing software at your organization—all of whom have different roles and requirements. By shifting to a service-oriented mindset, you ensure your DevOps transformation will always address the unique needs of every team and reliably give them the right tools, processes, and visibility needed to deliver software better than ever before.