CommunityDevOps ExchangePartners
Articles
6/16/2023
10 minutes

Getting Started With Value Stream Maps

Written by
Team Copado
Table of contents

In a recent DevOps Days keynote, Peter Coffee, VP of Strategic Research at Salesforce, spoke on transforming organizations for the digital world. He argued that the phrase ‘digital transformation’ implies the end-goal is technology adoption. But in reality, Coffee expanded, “the outcome of your transformation must be transform-ability, that you must evolve from wherever you were to a new state, in which continuous transformation is part of that new behavior.”

 The ability to transform extends to all corners of a business. Companies lean heavily on IT teams to deliver on digital transformation. And just as the apps and products they deliver help businesses continually adapt and transform, they too need to continually optimize their processes to support the business needs. As companies push agile dev teams to deliver faster and faster, how does IT foster continuous improvement? That’s where value stream mapping comes in.

What is value stream mapping for DevOps?

Evolving from the Lean movements in manufacturing and healthcare, DevOps emerged to help IT reduce waste and maximize value. DevOps practices empower teams to collaborate, giving developers visibility into each other’s work. But like any process, as teams grow and scale, DevOps, too, must grow and scale as well. To do this, DevOps follows the five lean principles:

  1. Identify value
  2. Map the value stream
  3. Create flow
  4. Establish pull
  5. Seek Perfection

In order to continuously improve, teams must identify the value they provide and understand how they deliver this value. These process flows are called value streams, and they help visualize the steps and resources needed to deliver value.

Value stream maps (VSM) are visualizations that help teams identify both value and waste within processes. A VSM includes each significant step in a process and quantifies how it is (or isn’t) adding value to the customer. By focusing on value throughout the software delivery process, teams gain efficiencies by assessing bottlenecks, resourcing issues and other “waste.” 

How to map your software value stream

One challenge in improving the process of software development, or any knowledge work, is that you can’t see it. It’s easier to understand Lean practices in manufacturing, since you can actually see raw materials coming in, an assembly line transforming them, and finished products going out. 

So before we can improve our development process, we need to make it visible. The most important thing to visualize is the value stream itself. 

Even if your team is working hard, they may still struggle to deliver quality work on time. Since you cannot physically see where breakdowns in your process are happening, you need to map out each stage of your delivery process: planning, architect review, development, testing, change approval, and release.

Value Stream visualizations should go one step further than process stages. Within each process stage, invisible work is happening. For example, within the development stage, you may have frontend development and backend development workflows. We call these “process blocks.” They are parallel work types happening throughout your delivery process. Another example is manual and automated testing. Both are occurring within the testing stage, but they aren’t interdependent on each other.

Why is it important to identify process blocks? They help us more granularly assess the delivery process. To truly identify bottlenecks or process inefficiencies, you need to visualize and quantify the full process.

Estimating Time in Each Stage & Process Block

For each stage and process block of the value stream, start by documenting how many user stories are in progress and how many people are working within each.

Next, estimate how much time a user story typically spends in each process block. This estimate is called lead time and should include wait time, not just work time. In addition to estimating the full lead time of a process block, also document the active time for completing the user story. This is called the processing time, and it accounts for working time only, excluding wait times.

Lead time is important, but it doesn’t tell the whole story. Lead time is typically much longer than processing time for two reasons: people multitask and work sits idle. Often there is a period where work sits in an “inbox” before being started, or sits in an “outbox” waiting for the next phase.  The time work sits in an inbox or outbox is what’s considered “idle time.” 

Let’s go back to the development stage example. A single user story may sit in “ready for development,” or the “inbox” for five days before a developer actually begins work. Once a developer begins work, they may complete their work in only four hours. This results in a four-hour piece of work sitting in the development stage for more than five days even though the actual work time is minimal. 

Assessing lead time vs. processing time is essential in understanding strengths and weaknesses within your agile delivery process. The agile process is built on the idea of reducing the size of work to accelerate your delivery process. If you’re seeing large amounts of idle time, you can infer that you either have too many user stories or your user stories are too large to move quickly.

