The DevOps movement is gaining momentum, albeit at different speeds in different organizations. While the goal has been to streamline workflows between development and operations teams, there are a number of technological and cultural challenges companies have to address to optimize DevOps, and more importantly the entire software life cycle.
If you’re confused about how to implement DevOps in your organization, or you’re confused about what DevOps means to begin with, you’re not alone. There’s no one way to implement DevOps that works equally well for all companies (or teams for that matter), but there are a few best practices that can ease the transition. There are also different ways of describing DevOps, including its relationship to agile life-cycle management (ALM), agile, and Continuous Delivery. But regardless of the definition one prefers, the goal is the same: to get better quality software out the door faster and to ensure working software out in the field.
Connect the dots
Doing DevOps right takes a lot of tooling, some of which many companies still don’t yet have. Over the years, they’ve amassed point-specific tools, and some have embraced Continuous Integration, but the automation pipeline does not yet extend to operations.
“A lot of shops have an automated testing tool here or there, or a build tool, but they really don’t have the complete suite of automated tooling that they need,” said Dan Juengst, senior director of product marketing at CloudBees.
(Related: DevOps means a culture change)
The collection of specialized tools tends to exacerbate functional silos and a lack of end-to-end visibility. While there are a lot of great purpose-specific tools, many of them were not designed to work together, which makes effective collaboration and automated hand-offs difficult. Since no one vendor offers everything—and people within organizations are not inclined to jettison their favorite tools—there is a need for an integration layer that facilitates end-to-end workflows among the disparate toolsets.
“There are a lot of tools that do part of DevOps,” said Sam Guckenheimer, group product owner at Microsoft. “You’ve got release pipeline tools, monitoring tools, development tools and backlog-management tools, but rarely do they hook together, so you have a lot of homegrown integration, and everywhere you go you have a different collage of how the pieces fit. The measurement of effectiveness is how effectively you can get from an idea to working software in a user’s hands and how quickly you can [remediate an issue for a user].”
There is a tendency to acquire tools when a specific need arises. But without a coherent tool-acquisition strategy, point problems can get solved at the expense of a coherent, overall strategy.