A value stream is the chain of workflows and processes involved in planning, developing, and releasing a product. Value stream analysis (also known as value stream mapping) is the process of analyzing and visualizing this chain of activities, so you can find ways to improve operational efficiency. Value stream analysis originated in Lean manufacturing, where it’s used to streamline the building of physical products on an assembly line. However, these same principles are also effective at optimizing software development pipelines.
Value stream analysis can enable you to reduce waste in your software development lifecycle (SDLC) and further streamline your DevOps CI/CD pipeline. Let’s examine some of the biggest waste generators in a typical pipeline and discuss how value stream analysis can help.
In a lean manufacturing assembly line, overproduction of parts and products is one of the biggest sources of waste. In software development, overproduction involves wasting time and resources creating features that customers don’t want or can’t use. This usually occurs when organizations focus on building what they think the client wants rather than taking the time to get real feedback. Or, development teams only get feedback from upper management rather than from the software users.
Value stream analysis can minimize overproduction by visualizing how much time is spent developing new features that your customer base hasn’t prototyped or focus-grouped. You can then determine how to use resources more efficiently—for example, by connecting with end-users and getting feedback on potential features before they’re developed.
Another form of waste that can be identified with value stream analysis is incomplete work. This can occur when a team starts building multiple features they can’t complete by the deadline. Other times, teams will work on several unrelated features simply to meet time constraints rather than looking for sets of features that combine to provide greater business value.
Value stream analysis can help you identify the causes of incomplete work, such as unrealistic deadlines, a failure to communicate priorities, or inadequate project management. You can then proactively improve processes where necessary to ensure that nobody wastes their time in the future.
Relearning occurs when someone discovers a solution to a problem or a way of achieving a certain outcome but then immediately moves on without documenting the cause and/or resolution. When a similar problem pops up later, other team members need to start over from scratch, which is a huge waste of time.
Value stream analysis can help you identify specific delays caused by relearning. You can then ensure the offending team member has thoroughly documented the solution so future iterations won’t have the same problem. Value stream maps can also indicate if this is a recurring, organization-wide issue, so you can implement better policies and procedures for documentation.
In a software pipeline, handoffs are typically the largest source of waste. Handoffs occur whenever a project or workflow is passed to another person or team. Handoff delays are often caused by teams having too much work in progress (WIP). This happens when organizations focus too much on the productivity of one particular team rather than upon the entire process flow required to deliver the feature to the customer.
Value stream analysis visualizes the entire pipeline, making it easier to see where handoffs need to occur and when they cause unnecessary delays. You can then use this information to improve your handoff procedures, for instance, by implementing continuous delivery to automate movement through the pipeline.
While manufacturing assembly lines encounter many different forms of waste, SDLC waste is usually in the form of time. Teams waste time creating unwanted features, starting unfinished workloads, relearning how to solve problems, and handing off work. Value stream analysis gives you an overview of every process in your pipeline so you can identify how, where, and why you’re wasting time. By discovering the root cause and source of the wasted time, you can proactively improve and optimize your SDLC.