Aug 15, 2022 . 2:57pm

Value Stream Optimization in Software Engineering

Today every company in every industry became a software company.

It is not a surprise that the competition now is not expanding to the operational efficiency of digital capability. According to the Google DevOps Research Group that runs the annual DevOps Research and Assessment (DORA), the excellence in software delivery and operational performance drives organizational performance in technology transformations that influence business performance.

XP, DevOps, DevSecOps, SRE, Test Automation, and other engineering practices are the key drivers of operational performance, but how do they impact your time to market and run rate? What you should start from? VS Optima platform helps you to find answers to these questions.

1. Build Current Process Map (Value Stream)

Let’s take a simple example of a software development process.

We recommend gathering representatives of all roles involved in value delivery to create such a map. Look at the flow from the perspective of one change (code, database, configuration, infrastructure, etc)

For each step, it is important to ask for estimated numbers that can be used to explore the dynamic characteristics of the process:

Process time – The time it takes to perform actual work on one item.

Cycle time – How often a step is executed.

Who is executing the activity and what is the number of people involved.

Don’t forget to ask if there is a rework on a specific step and how often it happens.


2. Identify Waste

Run a simulation of the value stream to find what will happen in the dynamic. To do so you need to specify how many business requests the process has.


VSOptima platform supports different distribution types for the process intake: uniform, normal or skewed. It will define how many items will come into the process and how often.

Once you run the simulation you can see aggregated dynamic characteristics of the process.

Process time – the sum of average process times of each step of the process.

Lead time – the average lead time from the beginning of the process to the end.

Activity ratio – Ratio of Process time to the Lead time.

Work in progress – Number of items sitting in the process and not yet released.

Arrived items – Number of items that arrived in the process.

Departed Items – Number of items that existed from the process.

Throughput – The rate at which units move through the process from start to finish.

To identify a bottleneck, use a lead time structure. The process step with the preceding largest queue is the bottleneck that you need to tackle.

3. Find the Optimal Solution

Optimal is a subjective term and will be different for different companies and their situations.

You might want to make this process a little bit agile and combine development and QA steps. It would give you some benefit, but not tremendous since the process has a limited capacity of people to process all arrived items. So you need to hire more people. Also, you can play with cycle time and consider the reduction of the cycle to avoid wait time for the completed item.

So after all these changes, you might end up with another bottleneck. And it is reasonable to address it in the next iteration.


4. Implement Solution and Monitor Effect

Once the decision is made on what to change and what to change to, it is important to trace how the change is implemented and how the flow works.

VSOptima is planned to provide the functionality to enable process observability so that you can make sure that changes you’ve made yield the expected results.

Once you achieve your first change and you have your real value stream map you can explore what is the next step in the process that hinders your operational performance.

Leave a Reply

Your email address will not be published. Required fields are marked *