Developing and maintaining software is a complex process that demands meticulous coordination and planning to deliver services that benefit customers and meet stakeholder expectations. One way to improve your teams’ processes is through value stream analysis.
Read on to find out what value stream analysis is, why it’s useful in the context of software development, and some tools that can help you utilize it in your organization.
Table of Contents
- What Is Value Stream Analysis?
- How Value Stream Analysis Helps Engineering Orgs
- Value Stream Analysis Examples in Software Development
- Best Value Stream Analysis Software
What Is Value Stream Analysis?
Value stream analysis is the process of identifying points in a business process where value is created and where it’s lost, as well as where waste is accumulated. Value stream analysis is an important part of Lean Six Sigma from lean manufacturing practices, but you can also use it in software development.
A value stream is the set of actions that take place in order to deliver a product or service to the business and/or customers. The first step in value stream analysis is for the team to create a current state map. This involves documenting the current process steps. The group then prepares a future state map that shows how processes should look and work.
Creating a value stream map (aka process mapping) can determine whether a step adds value by mapping out the company’s processes from raw idea to delivered product, including the transitions between activities.
How Value Stream Analysis Helps Engineering Orgs
The overall objective of value stream analysis for your engineering organization is software development process improvement. Let’s look at a few ways it does this.
1. Eliminates Waste and Improves Efficiency
Your SDLC process can become a cesspool of idle time and unnecessary steps. And value stream analysis can help you identify waste and remove it. But waste isn’t exclusive to idle time. Other types of waste that value stream analysis helps eliminate are: overproduction, conveyance, processing, motion and correction.
2. Improves Business Alignment
Running an engineering org is a juggling act. You’ve got requests from all angles—executives, sales and prospects, customers and customer success, etc. But you have finite resources in terms of time and people.
Value stream analysis helps you determine if what your teams are working on is actually moving the needle and supporting the rest of the business as expected.
We talked to Kathryn Koehler, Director of Productivity Engineering at Netflix. She told us how she ensures teams are working on things that truly matter.
3. Encourages Automation
Your devs can focus on creating the best possible product when the development process is highly automated. But to automate successfully, you need to know how your processes work from beginning to end, where the most work needs to be done, and how changes will affect existing workflows.
When applied to the development process, value stream analysis provides a clear picture of the information flow and highlights potential opportunities for automation. You’ll also be able to recognize the essential tasks you should never automate.
Value Stream Analysis Examples in Software Development
Using value stream analysis, you can cut down on inefficiencies in your SDLC and enhance the productivity of your DevOps CI/CD pipeline. Let’s look at examples of how value stream analysis can drive continuous improvement.
1. Lead Time
Lead time (or time to value) is a common measure of engineering efficiency because it helps identify several types of waste. It starts when the requirement or user story is requested and measures the entire process: specifying, scheduling, coding, testing, and delivery.
A shorter lead time means your streams are running smoothly and you're delivering value rapidly. Longer times indicate a bottleneck that you need to isolate and resolve.
Implementing continuous merge/continuous integration/continuous delivery (CM/CI/CD) is an excellent way to resolve a lot of these bottlenecks.
2. Cycle Time
Cycle time is the core metric of modern dev teams, and it’s how you capture how long you're spending on each stage of the development process so that you can identify areas for improvement.
Tracking the 4 phases of cycle time (coding time, PR pickup time, review time, and deploy time) identifies waste and shows your managers which branches are causing bottlenecks. They can then focus on an improvement plan to resolve them.
Our research shows that PR pickup times are typically the biggest culprit, so our recipe for improvement focuses on reducing waiting times with automation.
3. Mean Time to Restore (MTTR)
Defects or bugs in production are examples of correction waste. While you should measure and try to reduce the number of these incidents per deployment (aka change failure rate), you also need to track the time it takes the team to get a service up and running when an outage happens. This is known as mean time to restore, and it’s one of the stability DORA metrics.
4. Review Time
Having unnecessary reviews by too many team members is an example of conveyance waste. Maybe you’ve had a major defect and out of fear implemented 2+ reviewers on every PR. We hear this story a lot. But the data shows that not all PRs are created equal.
Some have 400+ lines of changes; others are less than 5. Some are highly sensitive areas of the codebase; others are non-functional, like docs, images, tests, or even reformatting code. Yet they often go through the exact same process.
Value stream analysis can help you identify conveyance waste, and tools like gitStream can help you automate improvement. gitStream allows you to create a clear set of rules and policies at the repo level that automate how code gets merged. Set up review automations so code that needs extra attention gets it, and everything else is expedited.
Best Value Stream Analysis Software
Every team working on software should consider using value stream analysis to cut down on inefficiencies and increase productivity. But this can be a huge challenge if you don’t have the proper tools in place. Here’s where LinearB comes in.
LinearB tracks the metrics above, giving you and your team leads visibility into the inefficiencies and bottlenecks in your value streams. Our Team Goals feature then helps your teams set up and track working agreements on how they need to improve. And our dev workflow optimization tools, WorkerB and gitStream, automate low-value tasks and ensure your devs stay on track with the established goals.
It’s a holistic tool for analyzing and improving value streams in your engineering organization.