Agile and DevOps just might be the two most searched words in the technology vocabulary, and for good reason. Enterprises have embraced these practices as key components of a successful software delivery transformation. But many organizations operating at scale are simply not realizing the full benefits of agile or DevOps techniques because they’ve only deployed a limited version of each.
Just because you’re Scrum doesn’t mean you’re agile. Often when organizations say they’re agile, they don’t mean they’ve adopted agile methods across their organization. They mean that they’ve adopted Scrum for development and testing, and the Scrum team is “done” when they can hand off a working build to the DevOps team.
(Related: Dynatrace UFO helps companies to DevOps)
The ideals of DevOps being a culture of change for improving collaboration between development and operations should span the entire life cycle. But the truth is that most are practicing “DevOps in the small.” In these (mostly large) organizations, DevOps engineers concentrate their efforts in automating the flow of code from the time the developer commits it, through verification and into production. This automation does little to enhance collaboration among the humans engaged in software delivery.
Consider value stream integration
In order to achieve the original goals of an agile or DevOps transformation, we need to remember that their basic tenets were formed around continual delivery of value to customers. So it only makes sense to scale those principles more broadly, take a holistic view of the software development and delivery life cycle, and think in terms of a value stream.
The term “value stream” originated in lean manufacturing. It is the sequence of activities an organization undertakes to deliver on a customer request. Wherever there is a request and a deliverable, there is a value stream. For software delivery, it’s the entire life cycle, from ideation to production.
Value stream integration connects the people, processes and tools involved in software development and delivery. It transforms what was previously a fragmented sequence of activities into a single, more effective value stream. It focuses on the currency of communication in software delivery, the artifacts that each discipline creates and shares with other colleagues to focus their collaboration.
Value stream integration provides both the automation of the flow of artifacts across the value stream and the resulting visibility into the activities in the value stream.
Automating the flow of information
The first step in optimizing the value stream is to automate the flow of information across it. The artifacts (such as defects, user stories and trouble tickets), as well as information from events (such as build failures, version control change sets, security scan vulnerabilities and performance monitoring alerts), are the currency of communication in the delivery life cycle. Without automation, stakeholders are forced to share information manually. This may include exporting data from one tool and importing it in another, manually rekeying this information or sharing information in meetings.
Automating the movement of artifacts from one system to another provides a frictionless flow of information across a unified software delivery life cycle. This increases the team’s effectiveness and results in significant time saved, reduces errors, and actually makes the people involved in the process happier. One Fortune 100 company reported a 22% increase in employee engagement thanks to the removal of these boring, mundane activities.
Every change to an artifact or creation of a new one represents work that has been done in the value stream. But without integrating the tools in the value stream, there is no way to see this work as it evolves across disciplines and tools. Because each of these tools has a limited view of the value stream, it can only provide visibility into part of the process.
When the tools in the value stream are integrated, it is possible to know when any artifacts change in any of the connected tools, and stream this activity data to a centralized database where the data can be manipulated and visualized using standard business intelligence tools. This visibility is the basis for a comprehensive metrics and governance program.
Agile and DevOps elevated
While both agile and DevOps initiatives are doing a fine job of increasing responsiveness at a local level, neither are providing the ability to optimize the end-to-end effectiveness or visibility into software delivery. By adopting a value stream view of and approach to software delivery, it’s possible to realize the original goals and benefits of an agile or DevOps transformation: increasing the organization’s ability to continually deliver customer value.