This post is an excerpt from our recent “Guide to DevOps in Government“. The full guide is available for download at this link.
DevOps is a project management methodology that solves the problematic product handoff between developers and operations staff. Instead of operating in silos, both teams collaborate on a project from start to finish. They’re using the same platforms, speaking the same language and sharing everything they do on a project in real time. That’s where DevOps gets its name — it’s the melding together of developers and operations staff operationally, culturally, and technically.
“DevOps is about taking down that wall and working together and making sure that the requirements are not just a piece of paper, but something that is living,” explained 18F’s Diego Lapiduz.
Why pursue DevOps?
Collaboration — the very core of DevOps — is always a good thing. Bringing more minds to the table engenders more diverse ideas and helps focus teams on a common mission. Plus, it increases transparency across an organization.
But in addition to the basic benefits of collaboration, there are a ton of other reasons to use the DevOps process. It can help your agency achieve:
Quicker development. For many DevOpers, this is the most important benefit of the process. In fact, Lapiduz said, “the end goal is to develop and shape code more efficiently and faster, and with more iterations.”
Because developers and operations teams don’t have to waste time throwing code back and forth over the metaphorical wall, they can release iterations of their product sooner. And when they need to make changes or improvements to those applications, they can do so faster because both teams have a shared understanding of the project’s functions and goals.
Greater quality assurance. But even as workers deliver more services faster, they don’t have to sacrifice quality with DevOps. Actually, the process minimizes errors through two distinct attributes.
First, DevOps allows both teams to see the full scope of a project. That means they have a better understanding of how any single change — say, a change in a line of code or an update to a hosting platform — will affect the rest of the application. In traditional development processes, one change could derail an entire project. That’s far less likely because of the collaborative workflow of DevOps.
Second, automation replaces many human processes within DevOps. We’ll dive into that in greater detail later in this guide. But for now, know that DevOps reduces human error by automating many core development and deployment functions.
Better end products. With DevOps, “we see higher-quality solutions, and at the same time we see flexibility,” said Texas.gov Director of Technology Peter Eichorn.
When they use DevOps, both developers and operations workers gain a better understanding of the product they’re working on. Developers get to know the real-world conditions in which their code will operate. Operations teams learn what makes their services tick and why they were built that way. Together, both teams can make better decisions about how to build and deploy services, and that results in a better product overall.
And because there are minimal barriers between the development and operations environments, employees can make changes with minimal stress to ensure that applications keep pace with evolving needs and scenarios.
Happier end users. Ultimately, DevOps helps government agencies better serve citizens in the Digital Age. As users increasingly expect government resources to be provided with the same mobility, agility, and utility as private sector services, agencies seek ways to quickly meet those demands. When they turn to DevOps, they’re able to deliver those services and meet citizen expectations.
To learn how to get DevOps started at your agency, be sure to read our complete “Guide to DevOps in Government”.