Software delivery is a complex process. CTOs and CIOs across every business category have been tasked with creating more value with fewer resources.
While aligning your IT initiatives with company goals and objectives might seem easy in theory, it’s difficult to achieve in practice.
That’s where value stream management comes into play. With value streams, you can focus on every aspect of the product development lifecycle—from idea through the final delivery. Understanding the core concepts of value stream management and applying them to your software development process will have significant benefits for your organization.
We created this resource as a beginner’s guide to value stream management. The information below will help you understand value stream management so you can apply it to your business.
Value Stream Management Defined: What is Value Stream Management?
Value stream management is a lean business methodology. The practice helps decision-makers identify the value of software development, delivery, and resources of a software project. Value stream management allows organizations to monitor the end-to-end life cycle of software development by prioritizing “value streams” as opposed to features and functionality.
What is a value stream?
In simple terms, a value stream makes complex procedures easily visible, allowing teams the opportunity to pivot if certain actions will deliver more value to the final product. In practice, value stream management makes it easier to align software projects with overall business initiatives.
Without value stream management, software teams usually have different priorities than business executives. But value stream management allows everyone to take a step back to align goals and objectives across the entire organization for business outcomes.
To execute value stream management, all of the tools, people, processes, and dependencies of each must be evaluated. This gives business leaders, project managers, and executives complete visibility into how things work.
Value Stream Mapping: What is Value Stream Mapping and How Does it Work?
Now that you understand the core concepts of value stream management, it’s time to take this one step further and discuss value stream mapping (VSM).
The main purpose of value stream mapping is to identify waste and remove waste from your value streams. This concept can be traced back nearly 100 years to Toyota Motor Company’s production system.
Today, value stream mapping can be applied to a wide range of use cases, including product development, healthcare, lean manufacturing, supply chain management, and of course, software development.
Here’s an example from Lucidchart that shows what value stream mapping might look like in DevOps.
Value stream mapping can be a bit complicated. But it’s an excellent way to help you identify waste in your process. In terms of software delivery, you can use the acronym “DOWNTIME” to help categorize different types of waste:
- Defects — Bugs, errors, mistakes, and re-worked tasks
- Overproduction — Unnecessary features, or anything else that’s more work than required
- Waiting — Any delay associated with the software not moving through the queue
- Non-Utilized Talent — Failing to use team members and staff who can improve your software development process
- Transport — Waste associated with passing deliverables from one person or department to another (example: sending the software from developers to product testers and QAs)
- Inventory — Work that’s partially completed
- Motion — Waste associated with switching between tasks
- Extra Processing — Reworking things like undocumented code or relearning steps in the process
When you’re going through the value-stream mapping process, it’s easy to write certain things off as “that’s just the way we’ve always done it.” The vast majority of software development processes contain lots of waste. Waste typically equals higher costs and less value, so eliminating waste is crucial to your success.
Benefits of Value Stream Mapping (VSM)
VSM isn’t for everyone. It’s for leaders who want to maximize the value of software delivery. While it requires a bit of hard work, there are tons of benefits and advantages, including:
- Identify pain points or bottlenecks in your DevOps process
- Help eliminate bugs and defects from your software
- Enhances end-to-end visibility of the product life cycle
- Creates transparency across your software process
- Empowers cross-functional collaboration between development teams and departments
- Gives you the ability to identify opportunities to automate certain tasks
- Adds context and clarity to your process with charts and visuals
- Helps you prioritize results and KPIs
Ultimately, value stream mapping is the only way to maximize the outputs of your value streams. It ensures that your team is working at the highest level and provides you with the bandwidth required to deliver multiple software projects of high quality and maximum value.
Applying Value Stream Management to Software Delivery and Mobile App Development
As previously mentioned, the roots of value stream management and value stream mapping can be traced back to vehicle production lines. There are a wide range of use cases for this lean business methodology.
So I want to take a little more time to help you understand the concepts of value stream management software delivery—more specifically, mobile app development.
The idea of value streams stems from delivering value to a customer and accommodating the customer needs. But in the case of software development, customers can be internal or external. If you’re creating mobile apps for customers as a white label reseller, then your customers are external. But if you’re creating an HR mobile app for employee communication within your organization, then your “customers” are internal.
With value stream management, the “customer” is at the center of your decisions and process. This allows software teams to remain agile and do things differently on a project-to-project basis.
For example, some customers might want to provide more input throughout the software development process, adding critiques and feature requests along the way.
Other stakeholders could just provide you with an end goal and let your software team run with the idea—just waiting for the final deliverable (like a mobile app).
Compared to product assembly lines, value stream management for software delivery improves the way teams manage workflows. DevOps allows agile teams to make changes multiple times per day, as opposed to taking weeks for a single update.
VSM shortens end-to-end lead times. Certain changes or requests from stakeholders can be unpredictable. But with waste removed from your process, it’s much easier to provide continuous delivery and continuous improvements to software projects.
Measuring Value Streams in Software Delivery
Enterprise value stream management is a holistic approach to mobile app development and software delivery. It applies the principles of agile and DevOps for the complete software delivery pipeline and maximum business value.
But all of this is based on the ability to identify waste and remove it from your software delivery process. This is impossible unless you’re evaluating and measuring actual metrics.
Here’s an overview of what you can measure split into two categories—DevOps metrics and flow metrics:
- Deployment Frequency — How often code is delivered to production within the software team’s value stream.
- Lead Time — How long it takes to get code up and running successfully in a value stream.
- Mean Time to Repair — How long it takes to fix bugs, defects, unplanned outages, or other incidents that can impact end-users and stakeholders.
- Change Fail Rate — Percentage of changes in production that result in service with lower value and the subsequent remediation required in a value stream.
- Flow Item — Unit of work related to the business. These units can be features, defects, risks, or debts.
- Flow Time — Time it takes for flow items to go from “started” to “completed,” including active and wait times. Flow times can be used to determine when cycle times or time to values are increasing.
- Flow Load — The amount of flow items that are in progress in a specific value stream. Flow loads monitor the overutilization and underutilization of value streams, both of which can cause a reduction in team productivity.
- Flow Efficiency — Ratio of active times vs. wait times of the total flow time. This metric can help you figure out if waste is increasing or decreasing in your process.
- Flow Distribution — Ratio of the flow items completed in a specific period of time. This metric helps identify the different types of work being completed during different time windows to see if those time frames align with desired business objectives.
- Flow Velocity — Number of flow items completed in a specific time window. It determines whether or not value has accelerated.
Ultimately, DevOps metrics must be incorporated into your process if you’re going to effectively measure the flow of value metrics.
For those of you prioritizing end-to-end flow metrics, you need to use enterprise toolchains to accomplish this. These tools give you real-time visibility into your flow of work by capturing data, which automates tasks on your behalf. Trying to measure all of this manually in real-time is near impossible. But measuring value delivery is crucial for calculating return on investment.
How to Implement Value Stream Management: Steps For Value Stream Mapping (VSM)
Before we dive into the steps for value stream mapping, let’s take a closer look at what value stream management consists of. At its core, the concept can be broken down into three main categories—planning, orchestration, and analytics.
- Planning — Value stream management allows you to apply agile best practices across your entire organization for any software development project. This is crucial when you have teams working on multiple projects simultaneously with dependencies linked between different tasks, projects, and teams.
- Orchestration — Software development tools help you identify bottlenecks in your product pipeline. It makes it easier to standardize your process and unify teams across all departments. Orchestration encompasses compliance and task automation required to release software and mobile apps.
- Analytics — As previously mentioned, analytics are crucial in identifying the impact of value streams in real-time. You need to track lots of data and use that information to gather metrics, review reports, and more.
Without getting too technical, here’s a general step-by-step approach to implementing value stream mapping (VSM) into your software development process.
Step #1 — Define the Processes in Your Value Stream
The first thing you need to do is clearly identify the stages in your value stream. You can use basic value stream management solutions or value stream management platforms to help you out with this. Even a simple Kanban board for project management makes it easy to identify the stages of your process (example: to-do, in progress, done).
In terms of value stream mapping, you’ll ultimately take those stages and divide them into subcategories. These subcategories will contain distinct processes that you’ll ultimately put into a visual value stream map.
Step #2 — Indicate the Flow
After your steps and unique processes have been accurately added to a visual tool, it’s time to indicate your flows. This is as easy as using lines or arrows to explain the path of work items and functions throughout your software development process.
Step #3 — Gather Data and Add Timelines
Next, you need to collect the data associated with each step. Refer back to the metrics and KPIs we discussed earlier for this. You’ll want to measure things like how long it takes to complete each step and which resources are required for success.
Add the data and benchmarks to your value stream map. For each process, add in a box with all of your resources, work time, and additional metrics for each stage. You’ll ultimately use this to create a project timeline for the process.
This step goes beyond the hours or days required to complete an action. It must also encompass your lead times and cycle times for software delivery.
Step #4 — Identify Lean Wastes
Once everything has been mapped through the first three steps, it’s time to go back and evaluate your process. Look for lean waste in your value stream.
Refer back to the “DOWNTIME” acronym mentioned earlier in this guide for waste categories that are specific to software delivery.
Step #5 — Finalize Your Value Stream Map
Now that all of the lean waste in your value streams have been identified, you’ll be able to finalize your map. Take all of the data and information you’ve gathered in the first four steps to create an ideal value stream—without all of the waste.
Eliminating all of the waste at once might be unrealistic. So you might need to create several value stream maps to eliminate lean wastes in different stages on your path to an ideal value stream.
Value stream management isn’t always easy. But I hope this guide helped you understand the way it works in simple and non-technical terms.
Now that you have some basic knowledge of how value stream management and value stream mapping can be applied to software delivery, I encourage you to try it out. It’s a great way to improve your business strategy and add continuous integration and optimization to your software delivery process.
Follow the tips, tricks, best practices, and steps for value stream management that we covered in this guide.