Estimating Quality in Each Stage & Process Block

No development team produces 100% usable work — some work is defective or isn’t used. You may even have team members who report quality issues with other members’ work.

Thus, it’s important to capture quality metrics as well. To estimate quality metrics, ask your team to report:

  • how often they receive work that is defective, missing information, or inaccurate 
  • when in the process they notice defects being introduced

Prior to mapping the value stream, you may know that defects are being released, but you may not be able to pinpoint when these errors are being introduced into the code. By tracking the percent of complete and accurate work at each stage and process block, you start to understand where rework is occurring and when work is being sent backwards in the process. Understanding where these challenges occur helps quickly assess what areas to address to improve quality.

Summarizing the Metrics Across Stages

Aggregating these metrics for each stage and process block allows you to see the bigger picture and quantify waste and forecast ROI for making improvements. 

When summarizing the quality metrics, we look not only at individual stages and process blocks but across the full process to understand how quality and lead time compound across the process. For example, if each process block is only 75% complete and accurate, after six stages only 18% of the pieces will have passed through without having quality issues. 

While looking at each step helps key in on specific issues, looking across the full stream helps quantify the actual value delivered and risk for not addressing issues. Just like a sales team is losing potential revenue by letting opportunities sit in qualification, Salesforce development teams are losing potential revenue when they deliver work less frequently or at low qualities. 

Automating the Value Stream Mapping

Mapping metrics to the value stream can be time consuming. When self-reporting, you may encounter inaccurate metrics and you’ll need to survey the team frequently to continually assess progress. 

Tools like Copado Value Stream Maps take the manual work out of delivery management by automatically monitoring and aggregating key metrics.

The benefits of using a value stream map are two fold: 1) You can easily configure your stages and process blocks, adjusting your value stream as needed, and 2) your data becomes a whole lot more accurate. By linking your value stream directly to your agile management data, you can automatically aggregate actuals, not estimates. 

See how Copado Value Stream Maps accelerates your time to value here.

DevOps Resources

Click here to Learn more about DevOps 360.

Book a demo

About The Author

#1 DevOps Platform for Salesforce

We build unstoppable teams by equipping DevOps professionals with the platform, tools and training they need to make release days obsolete. Work smarter, not longer.

