One of the first steps an organization takes before planning and implementing DevOps is to map out the software development value stream to determine where DevOps will provide the best ROI. You can improve efficiencies throughout the entire software development lifecycle by automating the least efficient development tasks and reducing friction between teams.
What are Value Streams?
The value stream concept predates DevOps methodology and is most closely associated with lean manufacturing. In a manufacturing environment, companies use value stream mapping to identify and eliminate waste, making the manufacturing process more efficient and reducing costs. For example, a widget company would trace and document every step it takes to make each widget in a flow chart. Using that data, they can identify and eliminate sources of bottlenecks in the process. Once one bottleneck is eliminated, value stream mapping shows where the next inefficiency is in the manufacturing process, and the company works to eliminate that. Value stream mapping can be applied to other industries, including software development. What activities are adding value to the finished application or system? What activities are not only slowing down development but also creating overhead that provides zero value to the customer?
The Link Between Value Streams and DevOps
DevOps focuses on eliminating bottlenecks in the software development process to deliver software faster, with a higher return on investment. Often, organizations discover that breaking down barriers between different teams helps reduce these bottlenecks and manages constraints in a way that increases overall productivity. The term “DevOps” demonstrates the links between the “Dev” (Development) and “Ops” (Operations) teams.
The second method DevOps uses for reducing bottlenecks is automating processes and approvals. If the value stream currently depends on employees completing manual steps and waiting for repetitive tasks to be approved, consider automating these tasks. Organizations cannot just put developers and operations teams into the same room and expect improvements, nor can they prove automation is improving efficiency without measuring the current process. Value stream mapping documents the flow from idea to release and provides the metrics that organizations need to focus improvement efforts.
Continuous Improvement (CI)
A key tenant of DevOps is that the software development and delivery process can iteratively and continuously improve. Once an organization has eliminated the first bottleneck, that phase of software development will be more efficient. However, upstream activities may not be able to complete their tasks quickly enough to provide inputs into the optimized workflow, and downstream activities may not be able to absorb the additional throughput. Those inefficiencies then become the next candidate for process improvements and automation.
Make the Most of Value Stream Mapping
Value stream mapping is a process that can be efficient or inefficient on its own. It takes time to trace the software development process. Mapping can also disrupt teams as they document their tasks, learn new tools, and adapt to cultural changes. A poorly planned value stream mapping project can slow down the development cycle and miss important data, so it’s critical that organizations work with DevOps experts to guide them through the process of value stream mapping.
Ready to get started value stream mapping?