Copado Launches Copado Explorer to Simplify and Streamline Testing on Salesforce
Exploring Top Cloud Automation Testing Tools
Master Salesforce DevOps with Copado Robotic Testing
Exploratory Testing vs. Automated Testing: Finding the Right Balance
A Guide to Salesforce Source Control
A Guide to DevOps Branching Strategies
Family Time vs. Mobile App Release Days: Can Test Automation Help Us Have Both?
How to Resolve Salesforce Merge Conflicts: A Guide
Copado Expands Beta Access to CopadoGPT for All Customers, Revolutionizing SaaS DevOps with AI
Is Mobile Test Automation Unnecessarily Hard? A Guide to Simplify Mobile Test Automation
From Silos to Streamlined Development: Tarun’s Tale of DevOps Success
Simplified Scaling: 10 Ways to Grow Your Salesforce Development Practice
What is Salesforce Incident Management?
What Is Automated Salesforce Testing? Choosing the Right Automation Tool for Salesforce
Copado Appoints Seasoned Sales Executive Bob Grewal to Chief Revenue Officer
Business Benefits of DevOps: A Guide
Copado Brings Generative AI to Its DevOps Platform to Improve Software Development for Enterprise SaaS
Celebrating 10 Years of Copado: A Decade of DevOps Evolution and Growth
Copado Celebrates 10 Years of DevOps for Enterprise SaaS Solutions
5 Reasons Why Copado = Less Divorces for Developers
What is DevOps? Build a Successful DevOps Ecosystem with Copado’s Best Practices
Scaling App Development While Meeting Security Standards
5 Data Deploy Features You Don’t Want to Miss
Top 5 Reasons I Choose Copado for Salesforce Development
How to Elevate Customer Experiences with Automated Testing
Getting Started With Value Stream Maps
Copado and nCino Partner to Provide Proven DevOps Tools for Financial Institutions
Unlocking Success with Copado: Mission-Critical Tools for Developers
How Automated Testing Enables DevOps Efficiency
How to Keep Salesforce Sandboxes in Sync
How to Switch from Manual to Automated Testing with Robotic Testing
Best Practices to Prevent Merge Conflicts with Copado 1 Platform
Software Bugs: The Three Causes of Programming Errors
How Does Copado Solve Release Readiness Roadblocks?
Why I Choose Copado Robotic Testing for my Test Automation
How to schedule a Function and Job Template in DevOps: A Step-by-Step Guide
Delivering Quality nCino Experiences with Automated Deployments and Testing
Best Practices Matter for Accelerated Salesforce Release Management
Maximize Your Code Quality, Security and performance with Copado Salesforce Code Analyzer
Upgrade Your Test Automation Game: The Benefits of Switching from Selenium to a More Advanced Platform
Three Takeaways From Copa Community Day
Cloud Native Applications: 5 Characteristics to Look for in the Right Tools
Using Salesforce nCino Architecture for Best Testing Results
How To Develop A Salesforce Testing Strategy For Your Enterprise
What Is Multi Cloud: Key Use Cases and Benefits for Enterprise Settings
5 Steps to Building a Salesforce Center of Excellence for Government Agencies
Salesforce UI testing: Benefits to Staying on Top of Updates
Benefits of UI Test Automation and Why You Should Care
Types of Salesforce Testing and When To Use Them
Copado + DataColada: Enabling CI/CD for Developers Across APAC
What is Salesforce API Testing and It Why Should Be Automated
Machine Learning Models: Adapting Data Patterns With Copado For AI Test Automation
Automated Testing Benefits: The Case For As Little Manual Testing As Possible
Beyond Selenium: Low Code Testing To Maximize Speed and Quality
UI Testing Best Practices: From Implementation to Automation
How Agile Test Automation Helps You Develop Better and Faster
Salesforce Test Cases: Knowing When to Test
DevOps Quality Assurance: Major Pitfalls and Challenges
11 Characteristics of Advanced Persistent Threats (APTs) That Set Them Apart
7 Key Compliance Regulations Relating to Data Storage
7 Ways Digital Transformation Consulting Revolutionizes Your Business
6 Top Cloud Security Trends
API Management Best Practices
Applying a Zero Trust Infrastructure in Kubernetes
Building a Data Pipeline Architecture Based on Best Practices Brings the Biggest Rewards
CI/CD Methodology vs. CI/CD Mentality: How to Meet Your Workflow Goals
DevOps to DevSecOps: How to Build Security into the Development Lifecycle
DevSecOps vs Agile: It’s Not Either/Or
How to Create a Digital Transformation Roadmap to Success
Infrastructure As Code: Overcome the Barriers to Effective Network Automation
Leveraging Compliance Automation Tools to Mitigate Risk
Moving Forward with These CI/CD Best Practices
Top 3 Data Compliance Challenges of Tomorrow and the Solutions You Need Today
Top 6 Cloud Security Management Policies and Procedures to Protect Your Business
What are the Benefits of Principle of Least Privilege (POLP) for My Organization?
You Can’t Measure What You Can’t See: Getting to know the 4 Metrics of Software Delivery Performance
How the Public Sector Can Continue to Accelerate Modernization
Building an Automated Test Framework to Streamline Deployments
How To Implement a Compliance Testing Methodology To Exceed Your Objectives
Cloud Security: Advantages and Disadvantages to Accessibility
Copado Collaborates with IBM to Accelerate Digital Transformation Projects on the Salesforce Platform
Continuous Quality: The missing link to DevOps maturity